:root{--bg:#f5f1e8;--paper:#faf7f0;--ink:#1a1714;--ink-soft:#5c554b;--rule:#1a17141f;--accent:#a67c4d;--accent-dark:#8a6238;--signal:#4a3f8f;--font-display:"Instrument Serif", "Georgia", serif;--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"Geist Mono", "Courier New", monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-lg:16px;--text-xl:18px;--text-2xl:28px;--text-3xl:36px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}a{color:var(--accent-dark)}.page{max-width:56rem;padding:var(--space-xl) var(--space-lg) var(--space-2xl);margin:0 auto}.page-header{justify-content:space-between;align-items:baseline;gap:var(--space-md);border-bottom:1px solid var(--rule);padding-bottom:var(--space-md);margin-bottom:var(--space-xl);display:flex}.brand{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:.01em;line-height:1}.brand .accent{color:var(--accent-dark)}.user-email{color:var(--ink-soft);font-size:var(--text-sm)}.user-email a{margin-left:var(--space-sm)}.signin{margin-top:var(--space-2xl);text-align:center}.signin h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-3xl);margin:0 0 var(--space-sm)}.signin p{color:var(--ink-soft);margin:0 0 var(--space-xl)}.btn{appearance:none;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);padding:var(--space-sm) var(--space-lg);cursor:pointer;text-decoration:none;display:inline-block}.btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn[disabled]{opacity:.5;cursor:default}.btn-primary{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.btn-primary:hover{background:var(--ink);border-color:var(--ink)}.btn-danger{background:var(--paper);color:#8f2f2f;border-color:#8f2f2f}.btn-danger:hover{color:#fff;background:#8f2f2f;border-color:#8f2f2f}.rotate-note{background:var(--paper);color:#8f2f2f;padding:var(--space-md);margin:0 0 var(--space-lg);font-size:var(--text-base);border:1px solid #8f2f2f}.rotate-note .copy-btn{margin-left:var(--space-sm)}.modal-backdrop{z-index:10;background:#1a171480;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border:1px solid var(--ink);max-width:28rem;width:calc(100% - var(--space-xl));padding:var(--space-lg);box-shadow:0 8px 32px #1a171440}.modal h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);margin:0 0 var(--space-sm)}.modal p{color:var(--ink-soft);margin:0 0 var(--space-lg)}.modal-actions{gap:var(--space-md);justify-content:flex-end;display:flex}.windows{background:var(--paper);border:1px solid var(--rule);padding:var(--space-lg);margin:var(--space-lg) 0 var(--space-md)}.windows h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);margin:0 0 var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--rule)}.windows-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.window-card{border:1px solid var(--rule);background:#fff;flex-direction:column;min-width:0;display:flex}.window-head{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;display:flex}.window-label{font-weight:600;font-size:var(--text-sm)}.window-iframe{aspect-ratio:16/9;background:#111;border:0;width:100%}.window-foot{padding:var(--space-xs) var(--space-md);border-top:1px solid var(--rule);font-size:var(--text-xs)}.actions{gap:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.result{margin-top:var(--space-xl)}.result section{background:var(--paper);border:1px solid var(--rule);padding:var(--space-lg);margin-bottom:var(--space-md)}.result h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);margin:0 0 var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--rule)}.result h3{font-size:var(--text-lg);margin:var(--space-md) 0 var(--space-sm)}.link-row{align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--rule);display:flex}.link-label{font-weight:600;font-size:var(--text-sm);flex:0 0 11rem}.link-value{font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all;flex:1}.link-row a{text-decoration:none}.link-row a:hover{text-decoration:underline}.copy-btn,.download-btn{font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm);border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:0 0;flex-shrink:0}.copy-btn:hover,.download-btn:hover{border-color:var(--ink);color:var(--ink)}.copy-btn.copied{color:var(--accent-dark);border-color:var(--accent-dark)}.warning{color:var(--ink-soft);font-size:var(--text-sm);padding:var(--space-xs) 0 var(--space-sm);border-bottom:1px solid var(--rule);margin:0;font-style:italic}.warning .warn-star{color:var(--accent-dark);font-style:normal}.credentials{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--paper);border:1px solid var(--rule);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.error{color:#8f2f2f;margin-top:var(--space-lg)}.hint{color:var(--ink-soft);font-size:var(--text-sm);margin-top:var(--space-md)}
