.win .titlebar{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;background:#e9e9e9;font-size:13px;cursor:move}
.win.active .titlebar{background:#fff}
.win .t-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win .t-btns{display:flex;gap:1px}
.win .t-btns button{width:46px;height:30px;border:0;background:transparent;cursor:pointer;font-size:13px;border-radius:4px}
.win .t-btns button:hover{background:rgba(0,0,0,.08)}
.win .t-btns .close:hover{background:#e81123;color:#fff}
.win .menubar{display:flex;gap:2px;padding:2px 8px;font-size:12px;background:#f9f9f9;border-bottom:1px solid #e5e5e5}
.win .menubar span{padding:3px 8px;border-radius:4px;cursor:pointer}
.win .menubar span:hover{background:#e8e8e8}
.win .win-body{flex:1;overflow:auto;padding:14px;font-size:13.5px;line-height:1.55;background:#fff;user-select:text}
.win .statusbar{padding:5px 12px;font-size:12px;color:#555;background:#f3f3f3;border-top:1px solid #e0e0e0}
.win .resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize}
.win-body h2{font-size:18px;margin-bottom:8px}
.win-body h3{font-size:14px;margin:12px 0 6px}
.win-body p{margin-bottom:8px}
.win-body ul{margin:6px 0 10px 20px}
.win-body table{width:100%;border-collapse:collapse;font-size:13px}
.win-body td,.win-body th{border-bottom:1px solid #eee;padding:6px 4px;text-align:left}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:8px}
.proj{border:1px solid #e2e2e2;border-radius:8px;overflow:hidden;cursor:pointer;background:#fafafa}
.proj:hover{border-color:#0078d4}
.proj .thumb{height:90px;display:flex;align-items:center;justify-content:center;font-size:36px;background:linear-gradient(135deg,#0078d4,#00b7c3);color:#fff}
.proj .p-body{padding:8px;font-size:12px}
.proj .p-body b{display:block;font-size:13px}
.contact-row{display:flex;gap:8px;margin:6px 0}
.contact-row a{color:#0078d4;text-decoration:none}
.btn{background:#0078d4;color:#fff;border:0;border-radius:4px;padding:7px 16px;cursor:pointer;font-size:13px}
.contact-form{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.contact-form h2{margin-bottom:0;font-size:18px;font-weight:600;color:#1a1a1a}
.contact-form p.contact-row{margin:0;gap:8px;color:#444;font-size:13px}
.contact-form input,.contact-form textarea{width:100%;padding:9px 12px;border:1px solid #d1d1d1;border-radius:6px;font:inherit;font-size:13px;background:#fafafa;box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#0078d4;background:#fff;box-shadow:0 0 0 3px rgba(0,120,212,.12)}
.contact-form textarea{min-height:100px;resize:vertical}
.contact-form .btn{align-self:flex-start;background:#0078d4;color:#fff;border:0;border-radius:6px;padding:9px 22px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,transform .15s}
.contact-form .btn:hover{background:#106ebe}
.contact-form .btn:active{transform:scale(.97)}
.contact-form .btn:disabled{opacity:.6;cursor:default}
.contact-form #contact-status{font-size:12px;color:#555;min-height:16px;line-height:1.4}
.contact-form #contact-status.success{color:#107c10}
.contact-form #contact-status.error{color:#d13438}
.note-area{width:100%;min-height:220px;border:0;outline:0;font-family:Consolas,monospace;font-size:13px}
.term{background:#0c0c0c;color:#ccc;font-family:Consolas,monospace;font-size:13px;padding:10px;min-height:220px;white-space:pre-wrap}
.term .prompt{color:#4ec9b0}
.browser-bar{display:flex;gap:6px;margin-bottom:10px}
.browser-bar input{flex:1;border:1px solid #ccc;border-radius:14px;padding:5px 12px;font-size:12px;outline:0}
.calc{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:230px}
.calc .disp{grid-column:1/-1;text-align:right;font-size:22px;padding:8px;border:1px solid #ddd;border-radius:4px;background:#fafafa;min-height:44px}
.calc button{padding:12px;border:1px solid #ddd;background:#f5f5f5;border-radius:4px;cursor:pointer;font-size:15px}
.calc button.eq{background:#0078d4;color:#fff}
