*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"kern","liga";font-optical-sizing:auto;height:100dvh;transition:background var(--dur-state) var(--ease), color var(--dur-state) var(--ease);font-size:15px;line-height:1.55;overflow:hidden}::-webkit-scrollbar{width:0;height:0}*{scrollbar-width:none}:focus{outline:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}.shell{flex-direction:column;height:100dvh;min-height:0;display:flex}.nav{min-height:54px;padding-left:var(--s-2xl);padding-right:var(--s-2xl);z-index:var(--z-sticky);flex:none;align-items:stretch;display:flex;position:sticky;top:0}.nav>*{z-index:1;position:relative}.nav:before{content:"";pointer-events:none;z-index:0;background:var(--bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:116px;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0% 16%,#000000f2 22%,#000000d6 29%,#000000a8 38%,#00000078 48%,#0000004f 58%,#00000030 68%,#0000001a 78%,#0000000d 88%,#00000005 95%,#0000 100%);mask-image:linear-gradient(#000 0% 16%,#000000f2 22%,#000000d6 29%,#000000a8 38%,#00000078 48%,#0000004f 58%,#00000030 68%,#0000001a 78%,#0000000d 88%,#00000005 95%,#0000 100%)}.brand{font-family:var(--sans);letter-spacing:-.02em;color:var(--fg);align-items:center;font-size:22px;font-weight:700;line-height:1;display:inline-flex}.nav-spacer{flex:1}.menu-wrap{align-self:stretch;align-items:center;display:flex;position:relative}.menu-trigger{color:var(--fg);place-items:center;padding:8px 0;display:grid;position:relative;top:3px}.plus{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px;transition:transform var(--dur-enter) var(--ease)}.menu-wrap:hover .plus,.menu-wrap.open .plus{transform:rotate(90deg)}.menu{z-index:var(--z-popover);background:var(--bg);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);transform-origin:100% 0;opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--dur-enter) var(--ease), transform var(--dur-enter) var(--ease), visibility 0s linear var(--dur-enter);grid-template-columns:repeat(3,52px);gap:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;transform:scale(.94)translateY(-5px)}.menu:before{content:"";height:8px;position:absolute;top:-8px;left:0;right:0}.menu-wrap:hover .menu,.menu-wrap.open .menu{opacity:1;pointer-events:auto;visibility:visible;transition:opacity var(--dur-enter) var(--ease), transform var(--dur-enter) var(--ease), visibility 0s;transform:none}[data-theme=dark] .menu{background:var(--bg-soft2)}.cell{border-radius:var(--r-md);height:52px;color:var(--fg);justify-content:center;align-items:center;display:flex;position:relative}.cell .ic{color:var(--fg-2);transition:color var(--dur-state) var(--ease);place-items:center;display:grid}.cell .ic svg{width:18px;height:18px}.cell:after{content:"";border-radius:var(--r-md);box-shadow:inset 0 0 0 0 var(--fg);transition:box-shadow var(--dur-state) var(--ease);position:absolute;inset:0}.cell:hover:after,.cell:focus-visible:after{box-shadow:inset 0 0 0 1.5px var(--fg)}.cell:hover .ic,.cell:focus-visible .ic{color:var(--fg)}.menu--switch{grid-template-columns:repeat(3,66px)}.menu--switch .cell{flex-direction:column;gap:5px;height:60px;padding-top:9px;text-decoration:none}.menu--switch .cell .lbl{font-family:var(--sans);letter-spacing:-.005em;color:var(--fg-3);transition:color var(--dur-state) var(--ease);font-size:11px;font-weight:500;line-height:1}.menu--switch .cell:hover .lbl,.menu--switch .cell:focus-visible .lbl{color:var(--fg)}.menu--switch .cell[aria-current=page]{cursor:default}.menu--switch .cell[aria-current=page] .ic,.menu--switch .cell[aria-current=page] .lbl{color:var(--fg-4)}.menu--switch .cell[aria-current=page]:after{box-shadow:inset 0 0 0 1px var(--rule)}@media (prefers-reduced-motion:reduce){.menu,.menu *,.plus{transition:none!important}}.scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#00000005 4px,#0000000d 10px,#0000001a 18px,#00000030 26px,#0000004f 34px,#00000078 42px,#000000a8 50px,#000000d6 57px,#000000f2 64px,#000 68px);mask-image:linear-gradient(#0000 0,#00000005 4px,#0000000d 10px,#0000001a 18px,#00000030 26px,#0000004f 34px,#00000078 42px,#000000a8 50px,#000000d6 57px,#000000f2 64px,#000 68px)}.thread{max-width:1080px;padding:var(--s-2xl) var(--s-2xl) var(--s-2xl);align-items:flex-start;gap:var(--s-3xl);flex-direction:column;margin:0 auto;display:flex}.thread>*{width:100%;max-width:680px}.thread>.msg.ai{align-items:flex-start;max-width:920px}.msg.ai>*{align-self:flex-start;width:100%;max-width:680px}.msg.ai>.afig,.msg.ai>.compare{max-width:920px}.msg.in,.recall.in,.complete.in,.phase.in{opacity:0;animation:in var(--dur-enter) var(--ease) forwards;transform:translateY(7px)}@keyframes in{to{opacity:1;transform:none}}.msg.user{justify-content:flex-end;margin-top:40px;display:flex}.msg.user .body{font-family:var(--serif);color:var(--fg-2);background:var(--bg-soft);border-radius:var(--r-lg) 12px 4px 12px;max-width:80%;padding:12px 16px;font-size:17px}.msg.ai{gap:var(--s-lg);flex-direction:column;display:flex}.block-head{flex-direction:column;gap:6px;display:flex}.block-eyebrow{font-family:var(--sans);color:var(--fg-3);font-size:13px;font-weight:500}.block-title{font-family:var(--sans);letter-spacing:-.025em;color:var(--fg);font-size:clamp(26px,2.6vw,30px);font-weight:600;line-height:1.1}.lede{font-family:var(--serif);color:var(--fg);letter-spacing:-.005em;font-size:21px;line-height:1.45}.prose{font-family:var(--serif);letter-spacing:-.003em;color:var(--fg-prose);font-size:20px;line-height:1.6}.prose.dim{color:var(--fg-2)}.prose strong{font-weight:600}.eyebrow{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-size:11px;font-weight:500}.flow-line{font-family:var(--serif);color:var(--fg-2);font-size:19px;line-height:1.6}.flow-line strong{color:var(--fg);font-weight:600}.flow-line .arr{color:var(--fg-4);margin:0 .26em}.exam-point{border-left:2px solid var(--exam);padding-left:18px}.exam-point .tag{display:none}.exam-point .txt{font-family:var(--serif);color:var(--fg);font-size:19px;line-height:1.55}.exam-point strong{font-weight:600}.afig .frame{border:1px solid var(--rule);border-radius:var(--r-sm);background:#fff;position:relative;overflow:hidden}:root[data-theme=dark] .afig .frame{background:#f4f4f4}.afig .frame.pad{padding:24px 30px}.afig img{width:100%;height:auto;display:block}.afig .badge{font-family:var(--sans);letter-spacing:.01em;color:var(--fg-3);background:color-mix(in oklab, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--rule-soft);border-radius:var(--r-xs);padding:4px 9px;font-size:11px;font-weight:500;position:absolute;bottom:11px;left:11px}.compare{border:1px solid var(--rule);border-radius:var(--r-sm);overflow:hidden}.compare-row{align-items:baseline;gap:var(--s-lg);border-bottom:1px solid var(--rule-soft);grid-template-columns:8.5em 1fr 1fr;padding:11px 18px;display:grid}.compare-row:last-child{border-bottom:none}.compare-row.head{background:var(--bg-soft);border-bottom:1px solid var(--rule);padding-top:13px;padding-bottom:13px}.compare-row.head .h{font-family:var(--sans);letter-spacing:-.01em;color:var(--fg);font-size:15px;font-weight:600}.compare-row.head .h.crit{color:var(--exam)}.compare-row .lbl{font-family:var(--sans);color:var(--fg-3);font-size:13px;font-weight:500}.compare-row .val{font-family:var(--serif);color:var(--fg-2);font-size:16px;line-height:1.35}.compare-row .val.flag{color:var(--exam);font-weight:600}.recall{gap:var(--s-md);border-left:2px solid var(--primary);flex-direction:column;padding-left:18px;display:flex}.recall .eyebrow{display:none}.recall ol{gap:var(--s-md);flex-direction:column;margin:0;padding-left:1.3em;display:flex}.recall li{font-family:var(--serif);color:var(--fg);letter-spacing:-.005em;font-size:20px;line-height:1.45}.recall li::marker{color:var(--fg-4)}.recall li strong{font-weight:600}.msg.assess{gap:var(--s-md);flex-direction:column;display:flex}.verdict{font-family:var(--sans);letter-spacing:-.02em;font-size:24px;font-weight:600;line-height:1}.assess.correct .verdict{color:var(--primary)}.assess.partial .verdict{color:var(--amber)}.assess.gap .verdict{color:var(--exam)}.assess .explain{font-family:var(--serif);color:var(--fg);font-size:19px;line-height:1.6}.assess .explain strong{font-weight:600}.assess .explain .arr{color:var(--fg-4);margin:0 .22em}.spark{width:20px;height:20px;color:var(--fg-3);animation:9s linear infinite spin,.95s ease-in-out infinite alternate breathe}.spark svg{width:100%;height:100%;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%{opacity:.45}to{opacity:.9}}.chip-row{gap:var(--s-sm);flex-wrap:wrap;display:flex}.chip{font-family:var(--sans);color:var(--fg-2);border:1px solid var(--rule);border-radius:var(--r-pill);transition:border-color var(--dur-state) var(--ease), color var(--dur-state) var(--ease), background var(--dur-state) var(--ease);background:0 0;padding:9px 17px;font-size:13px;font-weight:500}.chip:hover{border-color:var(--fg-3);color:var(--fg)}.chip.go{color:var(--bg);background:var(--fg);border-color:var(--fg)}.chip.go:hover{background:color-mix(in oklab, var(--fg) 86%, var(--bg))}.phase{align-items:center;gap:var(--s-md);display:flex}.phase .line{background:var(--rule);flex:1;height:1px}.phase .lbl{font-family:var(--sans);color:var(--exam);font-size:13px;font-weight:500}.complete{gap:var(--s-xl);flex-direction:column;display:flex}.complete h2{font-family:var(--sans);letter-spacing:-.025em;color:var(--fg);font-size:26px;font-weight:600;line-height:1.2}.complete-stats{gap:var(--s-3xl);flex-wrap:wrap;display:flex}.stat .v{font-family:var(--sans);letter-spacing:-.03em;color:var(--fg);font-size:42px;font-weight:600;line-height:1}.stat.green .v{color:var(--primary)}.stat.red .v{color:var(--exam)}.stat .k{font-family:var(--sans);color:var(--fg-3);margin-top:8px;font-size:13px;font-weight:500}.complete .explain{font-family:var(--serif);color:var(--fg-2);font-size:17px;line-height:1.55}.complete .explain strong{color:var(--fg);font-weight:600}.msg.error .body{align-items:center;gap:var(--s-md);font-family:var(--sans);color:var(--fg-2);border:1px solid var(--rule);border-radius:var(--r-sm);padding:13px 16px;font-size:15px;display:flex}.msg.error .ico{color:var(--exam);display:grid}.msg.error .ico svg{width:18px;height:18px}.msg.error .etext{flex:1;min-width:0}.msg.error .retry{width:15px;height:15px;color:var(--exam);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;margin-left:auto;padding:0;font-size:0;display:grid}.msg.error .retry:before{content:"";background:var(--exam);width:15px;height:15px;transition:rotate var(--dur-state) var(--ease), scale var(--dur-state) var(--ease);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21%2012a9%209%200%201%201-2.64-6.36'/%3E%3Cpath%20d='M21%203v6h-6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M21%2012a9%209%200%201%201-2.64-6.36'/%3E%3Cpath%20d='M21%203v6h-6'/%3E%3C/svg%3E") 50%/contain no-repeat}.msg.error .retry:hover:before{rotate:-90deg;scale:1.18}.msg.error .retry.spin:before{animation:.7s linear infinite retry-spin}@keyframes retry-spin{0%{rotate:-90deg}to{rotate:270deg}}@media (prefers-reduced-motion:reduce){.msg.error .retry:before{transition:scale var(--dur-state) var(--ease);animation:none!important}.msg.error .retry:hover:before{rotate:0deg}}.skeleton{gap:var(--s-md);flex-direction:column;width:100%;max-width:680px;display:flex}.skeleton .sk{background:var(--rule);border-radius:var(--r-xs);animation:sk-breathe 1.6s var(--ease) infinite}.skeleton .sk-title{width:60%;height:28px;margin-bottom:var(--s-xs)}.skeleton .sk-line{height:17px}.skeleton .sk-line.w-90{width:92%}.skeleton .sk-line.w-80{width:84%}.skeleton .sk-line.w-60{width:56%}@keyframes sk-breathe{0%,to{opacity:.6}50%{opacity:1}}.empty{text-align:center;align-items:center;gap:var(--s-lg);padding:var(--s-3xl) var(--s-xl);flex-direction:column;display:flex}.empty .glyph{color:var(--fg-4)}.empty .glyph svg{width:26px;height:26px;display:block}.empty .line{font-family:var(--serif);color:var(--fg-2);max-width:40ch;font-size:19px;line-height:1.5}.empty .line strong{color:var(--fg);font-weight:600}.composer-wrap{padding:var(--s-md) 0 var(--s-xl);background:linear-gradient(to bottom, transparent 0%, var(--bg) 45%);flex:none}.composer{max-width:1080px;padding:0 var(--s-2xl);margin:0 auto}.composer-box{align-items:center;gap:var(--s-sm);background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-xl);max-width:680px;transition:border-color var(--dur-state) var(--ease);padding:8px 14px 8px 18px;display:flex}.composer-box:focus-within{border-color:var(--fg-3)}.composer-input{resize:none;font-family:var(--serif);color:var(--fg);background:0 0;border:none;outline:none;flex:1;max-height:150px;padding:4px 0;font-size:17px;line-height:1.45}.composer-input::placeholder{color:var(--fg-4)}.composer-send{color:var(--fg-4);transition:transform var(--dur-state) var(--ease), color var(--dur-state) var(--ease);flex:none;justify-content:center;align-items:center;padding:6px;display:inline-flex}.composer-send:active{transform:scale(.9)}.composer-send:hover{color:var(--fg-2)}.composer-send svg{width:16px;height:16px}body.awaiting .composer-box{border-color:color-mix(in oklab, var(--primary) 45%, var(--rule))}body.awaiting .composer-input::placeholder{color:var(--primary);opacity:.6}.dev-bar{background:var(--fg);border-radius:var(--r-pill);z-index:var(--z-overlay);font-family:var(--sans);gap:4px;padding:4px 6px;font-size:11px;font-weight:500;display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.dev-bar button{color:color-mix(in oklab, var(--bg) 70%, transparent);border-radius:var(--r-pill);transition:all var(--dur-state) var(--ease);padding:5px 13px}.dev-bar button:hover{color:var(--bg)}@media (width<=720px){.nav,.composer{padding-left:var(--s-lg);padding-right:var(--s-lg)}.thread{padding:var(--s-lg) var(--s-lg) var(--s-xl)}.compare-row{gap:var(--s-md);grid-template-columns:7em 1fr 1fr;padding:10px 14px}}@media (prefers-reduced-motion:reduce){.spark{opacity:.6;animation:none!important}.skeleton .sk{opacity:.65;animation:none!important}.msg.in,.recall.in,.complete.in,.phase.in{opacity:1;transform:none;animation:none!important}}
