.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;display:grid;grid-template-columns:1fr auto 1fr}.crumbs{display:flex;align-items:center;gap:8px;min-width:0;font:700 .95rem var(--display);color:var(--ink);white-space:nowrap}.crumbs [aria-current]{overflow:hidden;text-overflow:ellipsis}.crumb-parent{padding:4px 6px;margin:0 -6px;border:0;border-radius:6px;background:transparent;color:var(--ink-soft);font:inherit}button.crumb-parent:hover{background:var(--hover);color:var(--ink)}.crumb-current,.menu-label{display:inline-flex;align-items:center;gap:9px;min-width:0}.tool-icon{width:16px;height:16px;flex-shrink:0}.menu .tool-icon{width:20px;height:20px}.crumb-sep{color:var(--ink-soft);font-weight:500}.app-brand{gap:8px}.header-actions{gap:6px;justify-self:end}.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,.header-icon,.shell .button,.chip,.composer-send{border-radius:8px}.brand-button img,.brand-logo{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)}.panel{flex:1;border-radius:14px;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}.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:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:24px}.board-actions{display:flex;flex-wrap:wrap;gap:12px}.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}.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-radius:14px;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);flex:none;min-height:0}.column-items{min-height:60px}.chat-backdrop{--chat-top: 24px;padding-inline:12px}.composer{margin-inline:18px}.crumb-parent,.crumb-sep{display:none}}.menu-anchor{position:relative}.menu{position:absolute;z-index:30;top:calc(100% + 6px);right:0;width:340px;max-width:calc(100vw - 12px);margin:0;padding:6px;list-style:none;border:1px solid var(--ink);background:var(--surface);box-shadow:5px 5px 0 var(--shadow);color:var(--ink);font:600 .95rem var(--font)}.menu-narrow{width:270px}.menu-check{text-align:center}.menu-item{display:grid;grid-template-columns:30px 1fr 16px;align-items:center;width:100%;min-height:42px;padding:0 8px 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:10px 10px 10px 32px;color:var(--ink-soft);font:500 .8rem var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-sep{height:1px;margin:5px 4px 5px 32px;background:var(--line-strong)}.menu-row{display:grid;gap:10px;padding:10px 10px 12px 32px}.menu-row-label{color:var(--ink)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segment{min-height:38px;padding:0 8px;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:var(--ink);font:700 .88rem 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:3px 3px 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}.data{flex:1;min-height:0;display:grid;grid-template-columns:260px minmax(0,1fr)}.data-sources{min-height:0;overflow:auto;border-right:1px solid var(--border)}.data-head{display:flex;align-items:center;gap:8px;flex-shrink:0;height:44px;margin:0;padding:0 18px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--ink-soft);font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.05em}.data-head span{color:var(--ink)}.data-head .data-icon{width:16px;height:16px}.data-list{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:0;padding:8px;list-style:none}.data-row{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:700 .9rem var(--display);text-align:left}.data-row:hover{background:var(--hover)}.data-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.data-row[aria-current]{background:var(--line)}.data-row[aria-pressed=true],.data-leaf .data-row[aria-current]{background:var(--gold);color:var(--on-gold)}.data-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-name.mono{font:500 .84rem var(--mono)}.data-chevron{opacity:.55;font-size:1.1rem}.data-icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.data-main{min-width:0;min-height:0;display:flex;flex-direction:column;padding:52px 16px 16px}.data-main .empty{margin:auto}.data-browser{flex:1;min-height:0;display:grid;grid-template-columns:220px 220px minmax(0,1fr);border:1px solid var(--border);border-radius:12px;overflow:hidden}.data-pane{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line);overflow:auto}.data-pane:last-child{border-right:0}.data-pane .data-head{position:sticky;top:0;z-index:1;height:40px;padding:0 14px;border-bottom-color:var(--line-strong)}.data-tables table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.86rem}.data-tables col.num{width:84px}.data-tables col.date{width:104px}.data-tables th{padding:12px 14px 8px;color:var(--ink-soft);font:500 .7rem var(--mono);text-align:left;text-transform:uppercase;letter-spacing:.04em}.data-tables td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}.data-tables tbody tr:hover{background:var(--hover)}.data-tables .num{font-family:var(--mono);text-align:right;white-space:nowrap}.data-tables tbody tr{cursor:pointer}.data-table-name{display:block;padding:0;border:0;background:transparent;color:var(--ink);font:700 .92rem var(--display);text-align:left;overflow-wrap:anywhere}.data-table-name:hover{text-decoration:underline}.data-meta{margin:4px 0 0;color:var(--ink-soft);font:500 .74rem var(--mono);overflow-wrap:anywhere}.data-desc{display:-webkit-box;margin-top:4px;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--ink-soft);font-size:.82rem}.data-note{margin:0;padding:8px 18px}@media(max-width:1100px){.data{grid-template-columns:220px minmax(0,1fr)}.data-browser{grid-template-columns:180px 180px minmax(0,1fr)}.data-tables col.num{width:72px}.data-tables .narrow-hide{display:none}}@media(max-width:900px){.data{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow:auto}.data-sources{border-right:0;border-bottom:1px solid var(--border);overflow:visible}.data-main{padding:12px}.data-browser{flex:none;grid-template-columns:minmax(0,1fr);align-content:start}.data-pane{border-right:0;border-bottom:1px solid var(--line);overflow:visible}.data-pane:last-child{border-bottom:0}.data-pane .data-head{position:static}.data-tables th,.data-tables td{padding-inline:10px}.data-tables col.num{width:64px}}.schema{width:min(820px,calc(100vw - 32px));max-height:min(720px,calc(100svh - 48px));padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:6px 6px 0 var(--shadow)}.schema[open]{display:flex;flex-direction:column;animation:summon .16s ease-out}.schema::backdrop{background:var(--overlay)}.schema-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 14px 24px}.schema-actions{display:flex;align-items:center;gap:12px}.schema-head h2{margin:0;font:700 1.2rem var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}.schema-desc{margin:0;padding:0 24px 16px;color:var(--ink-soft);font-size:.88rem}.schema-body{min-height:0;overflow:auto;border-top:1px solid var(--border)}.schema-body table{width:100%;border-collapse:collapse;font-size:.84rem}.schema-body th{position:sticky;top:0;padding:10px 14px;border-bottom:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);font:500 .7rem var(--mono);text-align:left;text-transform:uppercase;letter-spacing:.04em}.schema-body td{padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top}.schema-body tr:last-child td{border-bottom:0}.schema-body th:first-child,.schema-body td:first-child{padding-left:24px}.schema-body .mono{font-family:var(--mono);white-space:nowrap}.schema-body th:first-child{width:45%}@media(max-width:620px){.schema-body td.mono{white-space:normal;overflow-wrap:anywhere}}.tool-form{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.tool-form input,.tool-form select{min-height:42px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--field);color:var(--ink);font:600 .9rem var(--font);outline:none}.tool-form input{flex:1 1 200px;min-width:0;cursor:text}.tool-form input::placeholder{color:var(--placeholder)}.tool-form input:focus,.tool-form select:focus{border-color:var(--green)}.tool-error{color:var(--error);font-weight:700}.results{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.results[aria-busy=true]{opacity:.6}.results table{width:100%;border-collapse:collapse;font-size:.86rem}.results th{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--ink-soft);font:500 .72rem var(--mono);text-align:left;text-transform:uppercase;letter-spacing:.04em}.results td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.results tr:last-child td{border-bottom:0}.results td a{display:block;color:var(--ink);font:700 .92rem var(--display);text-decoration:none}.results td a:hover{text-decoration:underline}.results td span{display:block;margin-top:2px}.results .ref{color:var(--ink-soft);font:500 .72rem var(--mono)}.results .num{font-family:var(--mono);white-space:nowrap}.results td.run,.data-tables td.run{width:1%;padding-top:4px;padding-bottom:4px;text-align:right;vertical-align:middle}.shell .run-button{justify-content:center;width:52px;padding:0;margin-right:6px}.run-button svg{width:32px;height:32px;fill:currentColor}.data-tables col.run{width:64px}.shell .run-button.compact{width:40px;min-height:36px;height:36px;margin-right:3px;box-shadow:3px 3px 0 var(--shadow)}.run-button.compact svg{width:24px;height:24px}.pager{display:flex;align-items:center;gap:12px;margin-top:16px}.pager .chip:disabled{opacity:.45;cursor:default}@media(max-width:620px){.results th:nth-child(4),.results td:nth-child(4),.results th:nth-child(5),.results td:nth-child(5),.results th:nth-child(6),.results td:nth-child(6){display:none}.results th,.results td{padding:10px 8px}.results td a,.results td span{overflow-wrap:anywhere}}.shell-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.shell-task{flex-direction:row;padding-left:0;padding-bottom:0}.shell-task .shell-main{padding-bottom:10px}.task-chat{display:flex;flex-direction:column;flex:0 0 30%;min-width:280px;min-height:0;margin-right:10px;border-right:1px solid var(--border);background:var(--surface)}.shell-task .app-header>.app-brand{visibility:hidden}.task-chat-top{display:flex;justify-content:center;flex-shrink:0;height:48px}.task-messages{flex:1;display:grid;place-items:center;overflow:auto;padding:18px;text-align:center}.task-messages p{margin:0}.task-composer{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 14px 14px;padding:12px 12px 10px 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);transition:box-shadow .16s ease,border-color .16s ease}.task-composer:focus-within{border-color:var(--ink);box-shadow:4px 4px 0 var(--shadow)}.task-context{display:inline-flex;align-items:center;gap:6px;justify-self:start;max-width:100%;padding:3px 8px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink-soft);font:500 .72rem var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-context img,.task-context svg{width:13px;height:13px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}.task-composer textarea{width:100%;min-height:26px;max-height:200px;padding:2px 0;border:0;background:transparent;color:var(--ink);font:600 1rem var(--font);line-height:1.45;resize:none;outline:none}.task-composer textarea::placeholder{color:var(--placeholder)}.task-composer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-composer-bar .shortcut-hint{min-width:0;overflow:hidden;text-overflow:ellipsis}.task-composer .composer-send{flex:0 0 34px;height:34px;margin:0 3px 3px 0}.task-pane{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.flow{display:flex;align-items:center;flex:0 0 20%;min-height:150px;padding:0 32px;overflow-x:auto;border-bottom:1px solid var(--line-strong);background:var(--page)}.flow-node{position:relative;display:grid;gap:3px;flex:0 0 210px;padding:0 0 12px;overflow:visible;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);text-align:left}.flow-node:hover{border-color:var(--ink)}.flow-node[aria-pressed=true]{border-color:var(--ink);box-shadow:4px 4px 0 var(--shadow)}.flow-band{display:flex;align-items:center;gap:7px;margin-bottom:6px;padding:7px 12px;border-bottom:1px solid var(--line-strong);border-radius:9px 9px 0 0;color:var(--ink-soft);font:500 .66rem var(--mono);letter-spacing:.05em;text-transform:uppercase}.flow-node[aria-pressed=true] .flow-band{border-bottom-color:var(--ink);background:var(--gold);color:var(--on-gold)}.flow-icon{width:15px;height:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}.flow-name{padding:0 12px;overflow:hidden;font:700 .95rem var(--display);text-overflow:ellipsis;white-space:nowrap}.flow-sub{padding:0 12px;color:var(--ink-soft);font:500 .72rem var(--mono)}.flow-port{position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;border:1px solid var(--ink);border-radius:50%;background:var(--surface)}.flow-port.out{right:-6px}.flow-port.in{left:-6px;border-style:dashed;border-color:var(--line-strong)}.flow-edge{flex:0 0 56px;border-top:1.5px dashed var(--line-strong)}.flow-ghost{padding-top:12px;border-style:dashed;background:transparent;color:var(--ink-soft)}.flow-ghost .flow-name{color:var(--ink-soft);font-weight:600}.node-viewer{flex:1;min-height:0;overflow:auto;padding:24px 28px 28px}.node-head h2{margin:0;font:700 1.3rem var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}.node-head a{color:inherit}.node-about{max-width:70ch;margin:10px 0 0;color:var(--ink-soft);font-size:.9rem}.node-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:24px 0 0}.node-stats div{padding:14px 16px;border:1px solid var(--line-strong);border-radius:10px}.node-stats dt{color:var(--ink-soft);font:500 .68rem var(--mono);letter-spacing:.04em;text-transform:uppercase}.node-stats dd{margin:6px 0 0;font:700 1.15rem var(--display);overflow-wrap:anywhere}@media(max-width:900px){.shell-task{flex-direction:column-reverse;padding:0 6px 6px}.shell-task .shell-main{padding-bottom:0}.shell-task .app-header>.app-brand{visibility:visible}.task-chat{flex:0 0 45%;min-width:0;margin:6px 0 0;border:1px solid var(--border);border-radius:14px}.task-chat-top{display:none}.flow{min-height:130px;padding:0 16px}.flow-node{flex-basis:170px}.flow-edge{flex-basis:32px}.node-viewer{padding:18px 16px 20px}}: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}}
