:root{color-scheme:light;--paper: #fdfcf9;--paper-raised: #fffefa;--paper-sunk: #f5f2ea;--ink: #22262e;--ink-soft: #5f5b52;--ink-faint: #767063;--ink-ghost: #a9a08c;--rule: #e7e2d7;--rule-soft: #f3f1ea;--on-ink: #fbf9f3;--pi: #1fb0c4;--pi-deep: #0a7180;--pi-wash: #e4f4f6;--accent-2: #5f51ad;--accent-2-soft: #6b5bc4;--accent-2-wash: #eeeafb;--hl-cyan: #bde8ef;--hl-orange: #efdabd;--hl-violet: #cfbdef;--hl-pink: #efbdd0;--hl-mint: #bdefd3;--hl-lemon: #efe6bd;--sticky: #f8ecb6;--ink-good: #257447;--ink-rose: #742543;--ink-amber: #745f25;--ink-danger: #8c3f28;--ink-cyan: #256474;--stock-sidebar: #faf8f1;--stock-note: #fbf9f2;--edge-sticky: #e6d9a0;--edge-danger: #e8c5b8;--edge-cyan: #c8e6ea;--edge-warn: #d6976f;--hand: "Caveat", "Caveat Fallback", "Bradley Hand", "Segoe Print", cursive;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--t-2xs: 10px;--t-xs: 11px;--t-sm: 12px;--t-md: 13px;--t-nav: 14px;--t-base: 15px;--t-lg: 17px;--t-xl: 20px;--t-2xl: 26px;--t-3xl: 34px;--t-4xl: 44px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--r-sm: 6px;--r-md: 12px;--r-lg: 18px;--r-pill: 999px;--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--ease-out: cubic-bezier(.16, 1, .3, 1);--shadow-sheet: 0 1px 1px rgba(74, 60, 40, .05), 0 6px 14px -6px rgba(74, 60, 40, .1);--shadow-card: 0 1px 2px rgba(74, 60, 40, .06), 0 8px 20px -10px rgba(74, 60, 40, .12);--shadow-note: 0 1px 1px rgba(74, 60, 40, .08), 0 5px 12px -5px rgba(74, 60, 40, .18);--shadow-pop: 0 2px 6px rgba(74, 60, 40, .1), 0 18px 40px -16px rgba(74, 60, 40, .2);--shadow-press: inset 0 1px 2px rgba(74, 60, 40, .14);--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)' opacity='0.5'/%3E%3C/svg%3E");--stroke-wobble: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5.6C30 3.4 56 6.4 84 4.6c28-1.8 54 1.2 80-.4 16-1 26 .4 34-1' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");--grain-sheet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)' opacity='0.06'/%3E%3C/svg%3E");--z-scrim: 25;--z-sidebar: 30;--z-grain: 90}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local("Bradley Hand"),local("Bradley Hand Bold"),local("Segoe Print"),local("Chalkboard SE"),local("Apple Chancery");size-adjust:73%;ascent-override:131%;descent-override:41%;line-gap-override:0%}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-base);line-height:1.55;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;z-index:var(--z-grain);pointer-events:none;opacity:.09;background-image:var(--grain)}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--pi);outline-offset:2px;border-radius:var(--r-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.icon{flex-shrink:0;vertical-align:-.18em}.swipe{position:relative;display:inline-block;z-index:0}.swipe:before{content:"";position:absolute;z-index:-1;inset:.12em -.22em .02em -.18em;background-color:var(--swipe-color, var(--hl-cyan));background-image:linear-gradient(96deg,#00000012,#0000 16% 74%,#0000000f);border-radius:.45em .3em .5em .35em/.5em .4em .3em .55em;transform:rotate(-.6deg);opacity:.9}.swipe.v2:before{border-radius:.3em .55em .35em .5em/.4em .5em .55em .3em;transform:rotate(.7deg);left:-.22em;right:-.16em}.swipe.v3:before{border-radius:.55em .35em .3em .5em/.3em .55em .4em .5em;transform:rotate(-1.1deg);bottom:.08em}.hand-underline{position:relative;display:inline-block}.hand-underline:after,.hand-rule{background:var(--underline-color, var(--pi-deep));-webkit-mask-image:var(--stroke-wobble);mask-image:var(--stroke-wobble);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hand-underline:after{content:"";position:absolute;left:-.08em;right:-.12em;bottom:-.2em;height:.22em;opacity:.85}.hand-rule{height:6px;border:0;margin:var(--space-2) 0;--underline-color: var(--ink-ghost);opacity:.7}.pi-lozenge{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:var(--r-pill);background:var(--pi-wash);color:var(--pi-deep);flex-shrink:0}.pi-lozenge-lg{width:52px;height:52px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:var(--r-pill);font-size:var(--t-md);font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.btn-ink{background:var(--ink);color:var(--on-ink)}.btn-fill{background:var(--pi-deep);color:var(--on-ink)}.btn-ghost{background:var(--paper-raised);color:var(--ink);border:1px solid var(--rule)}.btn-quiet{color:var(--ink-soft);padding-left:var(--space-3);padding-right:var(--space-3)}.btn-sm{padding:6px 13px;font-size:var(--t-sm)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sheet)}.btn-ghost:hover{border-color:var(--ink-ghost)}.btn-quiet:hover{background:var(--rule-soft);color:var(--ink);box-shadow:none;transform:none}.btn:active{transform:translateY(1px);box-shadow:var(--shadow-press)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:default;transform:none;box-shadow:none}.sticky-note{position:relative;padding:var(--space-4) var(--space-5);background:var(--sticky);border:1.5px solid var(--ink);border-radius:3px 14px 5px 16px;box-shadow:var(--shadow-note);transform:rotate(-.6deg)}.sticky-note .lead{font-family:var(--hand);font-size:var(--t-xl);font-weight:600;line-height:1.25}.paper-stack{position:relative}.paper-stack:before,.paper-stack:after{content:"";position:absolute;z-index:-1;border-radius:inherit;background:var(--paper-raised);border:1px solid var(--rule);box-shadow:var(--shadow-sheet)}.paper-stack:before{inset:10px 8px -9px;transform:rotate(-1.5deg)}.paper-stack:after{inset:18px 14px -16px;background:var(--stock-note);transform:rotate(1.9deg)}.soon-chip{display:inline-block;padding:0 var(--space-2) 1px;border:1px dashed var(--ink-ghost);border-radius:var(--r-pill);background:var(--stock-note);color:var(--ink-faint);font-family:var(--hand);font-size:var(--t-base);line-height:1.5;letter-spacing:.01em;white-space:nowrap}.hall-tag{display:inline-flex;align-items:center;gap:6px;padding:2px var(--space-2) 3px;border-radius:var(--r-pill);border:1px solid rgba(74,60,40,.12);background:var(--tag-color, var(--hl-lemon));color:var(--ink);font-size:var(--t-sm);font-weight:600;letter-spacing:.02em;white-space:nowrap;transform:rotate(-.5deg)}.timestamp{font-size:var(--t-xs);color:var(--ink-faint);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.skel{position:relative;overflow:hidden;background:var(--rule-soft);border-radius:var(--r-sm)}.skel:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:skel-sweep 1.5s var(--ease-out) infinite}.skel-line{height:10px;border-radius:var(--r-pill)}@keyframes skel-sweep{to{transform:translate(100%)}}.turn-error{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border:1px dashed var(--edge-danger);border-radius:var(--r-md);background:var(--stock-note)}.turn-error .what{flex:1;min-width:0}.turn-error .lead{font-family:var(--hand);font-size:var(--t-lg);color:var(--ink-danger);line-height:1.3}.turn-error .detail{font-size:var(--t-md);color:var(--ink-soft);margin-top:2px}.turn-error .fix{flex-shrink:0}.label-xs{font-size:var(--t-xs);letter-spacing:.02em;color:var(--ink-faint)}.shell{display:flex;height:100%;height:100dvh}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.sidebar{width:264px;flex-shrink:0;border-right:1px solid var(--rule);background:var(--stock-sidebar);display:flex;flex-direction:column;padding:var(--space-4) var(--space-3) var(--space-3);padding-left:calc(var(--space-3) + env(safe-area-inset-left,0px));gap:var(--space-1)}.wordmark{display:flex;align-items:center;gap:var(--space-3);padding:2px var(--space-2) var(--space-3)}.wordmark .name{font-weight:700;font-size:var(--t-lg);letter-spacing:.01em}.wordmark .sub{font-family:var(--hand);font-size:var(--t-lg);color:var(--ink-soft);margin-top:-3px}.new-chat{display:flex;align-items:center;gap:var(--space-2);margin:0 var(--space-1) var(--space-3);padding:9px var(--space-4);border-radius:var(--r-pill);background:var(--ink);color:var(--on-ink);font-weight:600;font-size:var(--t-nav);transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.new-chat:hover{transform:translateY(-1px);box-shadow:var(--shadow-sheet)}.new-chat:active{transform:translateY(1px);box-shadow:var(--shadow-press)}.chat-list{flex:1;overflow-y:auto;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--rule);min-height:0}.chat-list-label{font-family:var(--hand);font-size:var(--t-lg);color:var(--ink-faint);padding:0 var(--space-3) var(--space-1)}.chat-row{display:flex;align-items:center;width:100%;padding:var(--space-1) var(--space-3);border-radius:var(--r-sm);font-size:var(--t-md);color:var(--ink-soft);text-align:left;gap:var(--space-2);transition:background-color var(--dur-1) var(--ease-out)}.chat-row:hover{background:var(--rule-soft)}.chat-row:active{background:var(--rule)}.chat-row.active{background:var(--accent-2-wash);color:var(--ink);font-weight:500;box-shadow:inset 2px 0 0 var(--accent-2)}.chat-row .title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row .del{display:grid;place-items:center;color:var(--ink-faint);font-size:var(--t-sm);padding:2px var(--space-1);border-radius:var(--r-sm);transition:color var(--dur-1) var(--ease-out),opacity var(--dur-1) var(--ease-out)}.chat-row .del:hover{color:var(--ink-danger)}@media(hover:hover){.chat-row .del{opacity:0}.chat-row:hover .del,.chat-row .del:focus-visible{opacity:1}}.identity-chip{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);border:1px solid var(--rule);background:var(--paper-raised);font-size:var(--t-md);text-align:left;width:100%;transition:border-color var(--dur-1) var(--ease-out)}.identity-chip:hover{border-color:var(--ink-ghost)}.identity-chip:active{box-shadow:var(--shadow-press)}.identity-chip .avatar{width:26px;height:26px;border-radius:50%;background:var(--hl-lemon);display:grid;place-items:center;font-family:var(--hand);font-size:var(--t-lg);font-weight:700;flex-shrink:0}.identity-chip .who{overflow:hidden}.identity-chip .netid{font-weight:600}.identity-chip .hint{color:var(--ink-faint);font-size:var(--t-xs);letter-spacing:.02em}.topbar{display:none;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);background:var(--stock-sidebar)}.chat-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.chat-column{max-width:760px;margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-5)}.hello{padding:9vh 0 var(--space-5)}.hello h1{font-size:var(--t-3xl);font-weight:700;margin:0 0 var(--space-1);letter-spacing:-.02em;text-wrap:balance}.hello h1 .name{font-family:var(--hand);font-weight:700;font-size:var(--t-4xl);color:var(--pi-deep)}.hello p{color:var(--ink-soft);margin:0 0 var(--space-6);font-size:var(--t-lg)}.prompts{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.prompt-chip{position:relative;z-index:0;font-size:var(--t-nav);padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--paper-raised);color:var(--ink);text-align:left;transition:border-color var(--dur-2) var(--ease-out),color var(--dur-1) var(--ease-out)}.prompt-chip:before{content:"";position:absolute;z-index:-1;inset:3px 5px;border-radius:.5em .35em .45em .3em/.4em .5em .35em;background:var(--hl-cyan);transform:scaleX(0);transform-origin:left center;opacity:.75;transition:transform var(--dur-3) var(--ease-out)}.prompt-chip:hover{border-color:var(--pi)}.prompt-chip:hover:before,.prompt-chip:focus-visible:before{transform:scaleX(1)}.prompt-chip:active{box-shadow:var(--shadow-press)}.prompt-chip .pen{color:var(--pi-deep);margin-right:var(--space-2)}.turn{margin:var(--space-4) 0}.turn-in{animation:turn-in var(--dur-3) var(--ease-out) both}@keyframes turn-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.turn.user{display:flex;justify-content:flex-end}.turn.assistant .md{max-width:100%}.md p{margin:0 0 var(--space-3)}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:var(--space-1) 0 var(--space-3);padding-left:22px}.md li{margin:3px 0}.md li>ul,.md li>ol{margin:3px 0 var(--space-1)}.md code{font-family:var(--mono);font-size:var(--t-md);background:var(--rule-soft);padding:1px 5px;border-radius:var(--r-sm)}.md pre{background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--space-3) var(--space-4);overflow-x:auto}.md pre code{background:none;padding:0}.md strong{font-weight:700}.md h1,.md h2,.md h3,.md h4{line-height:1.25;letter-spacing:-.01em}.md h1{font-size:var(--t-xl);font-weight:700;margin:var(--space-5) 0 var(--space-2)}.md h2{font-size:var(--t-lg);font-weight:700;margin:var(--space-4) 0 var(--space-2)}.md h3,.md h4{font-size:var(--t-base);font-weight:600;color:var(--ink-soft);margin:var(--space-4) 0 var(--space-1);letter-spacing:0}.md>:first-child{margin-top:0}.md a,.md a:visited{color:var(--pi-deep);text-decoration:none;background-image:linear-gradient(var(--hl-cyan),var(--hl-cyan));background-repeat:no-repeat;background-position:0 88%;background-size:100% .22em;border-radius:2px;transition:background-size var(--dur-2) var(--ease-out),color var(--dur-1) var(--ease-out)}.md a:hover{background-size:100% .95em;color:var(--ink)}.md a .icon{margin-left:3px;opacity:.7}.md blockquote{margin:var(--space-3) 0;padding:2px 0 2px var(--space-3);border-left:3px solid var(--hl-lemon);font-family:var(--hand);font-size:var(--t-lg);line-height:1.4;color:var(--ink-soft)}.md blockquote p{margin:0}.md hr{height:2px;border:0;margin:var(--space-5) 0;background:var(--rule);border-radius:40% 60% 55% 45%/100%;transform:rotate(-.3deg)}.md .table-wrap{overflow-x:auto;margin:var(--space-3) 0 var(--space-4)}.md table{border-collapse:collapse;width:100%;font-size:var(--t-md);font-variant-numeric:tabular-nums}.md th,.md td{text-align:left;padding:7px var(--space-3) 7px 0;border-bottom:1px solid var(--rule-soft);vertical-align:top}.md th{font-size:var(--t-sm);font-weight:600;letter-spacing:.02em;color:var(--ink-soft);border-bottom:1px solid var(--rule);white-space:nowrap}.md tbody tr:last-child td{border-bottom:none}.md td:last-child,.md th:last-child{padding-right:0}.md .ta-r{text-align:right}.md .ta-c{text-align:center}.reasoning{margin:var(--space-2) 0;font-size:var(--t-md);color:var(--ink-faint)}.reasoning summary{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-family:var(--hand);font-size:var(--t-lg);list-style:none;transition:color var(--dur-1) var(--ease-out)}.reasoning summary::-webkit-details-marker{display:none}.reasoning summary:before{content:"";width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--dur-2) var(--ease-out)}.reasoning summary:hover{color:var(--ink-soft)}.reasoning[open] summary{color:var(--ink-soft)}.reasoning[open] summary:before{transform:rotate(45deg)}.reasoning .body{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border:1.5px dashed var(--rule);border-radius:var(--r-md);background:var(--stock-note);font-family:var(--hand);font-size:var(--t-lg);line-height:1.4;color:var(--ink-soft);white-space:pre-wrap}.writing{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink-faint);font-family:var(--hand);font-size:var(--t-lg);margin:var(--space-2) 0}.writing .nib{width:8px;height:8px;border-radius:50%;background:var(--pi);animation:nib 1s ease-in-out infinite}@keyframes nib{0%,to{transform:scale(.7);opacity:.5}50%{transform:scale(1);opacity:1}}.tool-card{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper-raised);box-shadow:var(--shadow-card);margin:var(--space-3) 0;overflow:hidden}.tool-card .card-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--stock-note);border-bottom:1px solid var(--rule-soft);box-shadow:inset 3px 0 0 var(--card-accent, transparent);font-size:var(--t-md);color:var(--ink-soft)}.tool-card .card-head .app-dot{width:10px;height:10px;border-radius:3px;transform:rotate(-4deg);flex-shrink:0}.app-logo-sm{width:16px;height:16px;object-fit:contain;flex-shrink:0}.tool-card .card-head .card-link{color:var(--pi-deep);font-weight:600;font-size:var(--t-sm);text-decoration:none;white-space:nowrap}.tool-card .card-head .card-link:hover{text-decoration:underline}.tool-card .card-head .tname{font-family:var(--mono);font-size:var(--t-sm)}.tool-card .card-head .spacer{flex:1}.tool-card .card-body{padding:var(--space-3) var(--space-4)}.tool-chip{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-1) 0;padding:var(--space-1) var(--space-3);border-radius:var(--r-pill);border:1px dashed var(--rule);background:var(--stock-note);color:var(--ink-soft);font-size:var(--t-sm);letter-spacing:.02em}.tool-chip .app-dot{width:9px;height:9px;border-radius:3px;transform:rotate(-4deg)}.tool-chip .tname{font-family:var(--mono);font-size:var(--t-xs)}.tool-chip.running .app-dot,.tool-chip.running .app-logo-sm{animation:nib 1s ease-in-out infinite}.tool-chip.error{border-color:var(--edge-danger);color:var(--ink-danger)}.tool-chip button{color:var(--ink-faint);font-size:var(--t-xs)}.chip-link{color:var(--pi-deep);font-weight:600;text-decoration:none;margin-left:var(--space-2);white-space:nowrap}.chip-link:hover{text-decoration:underline}.tool-raw{margin:var(--space-1) 0 var(--space-2);background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--space-3);font-family:var(--mono);font-size:var(--t-xs);max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word}.course-rows{display:flex;flex-direction:column}.course-row{display:flex;align-items:baseline;gap:var(--space-3);padding:7px 2px;border-bottom:1px solid var(--rule-soft);font-size:var(--t-md)}.course-row:last-child{border-bottom:none}.course-row .course-link{display:contents;color:inherit;text-decoration:none}.course-row .course-link:hover .ctitle{text-decoration:underline;color:var(--pi-deep)}.course-row .code{font-family:var(--mono);font-size:var(--t-sm);font-weight:600;white-space:nowrap}.course-row .ctitle{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.course-row .meta{color:var(--ink-faint);font-size:var(--t-sm);white-space:nowrap}.pill{font-size:var(--t-xs);font-weight:600;letter-spacing:.02em;padding:2px 9px;border-radius:var(--r-pill);white-space:nowrap}.pill.open{background:var(--hl-mint);color:var(--ink-good)}.pill.closed{background:var(--hl-pink);color:var(--ink-rose)}.pill.waitlist,.pill.other{background:var(--hl-lemon);color:var(--ink-amber)}.rating-chip{font-family:var(--mono);font-size:var(--t-sm);font-weight:700;padding:2px var(--space-2);border-radius:var(--r-sm);background:var(--hl-cyan);color:var(--ink-cyan)}.card-more{padding-top:var(--space-2);font-size:var(--t-sm);color:var(--ink-faint)}.week{--week-h: 580px;--rows: 13;display:grid;grid-template-columns:46px repeat(5,1fr);gap:0}.week .axis-col{position:relative;height:var(--week-h)}.week .axis .tick{position:absolute;right:var(--space-1);transform:translateY(-50%);font-family:var(--mono);font-size:var(--t-2xs);color:var(--ink-faint)}.week .day{min-width:0}.week .day-name{text-align:center;font-family:var(--hand);font-size:var(--t-xl);font-weight:600;color:var(--ink-soft);padding-bottom:var(--space-2);white-space:nowrap;overflow:hidden}.week.compact .day-name{font-size:var(--t-lg)}.week .day-col{position:relative;height:var(--week-h);border-top:1px solid var(--rule);border-left:1px solid var(--rule-soft);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--week-h) / var(--rows) - 1px),var(--rule-soft) calc(var(--week-h) / var(--rows) - 1px),var(--rule-soft) calc(var(--week-h) / var(--rows)))}.week .day:last-child .day-col{border-right:1px solid var(--rule-soft)}.block{position:absolute;border-radius:3px;border-left:4px solid;padding:3px 7px;overflow:hidden;font-size:var(--t-sm);line-height:1.3;animation:block-in var(--dur-3) var(--ease-out) both;box-shadow:0 1px 2px #4a3c2824}.week.compact .block{padding:1px 5px;border-left-width:3px;border-radius:2px}@keyframes block-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.block .btime{font-size:var(--t-2xs);font-weight:400;opacity:.85;white-space:nowrap}.block .bcode{font-family:var(--mono);font-size:var(--t-xs);font-weight:700;white-space:nowrap}.week.compact .block .bcode{font-size:var(--t-2xs)}.block .bwhere{opacity:.75;font-size:var(--t-2xs);white-space:nowrap}.block.option{opacity:.68;background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.06) 5px,rgba(0,0,0,.06) 10px)}.block.conflicted{outline:2px dashed var(--edge-warn);outline-offset:-2px}.cal-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--rule);font-family:var(--mono);font-size:var(--t-sm)}.legend-chip{display:inline-flex;align-items:center;gap:7px}.legend-swatch{width:12px;height:12px;border-radius:3px;border-left:3px solid}.legend-pending{font-family:var(--hand);font-size:var(--t-base);font-style:normal;color:var(--ink-faint)}.tba-note a{color:var(--pi-deep);font-weight:600;text-decoration:none}.tba-note a:hover{text-decoration:underline}.conflict-note{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--sticky);border:1px solid var(--edge-sticky);border-radius:2px 10px 4px 12px;transform:rotate(-.5deg);box-shadow:var(--shadow-note);font-size:var(--t-md)}.conflict-note .lead{font-family:var(--hand);font-size:var(--t-lg);font-weight:600}.tba-note{margin-top:var(--space-2);font-size:var(--t-sm);color:var(--ink-faint)}.page{flex:1;overflow-y:auto}.page-inner{max-width:880px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-7)}.page-title{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-1);text-wrap:balance}.page-sub{color:var(--ink-soft);margin:0 0 var(--space-5);font-size:var(--t-base)}.page-sub .hand{font-family:var(--hand);font-size:var(--t-lg);color:var(--pi-deep)}.paper-card{border:1px solid var(--rule-soft);border-radius:var(--r-lg);background-color:var(--paper-raised);background-image:var(--grain-sheet);box-shadow:var(--shadow-sheet);padding:var(--space-5);margin-bottom:var(--space-5)}.paper-card h3{margin:0 0 var(--space-3);font-size:var(--t-base)}.paper-card.ruled{padding-left:46px;background-image:var(--grain-sheet),linear-gradient(to right,transparent 32px,var(--hl-pink) 32px,var(--hl-pink) 33.5px,transparent 33.5px),repeating-linear-gradient(to bottom,transparent 0,transparent 27px,var(--rule-soft) 27px,var(--rule-soft) 28px);background-position:0 0,0 0,0 var(--space-5)}.empty-hand{font-family:var(--hand);font-size:var(--t-xl);color:var(--ink-faint);text-align:center;padding:var(--space-7) var(--space-5)}.empty-hand .cta{display:inline-block;margin-top:var(--space-3);font-family:var(--sans);font-size:var(--t-md);font-weight:600;color:var(--pi-deep)}.sched-tab{padding:5px var(--space-3);border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--paper-raised);font-size:var(--t-md);color:var(--ink-soft);transition:border-color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.sched-tab:hover{border-color:var(--ink-ghost);color:var(--ink)}.sched-tab:active{box-shadow:var(--shadow-press)}.sched-tab.active{border-color:var(--accent-2);background:var(--accent-2-wash);color:var(--ink);font-weight:600}.agenda-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 2px;border-bottom:1px solid var(--rule-soft);font-size:var(--t-nav)}.agenda-row:last-child{border-bottom:none}.agenda-row .swatch{width:12px;height:12px;border-radius:var(--r-sm);transform:rotate(-4deg);flex-shrink:0}.agenda-row .code{font-family:var(--mono);font-size:var(--t-sm);font-weight:600;min-width:84px}.agenda-row .what{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-row .when{color:var(--ink-faint);font-size:var(--t-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.toggle{width:42px;height:24px;border-radius:var(--r-pill);background:var(--rule);position:relative;transition:background-color var(--dur-2) var(--ease-out);flex-shrink:0}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--paper-raised);box-shadow:0 1px 3px #4a3c284d;transition:transform var(--dur-2) var(--ease-out),width var(--dur-2) var(--ease-out)}.toggle:active:after{width:22px}.toggle.on{background:var(--pi)}.toggle.on:after{transform:translate(18px)}.toggle.on:active:after{transform:translate(14px)}.field-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.field-row label{font-size:var(--t-md);font-weight:600;min-width:64px}.text-input{border:1px solid var(--rule);border-radius:var(--r-sm);padding:var(--space-2) var(--space-3);background:var(--paper);font-size:var(--t-nav);width:200px;transition:border-color var(--dur-1) var(--ease-out)}.text-input:hover{border-color:var(--ink-ghost)}.text-input:focus{outline:2px solid var(--pi);outline-offset:-1px}.avatar-lg{width:42px;height:42px;border-radius:50%;background:var(--hl-lemon);display:grid;place-items:center;font-family:var(--hand);font-size:var(--t-xl);font-weight:700;flex-shrink:0}.seg{display:inline-flex;border:1px solid var(--rule);border-radius:var(--r-pill);overflow:hidden;background:var(--paper)}.seg button{padding:var(--space-1) var(--space-3);font-size:var(--t-md);color:var(--ink-soft);transition:background-color var(--dur-1) var(--ease-out)}.seg button:hover{background:var(--rule-soft)}.seg button.active{background:var(--accent-2);color:var(--on-ink);font-weight:600}.footnote{font-size:var(--t-sm);letter-spacing:.02em;color:var(--ink-faint);margin-top:var(--space-2)}.composer-wrap{border-top:1px solid var(--rule);background:linear-gradient(to bottom,rgba(253,252,249,.6),var(--paper));padding:var(--space-3) var(--space-5) var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.composer{max-width:760px;margin:0 auto;display:flex;align-items:flex-end;gap:var(--space-3);border:1.5px solid var(--rule);border-radius:22px;background:var(--paper-raised);box-shadow:var(--shadow-sheet);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);transition:border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.composer:focus-within{border-color:var(--pi);box-shadow:var(--shadow-card)}.composer textarea{flex:1;border:none;resize:none;background:none;max-height:160px;padding:var(--space-1) 0;line-height:1.45}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:var(--ink-faint)}.composer .send{width:36px;height:36px;border-radius:50%;background:var(--pi);color:var(--on-ink);display:grid;place-items:center;flex-shrink:0;transition:transform var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.composer .send:hover{transform:translateY(-1px);background:var(--pi-deep)}.composer .send:active{transform:translateY(1px) scale(.96)}.composer .send:disabled{background:var(--rule);color:var(--ink-faint);cursor:default;transform:none}.composer .send.stop{background:var(--ink)}.composer-note{max-width:760px;margin:var(--space-2) auto 0;text-align:center;font-size:var(--t-xs);letter-spacing:.02em;color:var(--ink-faint)}.msg-actions{display:flex;gap:2px;margin-top:3px;transition:opacity var(--dur-2) var(--ease-out)}@media(hover:hover){.msg-actions{opacity:0}.turn:hover .msg-actions,.msg-actions:focus-within{opacity:1}}.turn.user .msg-actions{justify-content:flex-end}.msg-actions button{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);letter-spacing:.02em;color:var(--ink-faint);padding:3px var(--space-2);border-radius:var(--r-sm);transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.msg-actions button:hover{background:var(--rule-soft);color:var(--ink)}.msg-actions button:active{background:var(--rule)}.msg-actions button:disabled{opacity:.4;cursor:default}.model-select,.term-select{border:1px solid var(--rule);background-color:var(--paper-raised);border-radius:var(--r-pill);font-weight:600;color:var(--ink-soft);cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:var(--shadow-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235f5b52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 9 6.5 6.5L18.5 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.model-select:hover,.term-select:hover{color:var(--ink);border-color:var(--ink-ghost);transform:translateY(-1px);box-shadow:var(--shadow-sheet)}.model-select:active,.term-select:active{transform:translateY(1px);box-shadow:var(--shadow-press)}.model-select{font-size:var(--t-sm);padding:var(--space-1) 26px var(--space-1) var(--space-3);align-self:flex-end;margin-bottom:3px}.term-select{font-size:var(--t-md);color:var(--ink);padding:5px 30px 5px var(--space-3)}.signin{height:100%;display:grid;place-items:center;padding:var(--space-5)}.signin-card{position:relative;max-width:420px;text-align:center;border:1px solid var(--rule-soft);border-bottom:none;border-radius:var(--r-lg) var(--r-lg) 0 0;background-color:var(--paper-raised);background-image:var(--grain-sheet);box-shadow:var(--shadow-card);padding:40px 36px var(--space-6)}.signin-card:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;background-color:var(--paper-raised);background-image:var(--grain-sheet);-webkit-mask-image:radial-gradient(circle at 6px 0,#000 5.4px,transparent 5.8px);mask-image:radial-gradient(circle at 6px 0,#000 5.4px,transparent 5.8px);-webkit-mask-size:12px 10px;mask-size:12px 10px;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x}.signin-card h1{font-size:var(--t-2xl);margin:0 0 var(--space-2);letter-spacing:-.02em;text-wrap:balance}.signin-card h1 .name{font-family:var(--hand);font-size:var(--t-3xl);color:var(--pi-deep)}.signin-card p{color:var(--ink-soft);margin:0 0 22px}.signin-btn{display:inline-flex;justify-content:center;margin:0 0 var(--space-4);padding:11px 22px}.conn-strip{background:var(--sticky);padding:var(--space-1) var(--space-4);font-size:var(--t-md);text-align:center;border-bottom:1px solid var(--edge-sticky)}.boot-shell{pointer-events:none}.boot-sidebar{gap:var(--space-2)}.boot-wordmark{display:flex;align-items:center;gap:var(--space-3);padding:2px var(--space-2) var(--space-4)}.boot-bones{display:flex;flex-direction:column;gap:var(--space-1)}.boot-bones .skel-line:first-child{width:34px}.boot-bones .skel-line:last-child{width:84px;height:8px}.boot-newchat{height:36px;border-radius:var(--r-pill);margin:0 var(--space-1) var(--space-3)}.boot-rows{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-3)}.boot-rows.divided{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--rule)}.boot-rows .skel-line:nth-child(1){width:62%}.boot-rows .skel-line:nth-child(2){width:78%}.boot-rows .skel-line:nth-child(3){width:68%}.boot-rows .skel-line:nth-child(4){width:84%}.boot-rows .skel-line:nth-child(5){width:71%}.boot-noscript{max-width:30rem;margin:12vh auto 0;padding:0 var(--space-5);text-align:center}.boot-main{align-items:center;justify-content:center}.boot-center{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-top:-8vh}.boot-note{font-family:var(--hand);font-size:var(--t-xl);color:var(--ink-faint);margin:0}.lost-thread{display:grid;place-items:center;min-height:100%;padding:var(--space-5)}.lost-thread .sheet{max-width:460px;padding:var(--space-5) var(--space-5) var(--space-4);border:1px solid var(--rule-soft);border-radius:var(--r-lg);background-color:var(--paper-raised);background-image:var(--grain-sheet);box-shadow:var(--shadow-card)}.lost-thread h1{font-family:var(--hand);font-size:var(--t-2xl);font-weight:700;margin:0 0 var(--space-2)}.lost-thread p{color:var(--ink-soft);margin:0 0 var(--space-4)}.lost-thread .row{display:flex;gap:var(--space-2);flex-wrap:wrap}.lost-thread details{margin-top:var(--space-4);font-size:var(--t-sm);color:var(--ink-faint)}.lost-thread summary{cursor:pointer;letter-spacing:.02em}.lost-thread pre{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);background:var(--paper-sunk);border-radius:var(--r-sm);font-family:var(--mono);font-size:var(--t-xs);max-height:160px;overflow:auto;white-space:pre-wrap;word-break:break-word}@media(max-width:820px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-sidebar);transform:translate(-100%);transition:transform var(--dur-3) var(--ease-out);box-shadow:var(--shadow-pop)}.sidebar.open{transform:none}.topbar{display:flex}.scrim{position:fixed;inset:0;z-index:var(--z-scrim);background:#221e1647}.hello{padding-top:4vh}.hello h1{font-size:var(--t-2xl)}.hello h1 .name{font-size:var(--t-3xl)}.chat-column,.page-inner,.composer-wrap{padding-left:var(--space-4);padding-right:var(--space-4)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.writing .nib,.tool-chip.running .app-dot,.tool-chip.running .app-logo-sm{opacity:1;transform:none}.skel:after{display:none}.prompt-chip:hover:before,.prompt-chip:focus-visible:before{transform:scaleX(1)}}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);background:var(--ink);color:var(--on-ink);font-size:var(--t-md);font-weight:600;text-decoration:none;transform:translateY(calc(-100% - var(--space-4)));transition:transform var(--dur-2) var(--ease-out)}.skip-link:focus-visible{transform:none}.main:focus{outline:none}.sidebar .wordmark{gap:var(--space-2)}.sidebar .wordmark .name{line-height:1.1}.sidebar .wordmark .sub{margin-top:-1px}.drawer-close{display:none;margin-left:auto;padding:var(--space-1);border-radius:var(--r-sm);color:var(--ink-soft)}.drawer-close:hover{background:var(--rule-soft);color:var(--ink)}.sidebar .new-chat{background:transparent;color:var(--ink);text-decoration:none;gap:var(--space-3);margin:0 0 var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-sm)}.sidebar .new-chat:hover{background:var(--rule-soft);transform:none;box-shadow:none}.sidebar .new-chat:active{transform:none;box-shadow:none}.plus-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-pill);background:var(--ink);color:var(--on-ink);transition:transform var(--dur-2) var(--ease-out)}.sidebar .new-chat:hover .plus-dot{transform:rotate(90deg)}.sidebar .new-chat:active .plus-dot{transform:rotate(90deg) scale(.94)}.nav-tabs{display:grid;grid-template-columns:1fr 1fr;gap:2px}.nav-tab{display:flex;align-items:center;gap:7px;padding:7px var(--space-2);border-radius:var(--r-sm);font-size:var(--t-md);font-weight:500;color:var(--ink-soft);text-decoration:none;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.nav-tab .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-tab:hover{background:var(--rule-soft);color:var(--ink)}.nav-tab.active{background:var(--accent-2-wash);color:var(--accent-2);font-weight:600}.sidebar .hand-rule{margin:var(--space-2) var(--space-1) var(--space-3);--underline-color: var(--ink-ghost)}.pinned-chat{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-sm);font-size:var(--t-md);font-weight:500;color:var(--ink);text-decoration:none;transition:background-color var(--dur-1) var(--ease-out)}.pinned-chat .pi-lozenge{width:22px;height:22px}.pinned-chat .title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-chat:hover{background:var(--rule-soft)}.pinned-chat.active{background:var(--accent-2-wash);box-shadow:inset 2px 0 0 var(--accent-2)}.chat-search{display:flex;align-items:center;gap:7px;margin:var(--space-3) var(--space-1) var(--space-2);padding:5px var(--space-3);border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--accent-2-wash);color:var(--ink-faint)}.chat-search:focus-within{border-color:var(--accent-2-soft)}.chat-search input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:var(--t-md);color:var(--ink)}.chat-search input::placeholder{color:var(--ink-faint)}.chat-search input::-webkit-search-decoration,.chat-search input::-webkit-search-cancel-button{-webkit-appearance:none}.sidebar .chat-list{margin-top:var(--space-1);padding-top:0;border-top:none}.chat-sec{margin-bottom:var(--space-3)}.sidebar .chat-list-label{display:flex;align-items:center;gap:5px;padding:0 var(--space-2) 2px;font-weight:400}.chat-rows{list-style:none;margin:0;padding:0}.chat-item{position:relative}.sidebar .chat-row{padding:5px var(--space-2);text-decoration:none}.sidebar .chat-row .timestamp{transition:opacity var(--dur-1) var(--ease-out)}.row-actions{position:absolute;top:50%;right:var(--space-1);transform:translateY(-50%);display:flex;align-items:center;gap:1px}.row-btn{display:grid;place-items:center;padding:3px;border-radius:var(--r-sm);color:var(--ink-faint);font-size:var(--t-xs);transition:color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.row-btn:hover{background:var(--paper-raised);color:var(--ink)}.row-btn.starred{color:var(--edge-warn)}.row-btn.starred svg{fill:var(--hl-lemon)}.row-btn.confirm{padding:2px var(--space-2);background:var(--stock-note);border:1px solid var(--edge-danger);color:var(--ink-danger);font-weight:600;letter-spacing:.02em}@media(hover:hover){.row-actions{opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease-out)}.chat-item:hover .row-actions,.chat-item:focus-within .row-actions{opacity:1;pointer-events:auto}.chat-item:hover .timestamp,.chat-item:focus-within .timestamp{opacity:0}}@media(hover:none){.sidebar .chat-row{padding-right:48px}}.list-empty{font-family:var(--hand);font-size:var(--t-lg);color:var(--ink-faint);margin:var(--space-2) var(--space-3) var(--space-4)}.browse-all{display:flex;align-items:center;gap:5px;margin:0 var(--space-1) var(--space-4);padding:4px var(--space-3);border:1px dashed var(--rule);border-radius:var(--r-pill);color:var(--ink-faint);font-size:var(--t-xs);letter-spacing:.04em;text-transform:lowercase;transition:border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.browse-all:hover{border-color:var(--ink-ghost);color:var(--ink)}.browse-all .icon{transform:rotate(90deg)}.browse-all .icon.up{transform:rotate(-90deg)}.ws{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--rule)}.ws-row{display:flex;align-items:center;gap:6px;margin:0 var(--space-1);padding:6px var(--space-3);border:1px dashed var(--ink-ghost);border-radius:var(--r-sm);color:var(--ink-ghost);font-size:var(--t-md)}.ws-note{margin:var(--space-1) var(--space-3) 0;font-size:var(--t-xs);line-height:1.45;color:var(--ink-faint)}.sidebar-foot{padding-top:var(--space-2)}.sidebar .identity-chip{text-decoration:none;color:inherit}.identity-chip .who{display:flex;flex-direction:column;min-width:0}.identity-chip .netid,.identity-chip .hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.colophon{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0 var(--space-2);font-size:var(--t-xs);letter-spacing:.02em}.colophon a{color:var(--ink-faint);text-decoration:none}.colophon a:hover{color:var(--pi-deep);text-decoration:underline;text-underline-offset:2px}.colophon .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-ghost)}.topbar .pi-lozenge{width:22px;height:22px}.topbar strong{letter-spacing:.02em}.scrim{display:none;border:0}.route-skel{flex:1;display:flex;flex-direction:column;min-height:0}.route-skel .chat-column,.route-skel .page-inner{flex:1;width:100%}.skel-turn{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}.skel-turn .skel-line:nth-child(1){width:76%}.skel-turn .skel-line:nth-child(2){width:92%}.skel-turn .skel-line:nth-child(3){width:61%}.skel-turn.mine{align-items:flex-end}.skel-turn.mine .skel-line{width:42%;height:12px}.skel-composer{height:52px;max-width:760px;width:calc(100% - var(--space-5) * 2);margin:0 auto var(--space-4);border-radius:22px}.skel-title{height:26px;width:190px;margin-bottom:var(--space-5)}.route-skel .skel-block{height:116px;border-radius:var(--r-lg);margin-bottom:var(--space-4)}.page-miss{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-5);text-align:center}.page-miss .sticky-note{max-width:30rem}.page-miss .lead{margin:0}.page-miss .body{margin:var(--space-2) 0 0;font-size:var(--t-md);color:var(--ink-soft)}.lapse{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--space-5);background:#221e1657}.lapse-card{max-width:26rem;text-align:center;padding:var(--space-6) var(--space-5) var(--space-5);border-radius:var(--r-lg);background-color:var(--paper-raised);background-image:var(--grain-sheet);box-shadow:var(--shadow-pop);animation:lapse-in var(--dur-3) var(--ease-out)}.lapse-card h2{font-size:var(--t-xl);font-weight:700;letter-spacing:-.01em;margin:var(--space-3) 0 var(--space-2);text-wrap:balance}.lapse-card p{color:var(--ink-soft);font-size:var(--t-md);margin:0 0 var(--space-4)}@keyframes lapse-in{0%{opacity:0;transform:translateY(8px)}}.signin-card .signin-mark{margin:0 auto var(--space-3)}.signin-card .eyebrow{margin:0 0 var(--space-2);font-size:var(--t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.signin-card h1{font-size:var(--t-2xl);line-height:1.15}.signin-card h1 .swipe{--swipe-color: var(--hl-cyan)}.signin-card h1 .swipe:before{top:.16em;bottom:-.04em}.signin-card .lede{margin:0 0 var(--space-4);text-wrap:pretty}.signin-asks{list-style:none;margin:0 0 var(--space-5);padding:0;display:flex;flex-direction:column;gap:2px;font-family:var(--hand);font-size:var(--t-lg);line-height:1.35;color:var(--pi-deep);text-wrap:balance}.signin-asks li:nth-child(2n){transform:rotate(-.5deg)}.signin-appslabel{margin:0 0 var(--space-2);font-size:var(--t-xs);letter-spacing:.04em;color:var(--ink-faint)}.signin-apps{list-style:none;margin:0 0 var(--space-5);padding:0;display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.signin-apps li:nth-child(2n){transform:rotate(.7deg)}.signin-apps li:nth-child(3n){transform:rotate(-1deg)}.signin-trouble{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border:1px dashed var(--edge-danger);border-radius:var(--r-md);background:var(--stock-note);color:var(--ink-danger);font-size:var(--t-md)}.signin-card .signin-btn{width:100%;padding:12px var(--space-5);font-size:var(--t-nav)}.signin-card .privacy{margin:var(--space-4) 0 0;font-size:var(--t-md);color:var(--ink-soft)}.signin-card .footnote{margin-top:var(--space-2);line-height:1.5}.signin-card .colophon{justify-content:center;margin-top:var(--space-4)}@media(max-width:820px){.drawer-close{display:grid}.scrim{display:block}.sidebar{visibility:hidden;transition:transform var(--dur-3) var(--ease-out),visibility 0s linear var(--dur-3)}.sidebar.open{visibility:visible;transition:transform var(--dur-3) var(--ease-out),visibility 0s}.nav-tabs{gap:4px}.skel-composer{width:calc(100% - var(--space-4) * 2)}}@media(prefers-reduced-motion:reduce){.lapse-card{animation:none}.sidebar .new-chat:hover .plus-dot,.sidebar .new-chat:active .plus-dot{transform:none}}.color-cyan{--ws-color: #087e99;--ws-wash: #d9f4fb}.color-violet{--ws-color: #7b40a4;--ws-wash: #f0e3fa}.color-pink{--ws-color: #ac4177;--ws-wash: #fbe4f1}.color-orange{--ws-color: #b9670c;--ws-wash: #fff0d6}.color-green{--ws-color: #35754c;--ws-wash: #e0f1e5}.color-yellow{--ws-color: #806710;--ws-wash: #fff6c5}.ws-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;padding:0;border:0;border-radius:5px;color:var(--ink-soft);background:transparent;cursor:pointer}.ws-icon:hover{background:#edf0f2;color:var(--ink)}.ws-icon:focus-visible,.workspace-nav:focus-visible{outline:2px solid var(--pi-deep);outline-offset:2px}.ws .chat-list-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.ws .chat-list-label a{color:inherit;text-decoration:none}.workspace-nav{display:flex;align-items:center;gap:9px;padding:8px 10px;color:var(--ink-soft);text-decoration:none;font:13px/1.3 var(--sans);width:100%;border:0;background:transparent;cursor:pointer;text-align:left;border-radius:5px}.workspace-nav>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-nav small{margin-left:auto;font:11px var(--mono)}.workspace-nav:hover,.workspace-nav.active{background:var(--ws-wash, var(--pi-wash));color:var(--ws-color, var(--pi-deep))}.workspace-dot{display:inline-block;width:10px;height:10px;flex:0 0 10px;border-radius:2px;background:var(--ws-color, #087e99)}.workspace-page{width:100%;max-width:1100px;margin:0 auto;padding:46px 42px 32px;overflow-y:auto;min-height:0;flex:1}.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.workspace-heading h1{margin:0;display:flex;align-items:center;gap:12px;font:650 28px/1.2 var(--sans);overflow-wrap:anywhere}.workspace-heading h1 .workspace-dot{width:18px;height:24px;flex-basis:18px;border-radius:3px}.workspace-heading p{color:var(--ink-faint);margin:10px 0 0;font-size:13px}.workspace-back{color:var(--ink-faint);font-size:12px;background:none;border:0;padding:0;margin:0 0 14px;cursor:pointer}.workspace-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0}.workspace-actions .btn,.workspace-page .btn{border-radius:6px}.workspace-search{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--rule);padding:10px 0;margin-bottom:24px;max-width:340px;color:var(--ink-faint)}.workspace-search input{background:transparent;border:0;font-size:13px;color:var(--ink);width:100%}.workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workspace-tile{min-width:0;display:flex;flex-direction:column;border:1px solid #e2e3e6;border-top:3px solid var(--ws-color);border-radius:7px;padding:20px;text-decoration:none;background:#fff;color:var(--ink)}.workspace-tile:hover{border-color:var(--ws-color)}.workspace-folder{display:inline-flex;align-items:center;justify-content:center;background:var(--ws-wash);color:var(--ws-color);width:42px;height:42px;border-radius:6px}.workspace-tile h2{font:650 16px/1.4 var(--sans);margin:18px 0 8px;overflow-wrap:anywhere}.workspace-tile p{color:var(--ink-faint);font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;white-space:pre-wrap;margin:0 0 22px;overflow-wrap:anywhere}.workspace-tile footer{display:flex;justify-content:space-between;gap:8px;margin-top:auto;font-size:11px;color:var(--ink-soft)}.workspace-empty{padding:50px 16px;text-align:center;color:var(--ink-soft)}.workspace-empty h2{font:500 19px/1.5 var(--sans);margin:18px 0}.workspace-tabs{display:flex;gap:24px;border-bottom:1px solid var(--rule);margin-bottom:16px}.workspace-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;font:500 13px var(--sans);color:var(--ink-soft);cursor:pointer}.workspace-tabs button[aria-selected=true]{border-bottom-color:var(--pi-deep);color:var(--pi-deep)}.workspace-chat-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--rule-soft)}.workspace-chat-row>a{display:flex;flex:1;min-width:0;align-items:center;gap:14px;color:var(--ink);text-decoration:none;padding:18px 0}.workspace-chat-row strong{font:500 14px/1.4 var(--sans);overflow-wrap:anywhere}.workspace-chat-row a:hover strong{color:var(--pi-deep)}.workspace-chat-row time{font:11px var(--sans);color:var(--ink-faint);margin-left:auto;white-space:nowrap}.workspace-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px 0}.workspace-source{display:flex;align-items:flex-start;gap:8px;padding:16px;border:1px solid var(--rule);border-radius:6px;background:#fff;min-width:0}.workspace-source a{flex:1;min-width:0;color:var(--ink);text-decoration:none;display:flex;flex-wrap:wrap;gap:8px;font-size:13px}.workspace-source a span{display:block;width:100%;order:3;line-height:1.5;color:var(--ink-soft);overflow-wrap:anywhere}.workspace-source a .icon{margin-left:auto}.workspace-sources>.workspace-empty{grid-column:1 / -1}.workspace-context{padding:12px 0 24px}.workspace-context>div{display:flex;align-items:center;justify-content:space-between}.workspace-context h2{font:600 16px var(--sans)}.workspace-context>p{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.8 var(--sans);max-width:720px}.workspace-context>.muted{color:var(--ink-faint)}.workspace-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding-top:16px;border-top:1px solid var(--rule);color:var(--ink-faint);font-size:11px}.workspace-delete{border:0;background:transparent;color:var(--ink-danger);font-size:11px;cursor:pointer}.workspace-modal{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid #dadddf;border-radius:8px;padding:24px;background:#fff;color:var(--ink);box-shadow:0 20px 70px #15283526}.workspace-modal::backdrop{background:#17252e55}.workspace-modal>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.workspace-modal h2{font:650 19px/1.4 var(--sans);margin:0;overflow-wrap:anywhere}.workspace-modal>p{font-size:14px;line-height:1.6}.workspace-form{display:flex;flex-direction:column;gap:20px}.workspace-form>label{display:flex;flex-direction:column;gap:8px;font:600 12px var(--sans)}.workspace-form input:not([type=radio]),.workspace-form textarea,.workspace-form select{width:100%;min-width:0;padding:10px 12px;border:1px solid #cfd5d9;border-radius:5px;background:#fff;color:var(--ink);font:14px/1.5 var(--sans)}.workspace-form textarea{resize:vertical;min-height:120px}.workspace-form input:focus-visible,.workspace-form select:focus-visible,.workspace-form textarea:focus-visible{outline:2px solid var(--pi-deep);outline-offset:2px}.workspace-form footer,.workspace-modal>footer{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.workspace-form .source-preview{margin:0;font:14px/1.6 var(--sans)}.workspace-colors{border:0;margin:0;padding:0;display:flex;gap:12px}.workspace-colors legend{font:600 12px var(--sans);margin-bottom:10px}.ws-color{position:relative;display:grid;place-items:center;background:var(--ws-wash);color:var(--ws-color);width:34px;height:34px;border-radius:5px;cursor:pointer;border:1px solid transparent}.ws-color:has(input:checked){border-color:var(--ws-color)}.ws-color input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.ws-color:has(input:focus-visible){outline:2px solid var(--pi-deep);outline-offset:3px}.ws-error{color:var(--ink-danger);font-size:13px;line-height:1.5;margin:10px 0}.chat-workspace-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 24px;border-bottom:1px solid var(--rule-soft);min-height:46px}.workspace-crumb{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;color:var(--ink-soft);font:500 12px var(--sans);padding:0;max-width:55%;overflow-wrap:anywhere}button.workspace-crumb{cursor:pointer}.chat-workspace-bar select{margin-left:auto;min-width:0;max-width:40%;border:1px solid var(--rule);border-radius:5px;background:var(--paper);padding:6px 8px;color:var(--ink-soft);font-size:11px}.chat-workspace-bar .ws-error{width:100%;margin:0}@media(max-width:1100px){.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-heading{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.workspace-page{padding:28px 18px}.workspace-grid,.workspace-sources{grid-template-columns:1fr}.workspace-heading h1{font-size:24px}.workspace-chat-row time{display:none}.workspace-modal{padding:20px}.workspace-colors{gap:10px}.chat-workspace-bar{padding:9px 16px}}
