:root{color-scheme:dark;--bg:#0b0d11;--panel:#13161c;--panel2:#1a1e25;--line:#ffffff14;--ink:#f4f1e9;--muted:#93969f;--accent:#d7b978;--accentSoft:#d7b97818;--cell:#171b22;--cellInk:#e5e8ed;--shadow:0 24px 80px #0004;font-family:Inter,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:transparent;border-radius:9px;padding:9px 12px;transition:background .18s,transform .18s}button:hover{background:var(--accentSoft)}button:active{transform:translateY(1px)}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,textarea{color:var(--ink);background:transparent;border:0;outline:0}input::placeholder{color:var(--muted)}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:700;color:var(--accent)}.primary{background:var(--accent);color:#181713;font-weight:700;border:0;padding:14px 22px}.primary:hover{background:#ead198}.primary span{margin-left:18px}.subtle{font-size:11px;color:var(--muted);border:0}.theme-switch{display:flex;align-items:center;gap:12px;border:0;font-size:13px}.icon-btn{border:0;padding:7px;font-size:20px}.login{min-height:100vh;max-width:1500px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:7vh 8vw;overflow:hidden}.login-copy{z-index:2}.login h1{font-size:clamp(42px,4.6vw,76px);line-height:1.08;letter-spacing:-3px;font-weight:500;margin:45px 0 25px}.login h1 span{color:var(--accent)}.login p{font-size:17px;line-height:1.8;color:var(--muted)}#loginForm{margin:48px 0 24px;max-width:440px}#loginForm label{display:block;font-size:12px;margin-bottom:12px;color:var(--muted)}.input-row{display:flex;gap:10px}.input-row input{width:100%;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:15px}.input-row .primary{white-space:nowrap}#loginError{font-size:13px;color:#e77b7b;min-height:20px;margin-top:14px}.login-art{position:relative;height:80vh;min-height:480px;display:flex;align-items:center;justify-content:center}.login-art>img{width:100%;height:95%;object-fit:contain;position:relative;filter:drop-shadow(0 20px 35px #0005)}.orb{position:absolute;width:85%;aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse,#c4a26125,transparent 70%);border:1px solid #d7b97820;box-shadow:0 0 100px #d7b97809}.art-caption{position:absolute;bottom:5%;font-size:9px;letter-spacing:3px;color:var(--muted)}.art-caption i{color:var(--accent);margin-left:20px}.hero-light{display:none!important}#workspace{height:100dvh;display:flex;overflow:hidden}aside{width:246px;flex-shrink:0;padding:32px 20px 14px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel)}.brand{display:flex;align-items:center;font-size:31px;letter-spacing:-2px;font-weight:700;margin-bottom:43px}.brand>span:first-child{font-weight:400;color:var(--accent)}.brand-line{width:1px;height:29px;background:var(--line);margin:0 15px}.brand small{font-size:9px;line-height:1.6;letter-spacing:2px;font-weight:500}.nav-label{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-bottom:16px}.search{display:flex;gap:7px;align-items:center;background:var(--panel2);border:1px solid var(--line);padding:9px 11px;border-radius:9px}.search span{font-size:22px;color:var(--muted)}.search input{width:100%;font-size:12px}.filters{display:flex;margin:16px 0 12px;gap:4px}.filters button{font-size:11px;padding:7px 12px;border:0;color:var(--muted)}.filters .active{background:var(--accentSoft);color:var(--accent)}#sheetList{overflow:auto;min-height:100px;flex:1;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.sheet-item{width:100%;display:flex;align-items:center;gap:10px;padding:11px 9px;text-align:left;border:0;border-radius:8px;font-size:12px;margin:2px 0;color:var(--muted)}.sheet-item.active{color:var(--accent);background:var(--accentSoft)}.sheet-item .sheet-icon{font-size:17px;opacity:.65}.sheet-item span:nth-child(2){flex:1}.sheet-item small{font-size:9px;opacity:.7}.nav-group{font-size:9px;letter-spacing:1.6px;margin:20px 9px 7px;color:var(--muted)}.sidebar-bottom{padding-top:12px}.mini-art{position:relative;height:105px;overflow:hidden;background:linear-gradient(100deg,var(--accentSoft),transparent);border:1px solid var(--line);border-radius:12px;margin-bottom:13px}.mini-art img{height:157px;position:absolute;right:-5px;top:0}.mini-art div{font-size:11px;line-height:1.8;padding:26px 12px;position:relative}.mini-art b{font-weight:500;color:var(--accent)}.sidebar-bottom .theme-switch{width:100%;font-size:12px}.sidebar-bottom .subtle{padding-left:12px;margin-top:5px}main{flex:1;min-width:0;display:flex;flex-direction:column;padding:30px 30px 20px;background:radial-gradient(ellipse at 100% 0%,#d7b97807,transparent 45%)}header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:25px}header h2{margin:10px 0 7px;font-size:28px;letter-spacing:-.8px;font-weight:500}header p{font-size:11px;color:var(--muted);margin:0}.header-actions{display:flex;align-items:flex-end;flex-direction:column;gap:14px}.header-actions #saveStatus{font-size:11px;color:#91b39a}.header-actions #saveStatus.error{color:#e48e78}.header-actions #saveStatus.pending{color:var(--accent)}#menu{display:none}.work-card{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-bottom:1px solid var(--line)}.tool-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.tool-group button{border:0;padding:6px 9px;font-size:17px}.tool-group button span{font-size:11px;margin-left:4px}.divider{height:18px;width:1px;background:var(--line);margin:0 7px}.cell-search{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:18px}.cell-search input{width:140px;font-size:11px}.cell-search button{padding:3px 7px;border:0}#zoomLabel{font-size:10px;color:var(--muted);width:36px;text-align:center}.formula-bar{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);height:40px;flex-shrink:0;font-size:12px}.formula-bar #address{width:72px;text-align:center;border-right:1px solid var(--line);height:100%;font-weight:700;color:var(--accent)}.formula-bar>span{font-family:Georgia,serif;font-style:italic;font-size:18px;color:var(--muted)}#formulaInput{flex:1;min-width:0;font-size:12px}#applyFormula{border:0;margin-right:6px;padding:3px 10px;color:var(--accent)}#grid{flex:1;min-height:0;position:relative;overflow:auto;background:var(--cell);outline:0;scrollbar-color:#70768155 transparent;scrollbar-width:thin;overscroll-behavior:contain}#canvas{position:relative;transform-origin:0 0}.cell{position:absolute;display:flex;align-items:center;background:var(--cell);color:var(--cellInk);border-right:1px solid #8b91972b;border-bottom:1px solid #8b91972b;padding:3px 5px;font:12px Arial,sans-serif;overflow:hidden;cursor:cell;user-select:none;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.18}.cell-content{width:100%;max-height:100%;overflow:hidden}.cell.selected{outline:2px solid #cfab58;outline-offset:-2px;z-index:7!important}.cell.in-range{box-shadow:inset 0 0 0 999px #cbb66d24}.cell.has-note:after{content:'';position:absolute;right:1px;top:1px;border-left:6px solid transparent;border-top:6px solid #b74364}.cell.has-link .cell-content{text-decoration:underline;text-underline-offset:2px}.cell.edited:before{content:'';position:absolute;bottom:2px;right:2px;width:4px;height:4px;border-radius:50%;background:#5b9e73}.col-head,.row-head,.corner{position:absolute;display:flex;align-items:center;justify-content:center;background:var(--panel2);color:var(--muted);font-size:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);z-index:20;user-select:none}.corner{z-index:40;color:var(--accent)}.row-head{z-index:25}.col-head{z-index:30}.cell.frozen{z-index:10;box-shadow:3px 0 5px #0001}.cell.found{outline:3px solid #48a9c5;outline-offset:-3px}footer{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}#selectionInfo{color:var(--accent)}#loading{position:sticky;top:40%;left:40%;padding:20px;width:220px;background:var(--panel);border-radius:10px;box-shadow:var(--shadow)}#notice{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:620px;padding:14px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);box-shadow:var(--shadow);font-size:13px;z-index:60}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:28px;width:min(600px,92vw);box-shadow:var(--shadow)}dialog::backdrop{background:#03060ca8;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}dialog h3{font-size:23px;font-weight:500;margin:10px 0 20px}dialog textarea{background:var(--cell);border:1px solid var(--line);border-radius:10px;padding:15px;resize:vertical;width:100%;min-height:150px;line-height:1.6;font-size:14px}.dialog-actions{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.dialog-actions small{color:var(--muted);font-size:11px}#cellDetails{font-size:12px;line-height:1.6;color:var(--muted);white-space:pre-wrap;max-height:160px;overflow:auto;margin-top:12px}#cellDetails a{color:var(--accent);text-decoration:underline}#conflict pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;color:var(--muted);font:12px Arial}#conflict p{line-height:1.6;font-size:13px}
[data-theme=light]{color-scheme:light;--bg:#edf1f7;--panel:#ffffffb8;--panel2:#eaf0f6c2;--line:#46516e16;--ink:#243149;--muted:#7b879b;--accent:#7476ac;--accentSoft:#9297c81c;--cell:#ffffff;--cellInk:#243149;--shadow:0 20px 60px #6a7da315}[data-theme=light]body{background:radial-gradient(ellipse at 80% 10%,#e7dff4,transparent 50%),radial-gradient(ellipse at 20% 80%,#d9ecee,transparent 55%),var(--bg)}[data-theme=light] .hero-light{display:block!important}[data-theme=light] .hero-dark{display:none!important}[data-theme=light] aside,[data-theme=light] .work-card{backdrop-filter:blur(22px)}[data-theme=light] .primary{background:#7b80ae;color:white}[data-theme=light] .primary:hover{background:#696e9e}[data-theme=light] main{background:transparent}[data-theme=light] .orb{background:radial-gradient(ellipse,#d2daee80,transparent 70%);border-color:#fff9;box-shadow:0 0 100px #bbcadd44}[data-theme=light] .login-art>img{filter:drop-shadow(0 20px 35px #7d8fa42a)}[data-theme=light] .cell.selected{outline-color:#8077bd}[data-theme=light] .header-actions #saveStatus{color:#5c8977}
@media(max-width:1100px){aside{width:215px;padding:24px 14px 12px}main{padding:24px 18px 15px}.keyboard-hint{display:none}.toolbar{padding:9px}.tool-group button span{display:none}.header-actions .download{font-size:10px}}@media(max-width:780px){aside{position:fixed;top:0;bottom:0;left:0;z-index:90;width:260px;transform:translateX(-100%);transition:transform .2s;background:var(--bg)}aside.open{transform:translateX(0);box-shadow:20px 0 50px #0006}#menu{display:inline-block;margin-right:8px}main{padding:16px 10px 10px}header{margin-bottom:16px}header h2{font-size:23px}header .eyebrow{font-size:8px;letter-spacing:1px}.header-actions{gap:10px}.header-actions #saveStatus{font-size:9px}.cell-search input{width:90px}.toolbar{gap:0}.tool-group button{padding:5px}.divider{margin:0 3px}.login{padding:8vh 7vw;display:block}.login-copy{position:relative}.login h1{font-size:45px;letter-spacing:-2px}.login-art{position:absolute;right:0;top:5vh;opacity:.17;width:70vw;height:90vh;pointer-events:none}.login-art .art-caption{display:none}.login-copy p{color:var(--ink)}#loginForm{max-width:450px}.mini-art{height:90px}footer{font-size:9px;gap:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.col-head,.row-head,.corner{background:#1a1e25}[data-theme=light] .col-head,[data-theme=light] .row-head,[data-theme=light] .corner{background:#eaf0f6}


@media(prefers-reduced-motion:no-preference){body,aside,main,.work-card,.toolbar,.formula-bar{transition:background-color .22s ease,color .22s ease,border-color .22s ease}}
