.shell{background:var(--page);height:100svh;display:flex;flex-direction:column;padding:0 10px 10px}.app-header,.app-brand,.header-actions{display:flex;align-items:center;gap:12px}.app-header{height:48px;flex-shrink:0;justify-content:space-between}.app-brand{gap:8px}.header-actions{gap:6px}.brand-button{display:grid;place-items:center;width:38px;height:38px;padding:4px;border:1px solid transparent;background:transparent}.brand-button:hover{border-color:var(--line-strong);background:var(--hover)}.brand-button img{width:28px;height:28px}.shortcut-hint{color:var(--ink-soft);font:500 .72rem var(--mono);letter-spacing:.04em;white-space:nowrap}.header-icon{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid transparent;background:transparent;color:var(--ink)}.header-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.header-icon:hover{border-color:var(--line-strong);background:var(--hover)}.header-icon[aria-pressed=true],.header-icon[aria-expanded=true]{border-color:var(--ink);background:var(--gold);color:var(--on-gold);box-shadow:3px 3px 0 var(--shadow)}.header-icon-primary{background:var(--green);color:var(--on-accent);box-shadow:4px 4px 0 var(--shadow)}.header-icon-primary:hover{background:var(--green-dark)}.panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);background:var(--surface)}.muted{color:var(--ink-soft)}.small{font-size:.82rem}.shell .button{min-height:42px;padding:.55rem 1rem}.shell .button-secondary{width:auto}.board{height:100%;overflow:auto;padding:28px;display:flex;flex-direction:column}.project-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}.chip{min-height:32px;padding:0 12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:700 .8rem var(--display)}.chip[aria-pressed=true]{border-color:var(--ink);background:var(--gold);color:var(--on-gold)}.board-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.board-heading h1{margin:0 0 4px;font-size:1.9rem;letter-spacing:-.04em}.board-heading p{margin:0}.board-actions{display:flex;flex-wrap:wrap;gap:12px}.board-intro{margin:0 0 20px}.columns{display:grid;grid-template-columns:repeat(4,minmax(165px,1fr));gap:16px;flex:1;min-height:360px}.column{display:flex;flex-direction:column;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.column h2{display:flex;align-items:center;gap:10px;margin:0;padding-bottom:12px;border-bottom:1px solid var(--border);font:700 .95rem var(--display)}.column h2 span{color:var(--ink-soft);font:500 .72rem var(--mono)}.column-items{flex:1;padding-top:12px}.page{flex:1;min-height:0;overflow:auto;padding:28px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:960px}.page-header h2{margin:0;font:600 1.5rem var(--display);letter-spacing:-.03em}.empty{display:grid;justify-items:center;gap:8px;padding:64px 16px;text-align:center}.empty h3{margin:0;font:700 1.05rem var(--display)}.empty p{margin:0}.chat-backdrop{--chat-top: clamp(24px, 9vh, 96px);position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-start;justify-content:center;padding:var(--chat-top) 24px 24px;background:var(--overlay)}.chat{width:min(700px,100%);border:1px solid var(--ink);background:var(--paper);box-shadow:10px 10px 0 var(--shadow);animation:summon .16s ease-out}.composer{display:flex;align-items:flex-end;gap:16px;margin:0 24px;padding:18px 0 8px}.composer textarea{flex:1;min-width:0;min-height:48px;max-height:112px;padding:8px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--ink);font:600 1.15rem var(--font);resize:none;outline:none;cursor:text}.composer textarea:focus{border-bottom-color:var(--green)}.composer textarea::placeholder{color:var(--placeholder)}.composer-send{display:grid;place-items:center;flex:0 0 38px;height:38px;margin-bottom:6px;padding:0;border:0;background:var(--green);color:var(--on-accent);box-shadow:3px 3px 0 var(--shadow)}.composer-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.composer-send:disabled{background:var(--line);color:var(--ink-soft);box-shadow:none;cursor:default}.composer-footer{margin:0;padding:0 20px 14px;color:var(--ink-soft);font:500 .7rem var(--mono);text-align:center}@keyframes summon{0%{opacity:0;transform:translateY(-6px) scale(.99)}to{opacity:1;transform:none}}@media(max-width:1050px){.columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.shell{padding-inline:6px;padding-bottom:6px}.board,.page{padding:20px 16px}.columns{grid-template-columns:minmax(0,1fr)}.columns{flex:none;min-height:0}.column-items{min-height:60px}.chat-backdrop{--chat-top: 24px;padding-inline:12px}.composer{margin-inline:18px}}.panel,.chat{border-radius:14px}.brand-button,.header-icon,.shell .button,.chip,.composer-send{border-radius:8px}.menu-anchor{position:relative}.menu{position:absolute;z-index:30;top:calc(100% + 4px);right:0;width:290px;max-width:calc(100vw - 12px);margin:0;padding:3px;list-style:none;border:1px solid var(--border);background:var(--surface);box-shadow:3px 3px 0 var(--shadow);color:var(--ink);font:600 .84rem var(--font)}.menu-item{display:grid;grid-template-columns:24px 1fr 16px;align-items:center;width:100%;min-height:30px;padding:0 6px 0 2px;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.menu-item:hover,.menu-item:focus-visible{outline:none;background:var(--gold);color:var(--on-gold)}.menu-caption{padding:7px 8px 7px 26px;color:var(--ink-soft);font:500 .72rem var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-sep{height:1px;margin:3px 4px 3px 26px;background:var(--line-strong)}.menu-row{display:grid;gap:7px;padding:6px 8px 9px 26px}.menu-row-label{color:var(--ink)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.segment{min-height:30px;padding:0 8px;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:var(--ink);font:700 .78rem var(--display)}.segment:hover{background:var(--hover)}.segment:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.segment[aria-checked=true]{border-color:var(--ink);background:var(--gold);color:var(--on-gold);box-shadow:2px 2px 0 var(--shadow)}.confirm{width:min(380px,calc(100vw - 32px));padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:6px 6px 0 var(--shadow)}.confirm::backdrop{background:var(--overlay)}.confirm[open]{animation:summon .16s ease-out}.confirm h2{margin:0 0 8px;font:700 1.15rem var(--display);letter-spacing:-.02em}.confirm p{margin:0 0 22px;overflow-wrap:anywhere}.confirm-actions{display:flex;justify-content:flex-end;gap:12px}.confirm .button{min-height:40px;padding:.5rem 1.1rem;border-radius:8px}.confirm .button-secondary{width:auto}:root{color-scheme:light;--accent: #e88a00;--black: #050505;--ink: #351205;--ink-soft: rgba(65, 25, 6, .74);--butter: #fff0a8;--gold: #ffd45a;--green: #167a4b;--green-dark: #0e6840;--error: #8d2f1c;--line: rgba(65, 25, 6, .16);--line-strong: rgba(65, 25, 6, .3);--paper: rgba(255, 253, 248, .98);--field: #fffaf0;--surface: #ffffff;--page: #ffffff;--border: rgba(53, 18, 5, .6);--shadow: var(--ink);--shadow-soft: rgba(53, 18, 5, .22);--hover: rgba(255, 212, 90, .45);--placeholder: rgba(65, 25, 6, .38);--overlay: rgba(53, 18, 5, .08);--on-accent: #fffdf2;--on-gold: #351205;--font: "Quicksand", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--display: "Satoshi", "General Sans", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--mono: "DM Mono", Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ink: #f4ead7;--ink-soft: rgba(244, 234, 215, .68);--butter: #2a231d;--error: #ff9b80;--line: rgba(244, 234, 215, .14);--line-strong: rgba(244, 234, 215, .28);--paper: #342b24;--field: #2a231d;--surface: #342b24;--page: #2a231d;--border: rgba(244, 234, 215, .42);--shadow: #050403;--shadow-soft: rgba(0, 0, 0, .5);--hover: rgba(255, 212, 90, .14);--placeholder: rgba(244, 234, 215, .35);--overlay: rgba(0, 0, 0, .45)}}:root[data-theme=dark]{color-scheme:dark;--ink: #f4ead7;--ink-soft: rgba(244, 234, 215, .68);--butter: #2a231d;--error: #ff9b80;--line: rgba(244, 234, 215, .14);--line-strong: rgba(244, 234, 215, .28);--paper: #342b24;--field: #2a231d;--surface: #342b24;--page: #2a231d;--border: rgba(244, 234, 215, .42);--shadow: #050403;--shadow-soft: rgba(0, 0, 0, .5);--hover: rgba(255, 212, 90, .14);--placeholder: rgba(244, 234, 215, .35);--overlay: rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body{height:100%}body{min-width:320px;margin:0;background:var(--butter);color:var(--ink);font-family:var(--font);font-weight:500;cursor:url(/brand/excel-cross-cursor.svg) 10 10,crosshair;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}a{color:inherit;text-decoration:none}button,a,input{cursor:pointer}input[type=email],input[type=text]{cursor:text}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,p{margin-top:0}#app{display:flex;flex-direction:column;min-height:100svh}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:0 clamp(1rem,4vw,3.5rem)}.brand{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--display);font-size:1.05rem;font-weight:600}.brand img{width:1.85rem;height:1.85rem}.stage{flex:1;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:1.5rem 1rem 4.5rem}.card{width:min(460px,100%);padding:2rem;border:1px solid var(--line-strong);background:var(--paper);box-shadow:12px 12px 0 var(--shadow),0 32px 90px var(--shadow-soft);animation:cardIn .32s cubic-bezier(.16,1,.3,1)}.card-loading{display:grid;place-items:center;min-height:360px}@keyframes cardIn{0%{opacity:0;transform:translateY(10px) rotate(-.4deg)}to{opacity:1;transform:none}}.cell-label{margin:0 0 2.25rem;color:var(--ink-soft);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}h1{margin:0 0 .8rem;font-family:var(--display);font-size:clamp(2.5rem,9vw,3.6rem);font-weight:600;letter-spacing:-.055em;line-height:.95}.lede{margin:0 0 1.8rem;color:var(--ink-soft);line-height:1.55;overflow-wrap:anywhere}.lede strong{color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;padding:.9rem 1.2rem .9rem 1.35rem;border:0;font-family:var(--display);font-size:.94rem;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover:not(:disabled){transform:translateY(-2px)}.button-primary{background:var(--green);color:var(--on-accent);box-shadow:5px 5px 0 var(--shadow)}.button-primary:hover:not(:disabled){background:var(--green-dark);box-shadow:7px 7px 0 var(--shadow)}.button-secondary{width:100%;justify-content:center;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);box-shadow:5px 5px 0 var(--shadow)}.button:disabled{cursor:wait;opacity:.72}.google-button{display:flex;align-items:center;justify-content:center;gap:.7rem;width:100%;min-height:54px;padding:0 1rem;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);box-shadow:5px 5px 0 var(--shadow);font:700 .94rem var(--display);transition:transform .16s ease,box-shadow .16s ease}.google-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:7px 7px 0 var(--shadow)}.google-button:disabled{cursor:wait;opacity:.72}.divider{display:flex;align-items:center;gap:.9rem;margin:1.7rem 0 1.4rem;color:var(--ink-soft);font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.access-form{display:grid}.access-form label{margin-bottom:.5rem;font-family:var(--display);font-size:.76rem;font-weight:700}.access-form input{width:100%;min-height:56px;padding:0 1rem;border:1px solid var(--line-strong);border-radius:0;background:var(--field);color:var(--ink);font:600 1rem var(--font);outline:none}.access-form input:focus{border-color:var(--green);box-shadow:inset 4px 0 0 var(--green)}.access-form input[aria-invalid=true]{border-color:var(--error);box-shadow:inset 4px 0 0 var(--error)}.access-form input::placeholder{color:var(--placeholder)}.code-input{font-family:var(--mono)!important;font-size:1.6rem!important;letter-spacing:.5em;text-align:center;padding-left:1.5rem!important}.field-error{min-height:1.25rem;margin:.4rem 0 .7rem;color:var(--error);font-size:.74rem;font-weight:700}.access-submit{width:100%}.code-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.3rem;flex-wrap:wrap}.text-button{padding:.25rem 0;border:0;border-bottom:1px solid var(--line-strong);background:none;color:var(--ink);font:700 .78rem var(--display)}.text-button:hover:not(:disabled){border-color:var(--ink)}.text-button:disabled{color:var(--ink-soft);border-color:transparent;cursor:default}.fine-print{margin:1.8rem 0 0;color:var(--ink-soft);font-size:.72rem;font-weight:700;text-align:center}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:520px){.card{padding:1.5rem 1.25rem;box-shadow:8px 8px 0 var(--shadow),0 24px 60px var(--shadow-soft)}.cell-label{margin-bottom:1.6rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
