:root{--paper: #f4f3ea;--paper-2: #eceade;--ink: #12211c;--ink-soft: #43544c;--pine: #0f5a4a;--pine-deep: #0a3d33;--copper: #c2683a;--copper-soft: #e0a07e;--sky: #2f6f8f;--mist: #d9ddd0;--line: #c9cebd;--ok: #2f7d5b;--warn: #b8862f;--bad: #b14034;--radius: 10px;--radius-lg: 18px;--shadow: 0 1px 0 var(--line), 0 8px 28px -18px rgba(10, 61, 51, .5);--display: "Space Grotesk", system-ui, sans-serif;--body: "Inter", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--maxw: 1180px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}[dir=rtl]{direction:rtl}a{color:var(--pine);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.05;margin:0 0 .4em;letter-spacing:-.01em}h1{font-size:clamp(2.2rem,5vw,4rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}p{line-height:1.6;color:var(--ink-soft)}.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pine);margin:0 0 .8rem}.mono{font-family:var(--mono)}.muted{color:var(--ink-soft)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-main{flex:1}.conn-rail{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 24px;background:var(--pine-deep);color:var(--paper);border-bottom:1px solid rgba(255,255,255,.08)}.conn-rail .dot{width:8px;height:8px;border-radius:50%;background:var(--copper-soft)}.conn-rail.online .dot{background:#6fd6a8;animation:pulse 2.4s infinite}.conn-rail .spacer{flex:1}@keyframes pulse{0%{box-shadow:0 0 #6fd6a880}70%{box-shadow:0 0 0 7px #6fd6a800}to{box-shadow:0 0 #6fd6a800}}.nav{display:flex;align-items:center;gap:28px;padding:18px 0;border-bottom:1px solid var(--line)}.nav .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--ink)}.nav .brand svg{width:28px;height:28px}.nav .links{display:flex;gap:22px;align-items:center}.nav .links a{color:var(--ink-soft);font-size:.92rem}.nav .links a:hover{color:var(--pine);text-decoration:none}.nav .spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:600;font-size:.92rem;padding:10px 18px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:.15s}.btn-primary{background:var(--pine);color:var(--paper)}.btn-primary:hover{background:var(--pine-deep);text-decoration:none}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--pine);color:var(--pine);text-decoration:none}.btn-copper{background:var(--copper);color:#fff}.btn-copper:hover{background:#a9542c}.btn:focus-visible,a:focus-visible,input:focus-visible,button:focus-visible{outline:2px solid var(--sky);outline-offset:2px}.card{background:#fcfbf5;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow)}.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.hero{padding:72px 0 56px}.hero h1{max-width:14ch}.hero .lede{font-size:1.2rem;max-width:52ch;margin:1rem 0 1.8rem}.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}.tier{display:flex;flex-direction:column;gap:12px}.tier .price{font-family:var(--display);font-size:2.2rem;font-weight:700}.tier .price small{font-family:var(--mono);font-size:.8rem;font-weight:400;color:var(--ink-soft)}.tier.popular{border-color:var(--pine);position:relative}.tier.popular:after{content:"Most teams";position:absolute;top:-11px;right:16px;background:var(--copper);color:#fff;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:20px}.toggle{display:inline-flex;border:1px solid var(--line);border-radius:30px;padding:4px;background:var(--paper-2)}.toggle button{border:none;background:transparent;font-family:var(--mono);font-size:.78rem;padding:6px 16px;border-radius:24px;cursor:pointer;color:var(--ink-soft)}.toggle button.active{background:var(--pine);color:var(--paper)}.editor{display:flex;flex-direction:column;height:calc(100vh - 31px)}.editor-bar{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line);background:#fcfbf5}.editor-bar .title-input{font-family:var(--display);font-weight:600;font-size:1.05rem;border:none;background:transparent;color:var(--ink);width:320px}.editor-bar .tools{display:flex;gap:6px}.editor-bar .tools button{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:6px 10px;cursor:pointer;font-family:var(--mono);font-size:.76rem}.editor-bar .tools button:hover{border-color:var(--pine)}.editor-canvas{flex:1;overflow:auto;padding:32px}.page{background:#fff;max-width:820px;margin:0 auto;min-height:70vh;padding:56px 64px;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.page [contenteditable]{outline:none;min-height:60vh;line-height:1.7}.presence{display:flex;gap:6px;align-items:center}.presence .chip{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--mono);font-size:.7rem;font-weight:600;border:2px solid #fcfbf5}table.sheet{border-collapse:collapse;font-family:var(--mono);font-size:.82rem}table.sheet th,table.sheet td{border:1px solid var(--line);min-width:84px;height:28px;padding:0}table.sheet th{background:var(--paper-2);color:var(--ink-soft);font-weight:500}table.sheet td input{width:100%;height:100%;border:none;background:transparent;padding:0 6px;font-family:var(--mono);font-size:.82rem}table.sheet td input:focus{outline:2px solid var(--pine)}table.sheet td.computed{background:#f3f7f1}.slide-strip{display:flex;gap:10px;padding:12px;overflow-x:auto;border-top:1px solid var(--line);background:#fcfbf5}.slide-thumb{width:132px;height:76px;flex:none;border:1px solid var(--line);border-radius:6px;background:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:.7rem;cursor:pointer}.slide-thumb.active{border-color:var(--pine);box-shadow:0 0 0 2px #0f5a4a33}.slide-stage{flex:1;display:grid;place-items:center;padding:32px}.slide-canvas{width:min(880px,90%);aspect-ratio:16/9;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;place-items:center;text-align:center;padding:40px}.doc-tile{display:flex;flex-direction:column;gap:8px;cursor:pointer}.doc-tile .badge{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:4px;width:fit-content}.badge.doc{background:#e7f0ec;color:var(--pine)}.badge.sheet{background:#eef3e6;color:#4f6b2a}.badge.slide{background:#f6e7da;color:var(--copper)}.consent{position:fixed;bottom:16px;left:16px;right:16px;max-width:720px;margin:0 auto;background:var(--ink);color:var(--paper);padding:16px 20px;border-radius:var(--radius-lg);display:flex;gap:16px;align-items:center;z-index:80;box-shadow:var(--shadow)}.consent p{color:var(--paper);margin:0;font-size:.88rem}.offline-banner{background:var(--copper);color:#fff;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:6px}.help-fab{position:fixed;bottom:22px;right:22px;z-index:70;width:52px;height:52px;border-radius:50%;background:var(--pine);color:var(--paper);border:none;cursor:pointer;font-family:var(--display);font-size:1.3rem;box-shadow:var(--shadow)}.help-fab:hover{background:var(--pine-deep)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a3d3373;display:grid;place-items:center;z-index:90;padding:20px}.modal{background:var(--paper);border-radius:var(--radius-lg);padding:26px;max-width:460px;width:100%;box-shadow:var(--shadow)}label.field{display:block;margin-bottom:14px}label.field span{display:block;font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}input.inp,select.inp,textarea.inp{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fcfbf5;font-family:var(--body);font-size:.95rem}.foot{border-top:1px solid var(--line);padding:36px 0;margin-top:56px;font-size:.88rem}.foot .cols{display:flex;gap:56px;flex-wrap:wrap}.foot a{display:block;color:var(--ink-soft);margin:6px 0}.portal{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 31px)}.portal aside{background:var(--pine-deep);color:var(--paper);padding:22px 16px}.portal aside a{display:block;color:#ffffffc7;padding:9px 12px;border-radius:8px;font-size:.9rem;margin-bottom:2px}.portal aside a.active,.portal aside a:hover{background:#ffffff1a;color:#fff;text-decoration:none}.portal .panel{padding:32px;overflow:auto}.stat{font-family:var(--display);font-size:2rem;font-weight:700}.kvs{font-family:var(--mono);font-size:.82rem;width:100%}.kvs tr td{padding:4px 14px 4px 0;border-bottom:1px dashed var(--line)}@media (max-width: 860px){.grid-3,.grid-4,.grid-2,.portal{grid-template-columns:1fr}.nav .links{display:none}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.format-bar{display:flex;align-items:center;gap:4px;padding:6px 18px;border-bottom:1px solid var(--line);background:#fbfaf4}.format-bar button{border:1px solid var(--line);background:var(--paper);border-radius:7px;min-width:30px;padding:5px 9px;cursor:pointer;font-family:var(--mono);font-size:.76rem;color:var(--ink);line-height:1}.format-bar button:hover{border-color:var(--pine);color:var(--pine)}.format-bar button:active{background:var(--pine);color:#fff;border-color:var(--pine)}.format-bar .fb-sep{width:1px;height:20px;background:var(--line);margin:0 6px}.page [contenteditable] h1{font-family:var(--display);font-size:1.7rem;margin:.6em 0 .3em;color:var(--ink)}.page [contenteditable] h2{font-family:var(--display);font-size:1.3rem;margin:.6em 0 .3em;color:var(--ink)}.page [contenteditable] ul,.page [contenteditable] ol{margin:.4em 0 .4em 1.4em}.page [contenteditable] li{margin:.15em 0}.page [contenteditable] p{margin:0 0 .6em}.format-bar .fb-color{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:7px;padding:3px 6px;cursor:pointer;font-family:var(--mono);font-size:.76rem}.format-bar .fb-color:hover{border-color:var(--pine)}.format-bar .fb-color input[type=color]{width:18px;height:18px;border:none;background:none;padding:0;cursor:pointer}.page .tt-content mark{border-radius:2px;padding:0 1px}.format-bar .fb-select{border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:5px 6px;font-family:var(--mono);font-size:.72rem;color:var(--ink);cursor:pointer}.format-bar .fb-select:hover{border-color:var(--pine)}.page .tt-content table{border-collapse:collapse;margin:12px 0;width:100%;table-layout:fixed}.page .tt-content th,.page .tt-content td{border:1px solid var(--line, #c9cec9);padding:6px 8px;vertical-align:top;position:relative}.page .tt-content th{background:#eaf1ee;font-weight:600;text-align:left}.page .tt-content .selectedCell:after{background:#0f5a4a14;content:"";left:0;right:0;top:0;bottom:0;position:absolute;pointer-events:none}.page .tt-content hr.page-break{border:none;border-top:2px dashed var(--copper, #b5713a);margin:20px 0;position:relative}.page .tt-content hr.page-break:after{content:"Page break";position:absolute;right:0;top:-9px;background:var(--paper, #fff);padding:0 6px;font-family:var(--mono);font-size:.62rem;color:var(--copper, #b5713a);letter-spacing:.1em}.page .tt-content ul[data-type=taskList]{list-style:none;padding-left:0}.page .tt-content ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px;margin:.2em 0}.page .tt-content ul[data-type=taskList] li>label{margin-top:3px}.page .tt-content ul[data-type=taskList] li>div{flex:1}.page .tt-content ul[data-type=taskList] li>div p{margin:0}.find-bar{display:flex;align-items:center;gap:6px;padding:8px 18px;border-bottom:1px solid var(--line);background:#fdfbf4;flex-wrap:wrap}.find-bar .inp{padding:5px 8px;font-size:.8rem;width:180px}.find-bar button{border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:5px 9px;cursor:pointer;font-family:var(--mono);font-size:.76rem}.find-bar button:hover{border-color:var(--pine)}.page .tt-content .search-hit{background:#fde68a;border-radius:2px}.page .tt-content .search-cur{background:#f59e0b;color:#1a1a1a;border-radius:2px}.editor-body{display:flex;flex:1;overflow:hidden}.editor-body .editor-canvas{flex:1}.comment-mark{background:#f59e0b2e;border-bottom:2px solid #f59e0b;cursor:pointer}.comment-mark[data-resolved=true]{background:transparent;border-bottom:1px dotted #bbb}.comments-panel{width:300px;border-left:1px solid var(--line);background:#fcfbf5;padding:12px 14px;overflow-y:auto}.comments-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.comments-head button{border:none;background:none;cursor:pointer;font-size:1rem;color:var(--muted)}.comment-thread{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:10px;background:var(--paper)}.comment-thread.resolved{opacity:.6}.comment-quote{font-size:.74rem;color:var(--copper);border-left:2px solid var(--copper);padding-left:6px;margin-bottom:6px;cursor:pointer}.comment-row{font-size:.82rem;margin:4px 0}.comment-row.reply{margin-left:12px;padding-left:8px;border-left:1px solid var(--line)}.comment-author{font-weight:600;margin-right:6px}.comment-actions{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.comment-actions .inp{flex:1;min-width:100px;padding:4px 6px;font-size:.76rem}.comment-actions button{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:4px 8px;cursor:pointer;font-family:var(--mono);font-size:.72rem}.comment-actions button:hover{border-color:var(--pine)}.page .tt-content ins.track-ins{text-decoration:none;color:#1d7a4d;border-bottom:1px solid #1d7a4d;background:#1d7a4d14}.page .tt-content del.track-del{color:#c0392b;text-decoration:line-through;background:#c0392b14}.editor-bar .tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.editor-bar .tools button{white-space:nowrap;flex:0 0 auto}.format-bar{flex-wrap:wrap;row-gap:6px}.format-bar button,.format-bar .fb-select,.format-bar .fb-color{white-space:nowrap;flex:0 0 auto}.format-bar .fb-sep{flex:0 0 auto}.format-bar>.fb-group{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:#0f5a4a0a;border-radius:8px}.slides-body{display:flex;flex:1;overflow:hidden}.slide-stage{flex:1;display:flex;flex-direction:column;align-items:center;padding:28px;overflow:auto}.slide-canvas{width:100%;max-width:860px;aspect-ratio:16 / 9;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;padding:48px}.slide-notes{width:100%;max-width:860px;margin-top:14px}.slide-notes textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:.9rem;background:#fcfbf5}.slide-strip-side{width:210px;border-left:1px solid var(--line);background:#fcfbf5;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.slide-thumb-card{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--paper);cursor:pointer;font-size:.82rem}.slide-thumb-card:hover{border-color:var(--pine)}.slide-thumb-card.active{border-color:var(--pine);box-shadow:0 0 0 2px #0f5a4a26}.slide-thumb-num{font-family:var(--mono);font-size:.72rem;color:var(--muted);min-width:16px}.slide-thumb-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slide-add-btn{border:1px dashed var(--line);border-radius:8px;padding:8px;background:transparent;cursor:pointer;font-family:var(--mono);font-size:.76rem;color:var(--pine)}.slide-add-btn:hover{border-color:var(--pine)}.formula-bar{display:flex;align-items:center;gap:8px;padding:6px 18px;border-bottom:1px solid var(--line);background:#fbfaf4}.formula-bar .cell-ref{min-width:48px;text-align:center;font-size:.78rem;color:var(--pine);border:1px solid var(--line);border-radius:6px;padding:3px 6px;background:var(--paper)}.formula-bar .formula-input{flex:1;border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-family:var(--mono);font-size:.82rem}.formula-bar .formula-input:focus{outline:none;border-color:var(--pine)}.sheet th.sel-head{background:#0f5a4a24;color:var(--pine)}.sheet td.sel-cell input{outline:2px solid var(--pine);outline-offset:-2px;border-radius:2px}.grid-2>*,.grid-3>*,.grid-4>*,.portal>*{min-width:0}@media (max-width: 860px){.nav{flex-wrap:wrap;gap:10px 14px}.nav .links{display:flex!important;flex-wrap:wrap;gap:4px 18px;order:3;width:100%}.nav .links a{display:inline-flex;align-items:center;min-height:32px}.nav .spacer{display:none}.nav select{width:auto!important;flex:1 1 120px;min-width:0;min-height:36px;margin-left:0!important}.nav .btn{margin-left:0!important}.wrap{padding-left:16px!important;padding-right:16px!important}table{display:block;max-width:100%;overflow-x:auto}[style*=grid-template-columns]{min-width:0}}.app-main{min-width:0}@media (max-width: 860px){.toggle{flex-wrap:wrap;max-width:100%}.app-main [style*="min-width: 240"]{min-width:0!important}}.app-shell>.wrap{width:100%;box-sizing:border-box}@media (max-width: 860px){.app-main span[style*=nowrap]{white-space:normal!important}}@media (max-width: 860px){.app-main h1[style*="flex: 1"]{flex-basis:100%!important}}
