:root{color:#17201d;background:#e9eee7;font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17201d;--ink-soft: #46514d;--paper: #fffdf7;--paper-deep: #f6f0df;--moss: #2f6f62;--moss-dark: #19443c;--brick: #9d382c;--gold: #c9851e;--cyan: #dceff0;--line: rgba(23, 32, 29, .14);--shadow: 0 18px 46px rgba(19, 31, 28, .13);--ease-out: cubic-bezier(.2, .82, .2, 1);--ease-spring: cubic-bezier(.18, 1.16, .32, 1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 18% 12%,rgba(47,111,98,.18),transparent 28rem),radial-gradient(circle at 86% 8%,rgba(157,56,44,.14),transparent 24rem),linear-gradient(115deg,rgba(23,32,29,.045) 0 1px,transparent 1px 18px),#e9eee7}body:before{position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(23,32,29,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,32,29,.025) 1px,transparent 1px);background-size:34px 34px;content:"";-webkit-mask-image:linear-gradient(to bottom,black,transparent 82%);mask-image:linear-gradient(to bottom,black,transparent 82%);animation:paperGridDrift 18s linear infinite}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,textarea{-webkit-tap-highlight-color:transparent}.app-shell{width:min(1120px,calc(100vw - 32px));margin:0 auto;padding:30px 0 52px;animation:shellReveal .52s var(--ease-out) backwards}.topbar,.story-nav,.story-title,.panel-toolbar,.source-panel,.truth-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar{position:relative;padding:18px 0 8px}.topbar>div,.topbar .api-pill,.story-nav,.story-title,.surface-band,.source-panel,.game-panel,.truth-panel{animation:riseIn .56s var(--ease-out) backwards}.topbar .api-pill,.source-panel{animation-delay:90ms}.story-title{animation-delay:70ms}.surface-band{animation-delay:.13s}.game-panel{animation-delay:.19s}.truth-panel{animation-delay:.25s}.topbar:after{position:absolute;right:150px;bottom:18px;width:min(38vw,360px);height:1px;background:linear-gradient(90deg,transparent,rgba(23,32,29,.36),transparent);content:""}.eyebrow{margin:0 0 8px;color:var(--brick);font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1,h2{font-family:"Noto Serif SC",STSong,SimSun,Georgia,serif;font-weight:800}h1{margin-bottom:0;font-size:clamp(2.35rem,7vw,5rem);line-height:.95}h2{margin-bottom:10px;font-size:1.28rem}.topbar-subtitle{max-width:520px;margin:14px 0 0;color:var(--ink-soft);line-height:1.75}.api-pill,.icon-button,.secondary-button,.reset-button,.ask-form button,.source-actions a,.model-select{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(23,32,29,.72);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer;font-weight:850;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.api-pill,.icon-button,.secondary-button,.reset-button,.source-actions a,.model-select{padding:0 14px}.api-pill{min-height:50px;border-color:transparent;background:var(--ink);color:#fffdf7;box-shadow:0 12px 24px #17201d33;overflow:hidden;position:relative}.api-pill:after,.ask-form button:after,.truth-dialog-action:after{position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 28%,rgba(255,253,247,.32) 46%,transparent 64% 100%);content:"";pointer-events:none;transform:translate(-120%)}.api-pill:hover,.ask-form button:hover,.icon-button:hover,.secondary-button:hover,.reset-button:hover,.source-actions a:hover,.model-select:hover{transform:translateY(-1px)}.api-pill:hover:after,.ask-form button:hover:after,.truth-dialog-action:hover:after{animation:sheenSweep .76s ease}.api-pill svg,.icon-button svg,.nav-round-button svg,.secondary-button svg,.reset-button svg,.source-actions a svg,.ask-form button svg,.settings-button svg,.filter-toggle svg,.hint-tray-toggle svg,.hint-chip svg{transition:transform .18s var(--ease-out),filter .18s ease}.api-pill:hover svg,.filter-toggle:hover svg,.settings-button:hover svg,.hint-tray-toggle:hover:not(:disabled) svg{transform:rotate(-8deg) scale(1.08)}.icon-button:hover svg,.nav-round-button:hover svg,.secondary-button:hover svg,.reset-button:hover svg,.source-actions a:hover svg,.ask-form button:hover svg{transform:translate(2px)}.api-pill:focus-visible,.icon-button:focus-visible,.nav-round-button:focus-visible,.secondary-button:focus-visible,.reset-button:focus-visible,.ask-form button:focus-visible,.source-actions a:focus-visible,.model-select:focus-visible,.chip:focus-visible,.model-option:focus-visible{outline:3px solid rgba(47,111,98,.28);outline-offset:3px}.intro-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.32fr);gap:28px;align-items:end;min-height:150px;margin:34px 0 24px;padding:34px;overflow:hidden;border:1px solid rgba(23,32,29,.16);border-radius:8px;background:linear-gradient(100deg,#fffdf7fa,#fffdf7bd 46%,#fffdf70a),url(https://images.unsplash.com/photo-1517777596320-4b8f925a087a?auto=format&fit=crop&w=1600&q=80);background-position:center;background-size:cover;box-shadow:var(--shadow);animation:introLift .7s var(--ease-out) .12s backwards;transition:background-position .65s ease,box-shadow .22s ease,transform .22s ease}.intro-band:hover{background-position:center 46%;box-shadow:0 24px 58px #131f1c2b;transform:translateY(-2px)}.intro-copy{max-width:720px}.intro-copy h2{max-width:680px;margin-bottom:12px;font-size:clamp(1.75rem,4vw,3.4rem);line-height:1.03}.intro-copy p,.api-note p,.surface-band p,.truth-panel p{color:var(--ink-soft);line-height:1.85;overflow-wrap:anywhere}.intro-ledger{display:grid;gap:8px;min-width:248px;padding:14px;border:1px solid rgba(23,32,29,.18);border-radius:8px;background:#fffdf7db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ledgerReveal .62s var(--ease-spring) .32s backwards}.intro-ledger span{display:grid;grid-template-columns:3ch minmax(7ch,1fr);align-items:baseline;gap:22px;color:var(--ink-soft);font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:900;line-height:1;text-align:right}.intro-ledger strong{display:inline-block;width:3ch;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum","tnum";font-weight:900;line-height:1;text-align:right}.filter-row,.tag-row,.card-badges{display:flex;flex-wrap:wrap;gap:8px}.filter-row{margin-bottom:0}.search-panel,.result-toolbar,.empty-results{border:1px solid var(--line);border-radius:8px;background:#fffdf7db;box-shadow:0 1px #ffffffb8 inset}.search-panel{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:14px;align-items:center;margin:18px 0;padding:16px;animation:riseIn .52s var(--ease-out) .22s backwards}.search-field,.page-size-control{display:grid;gap:8px;color:var(--ink-soft);font-size:.9rem;font-weight:850}.search-field input,.page-size-control select{min-height:42px;border:1px solid rgba(23,32,29,.18);border-radius:8px;background:#fffdf7;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search-field input{width:100%;padding:0 13px;font-weight:400}.page-size-control select{min-width:128px;padding:0 38px 0 12px;cursor:pointer}.search-field input:focus,.page-size-control select:focus{border-color:#2f6f6294;box-shadow:0 0 0 3px #2f6f6224}.filter-toggle{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(23,32,29,.16);border-radius:999px;background:#fffdf7;color:#293430;cursor:pointer;font-weight:900;padding:0 18px;white-space:nowrap;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.filter-toggle:hover{transform:translateY(-1px);border-color:#17201d57}.filter-toggle.active{border-color:var(--ink);background:var(--ink);color:#fffdf7;box-shadow:0 10px 24px #17201d1f}.filter-toggle.active svg{animation:filterSettle .36s var(--ease-spring)}.filter-tray{display:grid;grid-column:1 / -1;gap:12px;border-top:1px solid rgba(23,32,29,.12);padding-top:14px;animation:trayUnfold .26s var(--ease-out) backwards;transform-origin:top center}.reveal-filter{display:flex;min-height:42px;flex-wrap:wrap;gap:10px;align-items:flex-end;border:0;margin:0;padding:0}.reveal-filter legend{width:100%;margin-bottom:0;color:var(--ink-soft);font-size:.9rem;font-weight:850}.reveal-filter label{display:inline-flex;min-height:42px;align-items:center;gap:7px;border:1px solid rgba(23,32,29,.16);border-radius:999px;background:#fffdf7;padding:0 12px;color:#293430;cursor:pointer;font-weight:800;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.reveal-filter label:hover{border-color:#2f6f6261;box-shadow:0 8px 18px #17201d12;transform:translateY(-1px)}.reveal-filter input{width:16px;height:16px;accent-color:var(--moss)}.chip,.tag-row span{border:1px solid rgba(23,32,29,.16);border-radius:999px;background:#fffdf7e0;color:#293430}.chip{min-height:36px;padding:0 14px;cursor:pointer;font-weight:780;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.chip:hover{transform:translateY(-1px);border-color:#17201d57}.chip.active{border-color:var(--ink);background:var(--ink);color:#fffdf7;animation:chipPop .22s var(--ease-spring)}.chip.difficulty-chip.easy{border-color:#16533438;background:#ddf3e5;color:#165334}.chip.difficulty-chip.medium{border-color:#985c043d;background:#ffe8b5;color:#6e4300}.chip.difficulty-chip.hard{border-color:#7d231c3d;background:#ffe0dc;color:#7d231c}.chip.difficulty-chip.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.result-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:20px;padding:12px 14px;background:#fffdf794;-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);animation:riseIn .52s var(--ease-out) .34s backwards}.result-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.result-summary p{margin:0;color:var(--ink-soft);font-weight:780}.page-size-picker{position:relative;z-index:3}.page-size-select{display:inline-flex;width:100%;min-height:42px;align-items:center;gap:8px;border:1px solid rgba(47,111,98,.28);border-radius:999px;padding:0 12px 0 16px;background:linear-gradient(180deg,#fffdf7f5,#f0f7f3db),var(--paper);color:var(--ink);cursor:pointer;box-shadow:0 8px 18px #17201d14,0 1px #ffffffd1 inset;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.page-size-select:hover{border-color:#2f6f6275;box-shadow:0 10px 22px #17201d1c,0 1px #ffffffe6 inset;transform:translateY(-1px)}.page-size-select:focus-visible{outline:3px solid rgba(47,111,98,.18);outline-offset:2px}.page-size-select span{color:#66736f;font-size:.78rem;font-weight:500}.page-size-select strong{font-size:1rem;font-weight:500;letter-spacing:.01em}.page-size-menu{position:absolute;top:calc(100% + 8px);left:0;width:100%;overflow:hidden;border:1px solid rgba(47,111,98,.24);border-radius:18px;background:#fffdf7fa;box-shadow:0 18px 36px #17201d29;animation:menuBloom .18s var(--ease-out) backwards;transform-origin:top left}.page-size-option{display:flex;width:100%;min-height:42px;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid rgba(47,111,98,.12);padding:0 13px 0 16px;background:transparent;color:var(--ink);cursor:pointer;font-weight:500;text-align:left}.page-size-option:last-child{border-bottom:0}.page-size-option:hover,.page-size-option:focus-visible{background:#e6f1ee;outline:none}.page-size-option.active{background:#dff1e9;color:var(--moss-dark)}.pagination,.pagination-pages{display:inline-flex;flex-wrap:wrap;gap:7px;align-items:center}.pagination-button{min-height:34px;border:1px solid rgba(23,32,29,.16);border-radius:999px;background:#fffdf7ad;color:var(--ink);padding:0 12px;cursor:pointer;font-weight:850;transition:transform .15s ease,border-color .15s ease,background-color .15s ease}.pagination-button:hover:not(:disabled){border-color:#17201d57;transform:translateY(-1px)}.pagination-button.active{border-color:var(--ink);background:#17201de6;color:#fffdf7}.pagination-button:disabled{cursor:not-allowed;opacity:.42}.pagination-pages span{color:var(--ink-soft);font-weight:900;padding:0 2px}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.story-card,.api-note,.surface-band,.source-panel,.game-panel,.truth-panel{border:1px solid var(--line);border-radius:8px;background:var(--paper)}.story-card{position:relative;display:flex;min-height:282px;flex-direction:column;padding:18px;overflow:hidden;box-shadow:0 1px #fffc inset;animation:cardDeal .52s var(--ease-out) backwards;animation-delay:calc(var(--card-index, 0) * 58ms + .28s);transition:transform .19s var(--ease-out),box-shadow .19s ease,border-color .19s ease,background-color .19s ease;will-change:transform}.story-card:before{position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--brick),var(--gold),var(--moss));content:"";opacity:.78;transition:opacity .18s ease,width .18s ease}.story-card:after{position:absolute;inset:0;background:linear-gradient(118deg,transparent 0 34%,rgba(255,253,247,.68) 45%,transparent 57% 100%);content:"";opacity:0;pointer-events:none;transform:translate(-110%)}.story-card.completed{border-color:#2f6f6257;background:linear-gradient(135deg,#dceff0c7,#fffdf7f0),var(--paper)}.story-card:hover{border-color:#17201d57;box-shadow:0 16px 34px #17201d24;transform:translateY(-5px) rotateX(1deg)}.story-card:hover:before{width:7px;opacity:1}.story-card:hover:after{animation:cardSheen .82s ease;opacity:1}.story-card:hover .difficulty,.story-card:hover .source-mini,.story-card:hover .completed-mark{transform:translateY(-1px)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:20px}.difficulty,.source-mini,.completed-mark,.entry-count{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:0 10px;font-size:.8rem;font-weight:850;transition:transform .16s var(--ease-out),box-shadow .16s ease}.difficulty.easy{background:#d7f0e2;color:#165334}.difficulty.medium{background:#ffe0a6;color:#684000}.difficulty.hard{background:#ffd3ce;color:#7d231c}.source-mini{background:#e8eceb;color:#40504b}.completed-mark{flex:0 0 auto;gap:5px;background:#dceff0;color:#235a5a}.completed-mark svg{animation:completedPulse 1.8s ease-in-out infinite}.story-card h2{margin-bottom:12px;font-size:1.45rem;line-height:1.25}.story-card p{color:#59635f;line-height:1.68;overflow-wrap:anywhere}.tag-row{margin-top:auto}.tag-row span{padding:5px 9px;font-size:.8rem}.source-line{margin-top:14px;color:#6a7470;font-size:.88rem}.empty-results{display:grid;min-height:180px;place-items:center;margin-top:22px;padding:28px;color:var(--ink-soft);text-align:center;animation:emptyFloat .48s var(--ease-out) backwards}.empty-results svg{color:var(--moss)}.empty-results p{margin:8px 0 0;font-weight:800}.api-note{margin-top:22px;padding:22px}code{border-radius:5px;background:#edf0ee;padding:2px 5px}.story-layout{max-width:980px}.story-nav{display:flex;justify-content:flex-start;gap:8px;margin-bottom:14px}.nav-round-button{position:relative;display:inline-grid;width:42px;height:42px;min-height:42px;place-items:center;overflow:hidden;border:1px solid rgba(23,32,29,.18);border-radius:999px;background:linear-gradient(180deg,#fffdf7f5,#ecf6f1d6),var(--paper);color:var(--ink);box-shadow:0 8px 20px #17201d14,0 1px #ffffffc7 inset;cursor:pointer;transition:transform .16s var(--ease-out),box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.nav-round-button:hover{border-color:#2f6f626b;box-shadow:0 12px 28px #17201d1f,0 1px #ffffffdb inset;transform:translateY(-2px)}.nav-round-button:active{transform:translateY(0) scale(.96)}.nav-round-button:after{position:absolute;inset:7px;border:1px solid rgba(47,111,98,.12);border-radius:inherit;content:"";pointer-events:none;transition:border-color .16s ease,inset .16s var(--ease-out)}.nav-round-button:hover:after{inset:5px;border-color:#2f6f623d}.nav-round-button svg{position:relative;z-index:1}.story-title{display:block;margin-bottom:18px}.story-heading-line{display:grid;grid-template-columns:minmax(0,max-content) auto;gap:12px;align-items:end;justify-content:start}.story-title h1{max-width:820px;font-size:clamp(2rem,6vw,4.4rem)}.story-heading-line .difficulty{align-self:end;margin-bottom:0;transform:none}.surface-band{position:relative;padding:26px 28px;overflow:hidden;border-color:#9d382c3d;background:linear-gradient(90deg,rgba(157,56,44,.08),transparent 38%),var(--paper)}.surface-band:before{position:absolute;top:18px;right:22px;color:#9d382c24;content:"CASE";font-family:Georgia,serif;font-size:3.6rem;font-weight:900;line-height:1}.surface-band h2,.surface-band p{position:relative}.source-panel,.game-panel,.truth-panel{margin-top:14px;padding:20px}.source-panel{align-items:flex-start;background:linear-gradient(135deg,#dceff09e,#fffdf7eb),var(--paper)}.source-panel p{margin-bottom:6px;color:#4d5a55;overflow-wrap:anywhere}.source-meta,.source-note{font-size:.92rem}.source-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.model-picker{position:relative;width:208px;max-width:100%}.model-select{width:100%;background:#fffdf7e6}.model-select span{flex:0 0 auto;color:#596761;font-size:.72rem;font-weight:720}.model-select strong{min-width:0;overflow:hidden;color:var(--ink);font-size:.86rem;text-overflow:ellipsis}.select-chevron{flex:0 0 auto;transition:transform .16s ease}.select-chevron.open{transform:rotate(180deg)}.model-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;border:1px solid var(--ink);border-radius:8px;background:var(--paper);box-shadow:0 14px 28px #17201d29;animation:menuBloom .18s var(--ease-out) backwards;transform-origin:top center}.model-option{display:block;width:100%;min-height:40px;border:0;border-bottom:1px solid rgba(23,32,29,.1);padding:0 14px;background:var(--paper);color:var(--ink);cursor:pointer;font:inherit;font-weight:780;text-align:left}.model-option:last-child{border-bottom:0}.model-option:hover,.model-option:focus-visible{background:#e6f1ee}.model-option.active{background:var(--ink);color:#fffdf7}.game-panel{border-color:#17201d3d;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}.panel-toolbar{align-items:center;margin:-20px -20px 0;border-bottom:0;padding:14px 18px;background:linear-gradient(135deg,#2f6f6217,#dceff033),#eef5f1;color:var(--ink)}.panel-heading{min-width:0;flex:1 1 280px}.panel-title-row{display:inline-flex;align-items:center;gap:12px;margin-bottom:6px}.panel-toolbar h2{margin-bottom:0}.panel-toolbar p{margin-bottom:0;color:#4e625b}.entry-count{flex:0 0 auto;min-height:32px;gap:7px;border:1px solid rgba(47,111,98,.28);background:linear-gradient(180deg,#fffdf7f2,#eaf6f1d1),var(--paper);color:var(--moss-dark);box-shadow:0 8px 18px #17201d12,0 1px #ffffffc7 inset;transform:translateY(-1px)}.settings-popover{position:relative;flex:0 0 auto}.settings-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(47,111,98,.22);border-radius:999px;padding:0 12px;background:#fffdf7b3;color:#40504b;cursor:pointer;font-size:.86rem;font-weight:820;white-space:nowrap;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.settings-button:hover{transform:translateY(-1px);border-color:#2f6f6261}.settings-button.active{border-color:var(--moss-dark);background:var(--moss-dark);color:#fffdf7}.settings-panel{position:absolute;z-index:24;top:calc(100% + 8px);right:0;display:grid;width:min(320px,calc(100vw - 44px));gap:10px;border:1px solid rgba(23,32,29,.22);border-radius:8px;padding:12px;background:#fffdf7fa;box-shadow:0 18px 40px #17201d2e;animation:menuBloom .19s var(--ease-out) backwards;transform-origin:top right}.settings-panel .model-picker,.settings-panel .model-select{width:100%}.switch{display:inline-flex;min-height:34px;align-items:center;gap:7px;border:1px solid rgba(47,111,98,.16);border-radius:999px;padding:0 10px;background:#fffdf78f;color:#40504b;font-size:.84rem;font-weight:760;white-space:nowrap}.switch input{width:15px;height:15px;accent-color:var(--moss)}.chat-list-shell{position:relative}.chat-list{display:flex;min-height:clamp(360px,46vh,560px);max-height:760px;flex-direction:column;gap:14px;overflow-y:auto;padding:16px 2px;scrollbar-color:rgba(23,32,29,.3) transparent;scroll-behavior:smooth}.empty-chat{display:grid;flex:1 1 auto;min-height:230px;place-items:center;border:1px dashed rgba(23,32,29,.18);border-radius:8px;color:#65716c;text-align:center;animation:emptyFloat .56s var(--ease-out) .26s backwards}.empty-chat svg{color:var(--gold);animation:sparkTwinkle 2.4s ease-in-out infinite}.empty-chat p{max-width:360px;margin-bottom:0;line-height:1.7}.guide-message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid rgba(47,111,98,.18);border-radius:8px;padding:13px 14px;background:linear-gradient(135deg,#ecf6f1f0,#fffdf7f0),var(--paper);color:#40504b;animation:messageSlide .42s var(--ease-out) .3s backwards}.guide-message span{display:block;margin-bottom:5px;color:var(--moss-dark);font-size:.76rem;font-weight:900}.guide-message-copy{display:grid;gap:6px}.guide-message-copy p{margin-bottom:0;line-height:1.62;overflow-wrap:anywhere}.guide-message-copy strong{color:var(--ink);font-weight:900}.guide-message-actions{display:inline-flex;gap:7px}.guide-message-action{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid rgba(23,32,29,.12);border-radius:999px;background:#fffdf7b3;color:#596761;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .15s var(--ease-out)}.guide-message-action:hover{background:#fffdf7f5;color:var(--ink);transform:rotate(8deg) scale(1.04)}.guide-message-confirm{border-color:#2f6f623d;background:#e8f6f0db;color:var(--moss-dark)}.guide-message-confirm:hover{background:var(--moss-dark);color:#fffdf7;transform:translateY(-1px) scale(1.05)}.guide-message-confirm:disabled{cursor:wait;opacity:.58}.hint-unlock-guide{border-color:#c9851e57;background:linear-gradient(135deg,#fff4d6f0,#fffdf7f0),var(--paper)}.mode-toast{position:absolute;z-index:12;top:18px;right:14px;display:inline-flex;width:fit-content;align-items:center;gap:7px;border:1px solid rgba(47,111,98,.24);border-radius:999px;pointer-events:none;padding:8px 12px;background:#105044c2;-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);color:#fffdf7;font-size:.86rem;font-weight:860;box-shadow:0 14px 30px #17201d29;animation:toastPop 1.9s var(--ease-out) both}.scroll-latest-button{position:absolute;z-index:9;right:12px;bottom:10px;display:inline-flex;width:fit-content;min-height:34px;align-items:center;gap:6px;border:1px solid var(--moss-dark);border-radius:999px;padding:0 12px;background:var(--moss-dark);color:#fffdf7;cursor:pointer;font:inherit;font-size:.82rem;font-weight:880;box-shadow:0 12px 24px #17201d21,0 0 0 2px #fffdf7e0;animation:latestButtonIn .18s var(--ease-out) both;transition:background-color .15s ease,color .15s ease,transform .15s var(--ease-out)}.scroll-latest-button:hover,.scroll-latest-button:focus-visible{background:#0e4a3f;color:#fffdf7;transform:translateY(-1px)}.scroll-latest-button svg{flex:0 0 auto}.chat-entry{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(168px,.65fr);gap:10px;animation:messageSlide .36s var(--ease-out) backwards;animation-delay:calc(var(--entry-index, 0) * 36ms)}.question-bubble,.answer-bubble{border-radius:8px;padding:14px;transition:box-shadow .16s ease,transform .16s var(--ease-out)}.chat-entry:hover .question-bubble,.chat-entry:hover .answer-bubble{box-shadow:0 10px 24px #17201d14}.chat-entry:hover .question-bubble{transform:translate(2px)}.chat-entry:hover .answer-bubble{transform:translate(-2px)}.question-bubble{border:1px solid rgba(47,111,98,.14);background:#edf5f1}.answer-bubble{border:1px solid rgba(23,32,29,.12);background:#fff3d8}.answer-bubble.yes{background:#dcf2e4}.answer-bubble.no{background:#f9e0dc}.answer-bubble.both{background:#fff0c7}.answer-bubble.irrelevant{background:#ecefee}.answer-bubble.solved{border-color:#1a6f5247;background:#dff7ef}.question-bubble span,.answer-bubble span{display:block;margin-bottom:6px;color:#63706b;font-size:.76rem;font-weight:850}.question-bubble p,.answer-bubble p{margin-bottom:0;line-height:1.68;overflow-wrap:anywhere}.question-bubble p{color:#06120f;font-size:1.35rem;font-weight:950;line-height:1.38}.answer-bubble strong{display:block;margin-bottom:6px;font-size:1.35rem}.hint-shelf{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:stretch;gap:8px;margin:0 0 8px}.hint-meter{position:relative;display:inline-flex;min-width:152px;min-height:38px;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(47,111,98,.2);border-radius:8px;padding:0 12px;background:linear-gradient(180deg,#fffdf7eb,#ecf6f1d1),var(--paper);color:#46514d;font-size:1rem;font-weight:950;line-height:normal;overflow:hidden}.hint-meter:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(47,111,98,.12),transparent);content:"";transform:translate(-110%)}.hint-shelf:hover .hint-meter:after{animation:meterSweep 1s ease}.hint-meter span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.hint-meter strong{flex:0 0 auto;color:var(--moss-dark);font-weight:950}.hint-tray-toggle{display:inline-flex;min-width:0;min-height:38px;align-items:center;justify-content:center;gap:7px;border-color:#c9851e4d;border-radius:8px;padding:0 12px;background:linear-gradient(145deg,#fffdf7f5,#fff4d6d1);color:var(--brick);font-size:1rem;font-weight:950;line-height:normal;white-space:nowrap;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s var(--ease-out)}.hint-tray-toggle:hover:not(:disabled){border-color:#c9851e94;box-shadow:0 10px 22px #c9851e1f;transform:translateY(-1px)}.hint-tray-toggle[aria-expanded=true]{animation:hintGlow 1.8s ease-in-out infinite}.hint-tray-toggle strong{color:var(--moss-dark);font-size:1rem}.hint-strip{display:none;grid-column:1 / -1;grid-auto-columns:max-content;grid-auto-flow:column;grid-template-columns:none;gap:10px;overflow-x:auto;padding:4px 0;scrollbar-width:thin}.hint-tray-toggle[aria-expanded=true]~.hint-strip{display:grid;animation:trayUnfold .23s var(--ease-out) backwards;transform-origin:top left}.hint-chip{display:inline-flex;align-items:center;justify-content:flex-start;min-width:176px;min-height:38px;border-color:#c9851e47;border-radius:8px;padding:6px 10px;background:linear-gradient(145deg,#fffdf7f5,#fff4d6d1);color:#5d3f18;text-align:left;box-shadow:0 8px 18px #17201d0f;transition:border-color .15s ease,box-shadow .15s ease,transform .15s var(--ease-out),background-color .15s ease}.hint-chip:hover:not(:disabled){border-color:#c9851e94;transform:translateY(-1px)}.hint-chip span{display:inline-flex;align-items:center;gap:5px;color:var(--brick);font-size:.78rem;font-weight:950;line-height:1;white-space:nowrap}.hint-chip strong{display:block;margin-left:8px;color:#342715;font-size:.88rem;font-weight:400;line-height:1.28;white-space:nowrap}.hint-chip.revealed{border-color:#2f6f624d;background:linear-gradient(145deg,#eff7f3f2,#fffdf7eb);animation:hintReveal .28s var(--ease-spring)}.hint-chip:disabled{cursor:default;opacity:.76}.ask-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding-top:4px}.ask-input-shell{position:relative;display:grid;overflow:hidden;border:1px solid rgba(23,32,29,.2);border-radius:8px;background:#fffefa;transition:border-color .15s ease,box-shadow .15s ease,transform .15s var(--ease-out)}.ask-input-shell:focus-within{border-color:var(--moss);box-shadow:0 0 0 3px #2f6f621f;transform:translateY(-1px)}.ask-form textarea{position:relative;z-index:1;width:100%;min-height:50px;max-height:150px;border:0;padding:13px 14px 8px;background:transparent;line-height:1.45;outline:none;overflow-y:hidden;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease,transform .15s var(--ease-out)}.ask-form textarea:focus{box-shadow:none}.unlock-progress{position:absolute;z-index:0;inset:0;pointer-events:none}.unlock-progress-track{display:block;position:relative;height:100%;overflow:hidden}.unlock-progress-track:before{position:absolute;inset:0 auto 0 0;width:var(--unlock-progress, 0%);background:linear-gradient(90deg,#2f6f620b,#2f6f621b 60%,#e9f7f02e);content:"";transition:width .32s var(--ease-out)}.unlock-progress-track:after{position:absolute;top:0;bottom:0;left:var(--unlock-progress, 0%);width:18px;background:linear-gradient(90deg,rgba(47,111,98,.2),transparent 68%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='90' viewBox='0 0 18 90'%3E%3Cpath d='M8 0 C14 11 3 22 8 34 C13 46 3 58 8 70 C11 78 6 84 8 90' fill='none' stroke='%232f6f62' stroke-opacity='.34' stroke-width='2.1' stroke-linecap='round'/%3E%3C/svg%3E") center / 18px 100% no-repeat;content:"";filter:blur(.3px);opacity:.62;transform:translate(-9px);animation:waterLineDrift 2.2s ease-in-out infinite;transition:left .32s var(--ease-out)}.ask-form button{position:relative;min-width:108px;min-height:50px;border-color:transparent;background:var(--moss-dark);color:#fffdf7;overflow:hidden}.ask-form button:disabled,.ask-form textarea:disabled,.switch:has(input:disabled){cursor:wait;opacity:.68}.error-text{margin:10px 0 0;color:#b42318;font-weight:780}.truth-panel{align-items:flex-start}.truth-panel.revealed{border-color:#c9851e57;background:linear-gradient(120deg,#ffe8b5b8,#fffdf7f2),var(--paper);animation:truthPanelReveal .54s var(--ease-out) backwards}.truth-dialog-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 34%,rgba(255,241,196,.52),transparent 18rem),#09100e94;animation:truthBackdropIn .18s ease-out both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.truth-dialog{position:relative;z-index:2;width:min(620px,100%);max-height:min(78vh,680px);overflow:hidden;border:1px solid rgba(255,248,224,.72);border-radius:8px;padding:34px;background:linear-gradient(145deg,#fffdf7fa,#f7eccff5),var(--paper);box-shadow:0 34px 90px #030a085c,0 1px #ffffffdb inset;text-align:left;animation:truthDialogIn .36s cubic-bezier(.2,.9,.18,1.08) both}.truth-dialog.confirm{width:min(560px,100%)}.truth-dialog:before{position:absolute;inset:12px;border:1px solid rgba(47,111,98,.16);border-radius:6px;content:"";pointer-events:none}.truth-dialog:after{position:absolute;right:-64px;bottom:-88px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(201,133,30,.28),transparent 66%);content:"";pointer-events:none}.truth-dialog-close{position:absolute;top:16px;right:16px;z-index:2;width:38px;height:38px;min-height:38px;border-color:#17201d1f;border-radius:999px;padding:0;background:#fffdf7b8;color:var(--ink)}.truth-dialog-close:hover,.truth-dialog-action:hover{transform:translateY(-1px)}.truth-dialog-icon{position:relative;z-index:1;display:grid;width:58px;height:58px;place-items:center;border-radius:999px;background:linear-gradient(145deg,#19443cf5,#2f6f62eb);color:#fffdf7;box-shadow:0 14px 34px #19443c3d}.truth-dialog.confirm .truth-dialog-icon{background:linear-gradient(145deg,#9d382cf5,#c9851ee0);box-shadow:0 14px 34px #9d382c33}.truth-dialog-kicker{position:relative;z-index:1;margin:20px 0 8px;color:var(--brick);font-size:.82rem;font-weight:950;letter-spacing:0}.truth-dialog h2{position:relative;z-index:1;max-width:calc(100% - 42px);margin:0;color:var(--ink);font-size:clamp(1.85rem,5vw,3.1rem);line-height:1.04}.truth-dialog-body{position:relative;z-index:1;max-height:min(34vh,260px);margin:22px 0 0;overflow-y:auto;border-left:4px solid rgba(201,133,30,.62);padding:2px 0 2px 18px;color:#25302c;font-size:1.08rem;font-weight:650;line-height:1.82;overflow-wrap:anywhere;scrollbar-color:rgba(23,32,29,.32) transparent}.truth-dialog.confirm .truth-dialog-body{max-height:none;border-left-color:#9d382c6b;color:#3a302a}.truth-dialog-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:28px}.truth-dialog-action{position:relative;z-index:1;border-color:transparent;background:var(--moss-dark);color:#fffdf7;box-shadow:0 14px 28px #19443c33;overflow:hidden}.truth-dialog-action.secondary{border-color:#17201d24;background:#fffdf7b8;color:var(--ink);box-shadow:none}.confetti-canvas{position:fixed;inset:0;z-index:3;width:100vw;height:100vh;pointer-events:none}.story-action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.story-action-row .reset-button,.story-action-row .secondary-button{flex:0 1 auto}.site-footer{margin-top:38px;padding-top:20px;border-top:1px solid rgba(23,32,29,.14);color:#65716c;font-size:.82rem;line-height:1.6;text-align:center}.site-footer p{margin:0}.site-footer a{color:var(--brick);text-decoration:underline;text-underline-offset:2px}.site-footer a+a{margin-left:12px}.site-footer .footer-note{margin-top:6px;color:#7c8782;font-size:.78rem}.footer-sponsors{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.site-footer .footer-sponsor{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:760;text-decoration:none}.footer-sponsor img{width:36px;height:36px;border:2px solid rgba(139,58,36,.18);border-radius:50%;object-fit:cover;transition:border-color .16s ease,transform .16s ease}.footer-sponsor:hover img{border-color:var(--brick);transform:translateY(-1px)}.footer-sponsor:focus-visible{border-radius:6px;outline:3px solid rgba(139,58,36,.22);outline-offset:3px}.deerflow-signature{display:inline-flex;margin-top:12px;color:#17201d73!important;font-size:.72rem;font-weight:800;letter-spacing:0;text-decoration:none!important;animation:signatureInk .68s ease .65s backwards;transition:color .16s ease,transform .16s ease}.deerflow-signature:hover{color:var(--ink)!important;transform:translateY(-1px)}.centered-state{display:grid;min-height:80vh;place-items:center;text-align:center}.spin{animation:spin .85s linear infinite}@keyframes shellReveal{0%{opacity:0}}@keyframes paperGridDrift{0%{background-position:0 0,0 0}to{background-position:34px 34px,34px 34px}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes introLift{0%{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ledgerReveal{0%{opacity:0;transform:translate(18px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes trayUnfold{0%{opacity:0;transform:translateY(-8px) scaleY(.94)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes cardDeal{0%{opacity:0;transform:translateY(18px) rotateX(-4deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}@keyframes cardSheen{0%{transform:translate(-110%)}to{transform:translate(110%)}}@keyframes sheenSweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes menuBloom{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chipPop{50%{transform:translateY(-1px) scale(1.04)}}@keyframes filterSettle{45%{transform:rotate(-12deg) scale(1.12)}}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toastPop{0%{opacity:0;transform:translateY(-8px) scale(.96)}12%,82%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes waterLineDrift{0%,to{transform:translate(-9px) scaleX(1)}50%{transform:translate(-7px) scaleX(.9)}}@keyframes latestButtonIn{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes emptyFloat{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkTwinkle{0%,to{filter:drop-shadow(0 0 0 rgba(201,133,30,0));transform:scale(1)}50%{filter:drop-shadow(0 0 10px rgba(201,133,30,.36));transform:scale(1.08) rotate(6deg)}}@keyframes completedPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes meterSweep{0%{transform:translate(-110%)}to{transform:translate(110%)}}@keyframes hintGlow{0%,to{box-shadow:0 8px 18px #c9851e0d}50%{box-shadow:0 12px 28px #c9851e2e}}@keyframes hintReveal{0%{transform:scale(.96)}60%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes truthPanelReveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes signatureInk{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes truthBackdropIn{0%{opacity:0}}@keyframes truthDialogIn{0%{opacity:0;transform:translateY(18px) scale(.96)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.truth-dialog-backdrop,.truth-dialog{animation:none}}@media(max-width:900px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.intro-band,.story-grid,.chat-entry,.search-panel{grid-template-columns:1fr}.topbar,.source-panel,.truth-panel{align-items:stretch;flex-direction:column}.panel-toolbar{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.topbar:after{display:none}.entry-count{width:fit-content}.ask-form{grid-template-columns:1fr}.result-toolbar,.result-summary{align-items:stretch;flex-direction:column;justify-content:flex-start}.reveal-filter{justify-content:flex-start}.pagination{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px}.pagination-pages{width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:2px 0;scrollbar-width:none}.pagination-pages::-webkit-scrollbar{display:none}.page-size-control,.page-size-control select,.page-size-picker,.page-size-select{width:100%}.pagination>.pagination-button{min-width:72px}.pagination-pages .pagination-button{min-width:34px;flex:1 0 34px;padding:0 8px}.ask-form button{width:100%}.truth-dialog{padding:28px}.truth-dialog h2{max-width:100%}}@media(max-width:560px){.app-shell{width:min(1120px,calc(100vw - 22px));padding-top:18px}h1{font-size:clamp(2.15rem,14vw,3.7rem)}.story-heading-line{grid-template-columns:1fr;gap:10px}.story-heading-line .difficulty{width:fit-content;margin-bottom:0}.intro-band,.surface-band,.source-panel,.game-panel,.truth-panel,.api-note{padding:16px}.game-panel{display:flex;min-height:calc(100svh - 22px);flex-direction:column}.intro-band{min-height:0;margin-top:24px}.intro-copy h2{font-size:clamp(1.65rem,11vw,2.55rem)}.story-grid{grid-template-columns:1fr}.story-card{min-height:250px}.card-header,.surface-band:before{display:none}.source-actions,.source-actions a{width:100%}.source-actions{justify-content:stretch}.hint-shelf{grid-template-columns:auto minmax(0,1fr)}.hint-meter{min-width:136px}.hint-tray-toggle{min-width:0}.hint-strip{grid-auto-columns:max-content;grid-template-columns:none;gap:6px;padding:4px 0}.hint-chip{flex-direction:column;min-width:152px;min-height:38px;align-items:center;justify-content:flex-start;padding:6px 8px 7px;text-align:center}.hint-chip span{justify-content:center;width:100%;font-size:.74rem}.hint-chip strong{margin:5px 0 0;font-size:.86rem;line-height:1.16}.model-select{justify-content:flex-start}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-16px -16px 0;padding:14px 16px 16px}.settings-popover{margin-left:auto}.settings-panel{right:0;width:min(312px,calc(100vw - 44px))}.chat-list-shell,.chat-list{flex:1 1 auto;min-height:0;height:min(56svh,560px);max-height:min(56svh,560px)}.empty-chat{min-height:min(52svh,520px)}.guide-message{padding:12px;font-size:.92rem}.switch{width:auto;justify-content:flex-start;padding:0 10px}.panel-title-row{align-items:center;justify-content:flex-start}.panel-heading{flex:initial}.story-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.story-action-row .reset-button,.story-action-row .secondary-button{width:100%;min-width:0;padding:0 8px;white-space:normal}.truth-dialog-backdrop{align-items:center;padding:14px}.truth-dialog{max-height:84vh;padding:24px 18px 20px}.truth-dialog-actions{display:grid;grid-template-columns:1fr}.truth-dialog-action{width:100%}.truth-dialog:before{inset:8px}.truth-dialog-close{top:10px;right:10px}.truth-dialog-body{max-height:42vh;padding-left:14px;font-size:1rem}}
