:root{--bg:#faf7f2;--ink:#16161d;--muted:#6b6b76;--line:#e6e1d8;--accent:#ff5a5f;--correct-bg:#eaf3e8;--wrong:#b9b4a8;--wrong-bg:#f0ece4;--radius:14px;--shadow:0 1px 2px rgba(0,0,0,.06),0 6px 20px rgba(0,0,0,.05)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:0 16px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:18px 0 14px;border-bottom:1px solid var(--line)}.logo{font-weight:800;font-size:20px;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}.site-header nav{display:flex;gap:16px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:600}.site-header nav a:hover{color:var(--ink)}main{flex:1 1;padding:22px 0 32px}.site-footer{border-top:1px solid var(--line);padding:18px 0 26px;color:var(--muted);font-size:13px;text-align:center}.puzzle-head{text-align:center;margin-bottom:18px}.puzzle-number{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.puzzle-title{font-size:26px;font-weight:800;margin:4px 0 6px;letter-spacing:-.02em}.puzzle-prompt{color:var(--muted);font-size:14px;margin:0}.card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card:active{cursor:-webkit-grabbing;cursor:grabbing}.card.dragging{opacity:.85;box-shadow:0 10px 30px rgba(0,0,0,.16)}.card.locked{cursor:default}.card-rank{flex:0 0 26px;height:26px;border-radius:50%;background:var(--bg);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:700;display:grid;place-items:center}.card-body{flex:1 1;min-width:0}.card-text{display:block;font-weight:600;font-size:15px}.card-sub{display:block;font-size:13px;color:var(--muted);margin-top:3px}.card-grip{color:#c9c3b8;font-size:18px;line-height:1}.card.correct{border-color:var(--correct);background:var(--correct-bg)}.card.correct .card-rank{background:var(--correct);border-color:var(--correct);color:#fff}.card.wrong{background:var(--wrong-bg)}.card.wrong .card-rank{background:var(--wrong);border-color:var(--wrong);color:#fff}.card-year{font-weight:800;font-size:15px;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:none;border-radius:var(--radius);padding:15px 18px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit}.btn-primary{background:var(--ink);color:#fff}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:transparent}.actions{margin-top:18px;display:flex;flex-direction:column;gap:10px}.result{text-align:center;margin-bottom:18px}.result-score{font-size:40px;font-weight:800;letter-spacing:-.02em}.result-headline{font-weight:700;font-size:17px;margin:2px 0}.result-sub{color:var(--muted);font-size:14px}.result-grid{font-size:26px;letter-spacing:4px;margin:10px 0 2px}.stats{display:flex;justify-content:center;gap:8px;margin:18px 0 4px}.stat{flex:1 1;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 6px;text-align:center}.stat-num{font-size:22px;font-weight:800}.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.toast{text-align:center;font-size:13px;color:var(--correct);font-weight:700;min-height:18px;margin-top:6px}.prose h1{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px}.prose h2{font-size:18px;margin:22px 0 6px}.prose li,.prose p{color:#34343e;font-size:15px}.prose .emoji{font-size:18px;letter-spacing:3px}.archive-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px}.archive-row{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.archive-row .tag,.lock{font-size:12px;color:var(--muted)}.lock{font-weight:700}.loading{text-align:center;color:var(--muted);padding:60px 0}.puzzle-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.puzzle-meta span{display:inline-flex;align-items:center;border:1px solid;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;opacity:.78}.card.near{background:#fff3a3}.share-card{position:relative;overflow:hidden}.share-card-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;opacity:.7;margin-bottom:6px}.share-card-category{font-size:14px;font-weight:900;opacity:.8;margin-bottom:12px}.roast-line{max-width:420px;margin:14px auto 0;font-size:17px;line-height:1.25}.roast-line,.share-card-url{font-weight:900;text-align:center}.share-card-url{margin-top:16px;font-size:13px;opacity:.65}.play-meta{display:flex;justify-content:center;align-items:center;gap:10px 12px;flex-wrap:wrap;margin-top:10px;font-size:14px}.lives{font-weight:900;color:var(--ink);letter-spacing:1px}.lives-lost{color:#c9c3b8}.play-progress,.play-score{font-weight:700}.tray{margin:18px 0 16px}.tray-label{color:var(--muted);font-size:14px;font-weight:700;margin-bottom:8px;text-align:center}.active-card{min-height:58px;justify-content:space-between}.tl-list{gap:0}.tl-item{list-style:none}.tl-gap{height:18px;margin:4px 0;border:1px dashed transparent;transition:all .15s ease}.tl-gap-active{height:44px;border-color:var(--accent);background:rgba(255,90,95,.12)}.tl-row{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border-radius:var(--radius);padding:13px 14px}.tl-year{flex:0 0 64px;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl-text{flex:1 1;min-width:0;font-size:15px;font-weight:700}.feedback-banner{border-radius:var(--radius);padding:14px;margin:16px 0;text-align:center;font-weight:900;border:1px solid var(--line)}.feedback-banner.tone-close,.tone-close{background:#fff3a3;border-color:#e3c94b}.tl-final{margin-top:12px}.reveal-heading{font-size:18px;margin:24px 0 10px;text-align:center}.end-stat-row{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;margin-top:16px}.end-stat{background:var(--bg);border-radius:12px;padding:10px;text-align:center}.end-stat-num{font-size:18px;font-weight:900}.end-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.overlay{width:420px;max-width:calc(100vw - 32px)}@media (max-width:520px){.app{max-width:100%;height:100dvh;min-height:100dvh;padding:0 12px;overflow:hidden}.site-header{padding:10px 0 8px}.logo{font-size:18px}.site-header nav{gap:10px}.site-header nav a{font-size:13px}main{flex:1 1;min-height:0;padding:10px 0 12px;display:flex;flex-direction:column;overflow:hidden}.site-footer{display:none}.puzzle-head{margin-bottom:8px;flex-shrink:0}.puzzle-number{font-size:11px}.puzzle-title{font-size:22px;margin:2px 0 4px}.play-meta{margin-top:6px;gap:7px;font-size:12px}.tray{margin:8px 0;flex-shrink:0}.tray-label{font-size:12px;margin-bottom:6px}.card{padding:11px 12px;border-radius:12px}.active-card{min-height:50px}.card-text{font-size:14px;line-height:1.25}.card-grip{font-size:16px}.tl-list{flex:1 1;min-height:0;overflow-y:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}.tl-gap{height:12px;margin:2px 0}.tl-gap-active{height:34px}.tl-row{padding:10px 11px;gap:9px;border-radius:12px}.tl-year{flex:0 0 48px;font-size:13px}.tl-text{font-size:13px;line-height:1.2}.feedback-banner{margin:8px 0;padding:11px;font-size:14px;flex-shrink:0}.actions{margin-top:8px;flex-shrink:0}.btn{padding:12px 14px;font-size:15px;border-radius:12px}.result-score{font-size:34px}.stats{margin:10px 0 4px}.stat{padding:9px 4px}.stat-num{font-size:18px}.reveal-heading{margin:14px 0 8px}.result,.reveal-heading,.share-card,.stats,.tl-final{flex-shrink:0}}@media (max-width:520px){main:has(.result){overflow-y:auto;-webkit-overflow-scrolling:touch}main:has(.result) .actions{padding-bottom:18px}}.game-instructions{margin:4px auto 6px;max-width:340px;color:var(--muted);line-height:1.25}.tray{background:#fffaf0;border-radius:18px;box-shadow:0 10px 28px rgba(255,90,95,.14)}.tray-label{font-size:13px;text-transform:uppercase;letter-spacing:.04em}.active-card{background:#16161d;border-color:#16161d;box-shadow:0 10px 24px rgba(22,22,29,.22)}.active-card .card-grip{opacity:.75}.tl-gap{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fffaf0;border:1px dashed #d9d1c3;color:var(--muted);font-family:inherit;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.tl-gap span{opacity:.82}.tl-gap:disabled{cursor:default}.tl-gap-active,.tl-gap:hover{background:rgba(255,90,95,.12)}.feedback-detail{margin-top:4px;font-weight:700;color:#34343e;line-height:1.3}@media (max-width:520px){.game-instructions{font-size:12px;margin-bottom:5px}.tray{padding:8px;border-radius:14px}.tray-label{font-size:11px;margin-bottom:5px}.active-card .card-text{font-size:15px}.tl-gap{min-height:28px;height:28px;margin:3px 0;border-radius:999px;font-size:10px}.tl-gap-active{min-height:34px;height:34px}.feedback-main{font-size:15px}.feedback-detail{font-size:12px}}:root{--bg:#fff7ed;--surface-warm:#fffbf5;--ink:#201a1e;--muted:#756b64;--line:#eadfd2;--accent:#f97316;--accent-2:#ec4899;--accent-soft:#ffedd5;--close-bg:#fef9c3;--wrong:#a8a29e;--wrong-bg:#f5f5f4;--shadow:0 2px 6px rgba(32,26,30,.06),0 12px 30px rgba(32,26,30,.08)}body{background:radial-gradient(circle at top left,rgba(249,115,22,.18),transparent 32%),radial-gradient(circle at top right,rgba(236,72,153,.12),transparent 30%),var(--bg)}.site-header{border-bottom:1px solid hsla(33,36%,87%,.8)}.logo span{background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.tray{background:linear-gradient(135deg,rgba(249,115,22,.13),rgba(236,72,153,.09)),var(--surface);border:2px solid rgba(249,115,22,.65)}.active-card{background:linear-gradient(135deg,#f97316,#ec4899);box-shadow:0 14px 34px rgba(249,115,22,.28)}.active-card.dragging{opacity:.95;transform:rotate(-1deg)}.tl-list{position:relative;padding-left:12px}.tl-list:before{content:"";position:absolute;top:14px;bottom:14px;left:21px;width:3px;border-radius:999px;background:linear-gradient(to bottom,var(--accent),var(--accent-2));opacity:.45}.tl-item,.tl-row{position:relative}.tl-row{margin-left:20px;background:hsla(0,0%,100%,.92);border:1px solid hsla(33,36%,87%,.95)}.tl-row:before{content:"";position:absolute;left:-29px;top:50%;width:13px;height:13px;border-radius:999px;transform:translateY(-50%);background:#fff;border:3px solid var(--accent);box-shadow:0 0 0 4px var(--bg)}.tl-year{padding:4px 7px;text-align:center}.tl-gap{z-index:2;margin-left:20px;background:rgba(255,251,245,.9);border:1px dashed rgba(249,115,22,.45)}.tl-gap span{opacity:.95}.tl-gap-active,.tl-gap:hover{background:linear-gradient(135deg,rgba(249,115,22,.14),rgba(236,72,153,.1))}.feedback-banner.tone-correct{background:var(--correct-bg);border-color:var(--correct)}.feedback-banner.tone-close{background:var(--close-bg);border-color:var(--close)}.feedback-banner.tone-wrong{background:var(--wrong-bg);border-color:var(--wrong)}.result.share-card{background:linear-gradient(135deg,rgba(249,115,22,.12),rgba(236,72,153,.08)),var(--surface);border:1px solid hsla(33,36%,87%,.95);padding:20px 16px}.result-score{background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.result-headline{color:var(--ink)}.result-grid{display:inline-block;box-shadow:0 4px 12px rgba(32,26,30,.05)}.btn-accent{color:#fff;box-shadow:0 10px 24px rgba(249,115,22,.22)}.btn-accent,.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2))}.btn-ghost{background:hsla(0,0%,100%,.7)}@media (max-width:520px){.tl-list{padding-left:8px}.tl-list:before{left:16px}.tl-row{margin-left:18px}.tl-row:before{left:-27px;width:11px;height:11px}.tl-gap{margin-left:18px}.tl-year{flex-basis:52px;padding:3px 5px}.result.share-card{padding:16px 12px;border-radius:20px}}:root{--bg:#f8f8f4;--surface-warm:#fff;--ink:#121212;--muted:#6f6f6f;--line:#dcdcdc;--accent:#121212;--accent-2:#121212;--accent-soft:#f1f1f1;--correct-bg:#edf6ec;--close-bg:#fbf7df;--wrong-bg:#f1f1f1;--radius:8px;--shadow:none}body{background:var(--bg)}.site-header{border-bottom:1px solid #d3d6da;padding-top:12px;padding-bottom:12px}.logo{font-size:24px;font-weight:900}.logo span{color:var(--ink);background:none;-webkit-background-clip:initial;background-clip:initial}.site-header nav a{color:var(--muted);font-weight:700}.puzzle-head{border-bottom:1px solid #e5e5e5;padding-bottom:10px}.puzzle-number{color:var(--muted);font-size:11px;letter-spacing:.14em}.puzzle-title{font-weight:900}.game-instructions{color:#3a3a3a;font-weight:600}.play-meta{color:var(--muted)}.lives{color:var(--correct)}.lives-lost{color:#d3d6da}.tray{border:2px solid #121212;border-radius:10px;box-shadow:none}.tray-label{color:#121212;font-weight:900;letter-spacing:.1em}.active-card{background:#121212;border:2px solid #121212;border-radius:8px;box-shadow:none}.active-card .card-text{color:#fff;font-size:16px;font-weight:900}.active-card .card-grip{color:#fff;opacity:.7}.tl-list{padding-left:0}.tl-list:before{display:none}.tl-row{margin-left:0;border:2px solid #d3d6da;border-radius:8px;box-shadow:none;padding:11px 12px}.tl-row:before{display:none}.tl-year{background:#f1f1f1;color:#121212;border:1px solid #d3d6da;border-radius:4px;font-weight:900;flex-basis:58px}.tl-text{color:#121212;font-weight:800}.tl-gap{margin-left:0;background:#fff;border:2px dashed #d3d6da;border-radius:8px;color:#787c7e;box-shadow:none}.tl-gap-active,.tl-gap:hover{background:#f1f1f1;border-color:#121212;color:#121212}.feedback-banner{border-radius:8px;box-shadow:none;border-width:2px}.feedback-main{font-size:16px;font-weight:900}.feedback-detail{color:#3a3a3a}.auto-next-note{margin-top:8px;color:var(--muted);font-size:12px;font-weight:800;text-align:center}.result.share-card{border:2px solid #121212;border-radius:10px;box-shadow:none}.share-card-kicker{color:var(--muted);opacity:1}.result-headline,.result-score{color:#121212}.result-grid{background:#fff;border:none;border-radius:0;box-shadow:none}.end-stat{background:#f8f8f4;border:1px solid #d3d6da}.btn,.end-stat{border-radius:8px}.btn{box-shadow:none}.btn-accent,.btn-primary{background:#121212;box-shadow:none}.btn-ghost{color:#121212;border:2px solid #d3d6da}@media (max-width:520px){.puzzle-title{font-size:24px}.tray{padding:8px}.tl-row{padding:10px}.tl-gap{min-height:30px;height:30px;font-size:10px}.active-card .card-text{font-size:15px}}:root{--bg:#f7f3ea;--surface:#fff;--ink:#172033;--muted:#667085;--line:#d9d2c3;--accent:#2563eb;--accent-2:#1d4ed8;--accent-soft:#dbeafe;--accent-ink:#fff;--correct:#6aaa64;--correct-bg:#e9f5e7;--close:#c9b458;--close-bg:#fbf4cf;--wrong:#787c7e;--wrong-bg:#eee;--radius:10px;--shadow:0 2px 4px rgba(23,32,51,.06),0 10px 24px rgba(23,32,51,.08)}body{background:radial-gradient(circle at top left,rgba(37,99,235,.09),transparent 34%),radial-gradient(circle at top right,rgba(106,170,100,.08),transparent 30%),var(--bg);color:var(--ink)}.puzzle-number{color:var(--accent)}.puzzle-title{color:var(--ink)}.tray{background:#fff;border:2px solid var(--accent);border-radius:14px;box-shadow:0 8px 22px rgba(37,99,235,.12)}.tray-label{color:var(--accent)}.active-card{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none;border-radius:12px;box-shadow:0 12px 26px rgba(37,99,235,.22)}.active-card .card-grip,.active-card .card-text{color:#fff}.tl-row{background:hsla(0,0%,100%,.96);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.tl-year{background:var(--accent-soft);border:1px solid rgba(37,99,235,.18)}.tl-gap,.tl-year{color:var(--accent)}.tl-gap{background:hsla(0,0%,100%,.72);border:1px dashed rgba(37,99,235,.38);border-radius:999px}.tl-gap-active,.tl-gap:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.feedback-banner.tone-correct,.tone-correct{background:var(--correct-bg);border-color:var(--correct)}.feedback-banner.tone-close,.tone-close{background:var(--close-bg);border-color:var(--close)}.feedback-banner.tone-wrong,.tone-wrong{background:var(--wrong-bg);border-color:var(--wrong)}.feedback-detail{color:#475467}.result.share-card{background:#fff;border:1px solid var(--line);border-radius:18px}.result-score{color:var(--accent);background:none;-webkit-background-clip:initial;background-clip:initial}.result-grid{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.end-stat{border:1px solid var(--line)}.btn-accent,.btn-primary{color:#fff}.btn-accent:hover,.btn-primary:hover{background:var(--accent-2)}.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.auto-next-note{color:var(--accent)}@media (max-width:520px){main:has(.archive-list),main:has(.prose){overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:28px}main:has(.archive-list) .archive-list,main:has(.prose) .prose{padding-bottom:40px}}body{background:radial-gradient(circle at 20% 0,rgba(37,99,235,.14),transparent 28%),radial-gradient(circle at 90% 10%,rgba(250,204,21,.16),transparent 24%),linear-gradient(180deg,#f6f2e8,#f8f6ef)}.app{position:relative}.site-header{background:hsla(0,0%,100%,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,32,51,.12);margin:0 -12px;padding-left:12px;padding-right:12px}.logo{font-size:23px;color:#172033}.logo span{color:#2563eb}.site-header nav a{background:#fff;border:1px solid rgba(23,32,51,.12);color:#172033;font-size:12px;box-shadow:0 2px 8px rgba(23,32,51,.05)}.puzzle-head{background:hsla(0,0%,100%,.82);border:1px solid rgba(23,32,51,.1);border-radius:18px;padding:12px 12px 10px;box-shadow:0 8px 22px rgba(23,32,51,.07)}.puzzle-number{display:inline-flex;align-items:center;justify-content:center;background:#dbeafe;color:#1d4ed8;border:1px solid rgba(37,99,235,.18);font-size:10px;font-weight:900}.puzzle-title{font-size:28px;line-height:1}.game-instructions{margin-top:7px;color:#344054;font-size:13px;font-weight:700}.play-meta{background:#172033;color:#fff;padding:7px 10px;margin:10px auto 0;width:-moz-fit-content;width:fit-content;max-width:100%}.lives{color:#86efac}.lives-lost{color:hsla(0,0%,100%,.28)}.play-progress,.play-score{color:hsla(0,0%,100%,.88)}.tray{background:linear-gradient(135deg,rgba(37,99,235,.09),rgba(250,204,21,.12)),#fff;border:1px solid rgba(37,99,235,.28);border-radius:20px;padding:11px;box-shadow:0 12px 28px rgba(37,99,235,.14)}.tray-label{color:#1d4ed8;letter-spacing:.12em}.active-card{background:#2563eb;border:0;border-radius:16px;padding:16px 14px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18),0 12px 24px rgba(37,99,235,.28)}.active-card .card-text{line-height:1.18}.tl-list{background:hsla(0,0%,100%,.56);border:1px solid rgba(23,32,51,.08);border-radius:18px;padding:8px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.tl-row{background:#fff;border:1px solid rgba(23,32,51,.12);border-radius:14px;box-shadow:0 4px 12px rgba(23,32,51,.06);overflow:hidden}.tl-row:after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#2563eb}.tl-year{background:#facc15;color:#172033}.tl-gap{background:rgba(37,99,235,.06);border:1px dashed rgba(37,99,235,.42);color:#1d4ed8;border-radius:12px;height:32px;margin:6px 0}.tl-gap span{font-size:11px;letter-spacing:.08em}.tl-gap-active,.tl-gap:hover{background:#dbeafe;border-color:#2563eb;color:#1d4ed8;transform:scale(1.01)}.feedback-banner{border-radius:16px;border-width:1px;box-shadow:0 8px 18px rgba(23,32,51,.08)}.feedback-detail{font-size:13px}.result.share-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(23,32,51,.14);border-radius:22px;box-shadow:0 14px 34px rgba(23,32,51,.12)}.result-score{color:#2563eb;font-size:46px}.result-headline{font-size:18px}.result-grid{background:#172033;color:#fff;border:0;padding:10px 13px}.end-stat{border-radius:14px;background:#fff;box-shadow:0 3px 10px rgba(23,32,51,.05)}.prose{background:hsla(0,0%,100%,.82);border:1px solid rgba(23,32,51,.1);border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(23,32,51,.07)}.prose h1{font-family:Georgia,Times New Roman,serif;color:#172033}.prose h2{color:#1d4ed8}.prose p{color:#344054}@media (max-width:520px){.site-header{margin-left:-12px;margin-right:-12px}.puzzle-head{padding:10px;border-radius:16px}.puzzle-title{font-size:25px}.game-instructions{font-size:12px}.play-meta{padding:6px 9px}.tray{border-radius:16px}.active-card{padding:14px 12px;border-radius:14px}.active-card .card-text{font-size:16px}.tl-list{border-radius:16px;padding:7px}.tl-row{border-radius:12px}.tl-gap{height:30px;margin:5px 0}.prose{padding:16px;border-radius:16px}}.tl-row.tone-correct{background:#e9f5e7;border-color:#6aaa64;box-shadow:0 0 0 2px rgba(106,170,100,.22),0 8px 18px rgba(106,170,100,.16)}.tl-row.tone-correct .tl-year,.tl-row.tone-correct:after{background:#6aaa64}.tl-row.tone-close{background:#fbf4cf;border-color:#c9b458;box-shadow:0 0 0 2px rgba(201,180,88,.24),0 8px 18px rgba(201,180,88,.14)}.tl-row.tone-close:after{background:#c9b458}.tl-row.tone-close .tl-year{background:#c9b458;color:#172033}.tl-row.tone-wrong{background:#fee2e2;border-color:#dc2626;box-shadow:0 0 0 2px rgba(220,38,38,.18),0 8px 18px rgba(220,38,38,.12)}.tl-row.tone-wrong .tl-year,.tl-row.tone-wrong:after{background:#dc2626}.tl-row.tone-close,.tl-row.tone-correct,.tl-row.tone-wrong{animation:placedPulse .35s ease}@keyframes placedPulse{0%{transform:scale(.985)}60%{transform:scale(1.018)}to{transform:scale(1)}}.tl-gap{height:18px!important;min-height:18px!important;padding:0!important;position:relative;display:flex;align-items:center;justify-content:center}.tl-gap:before{content:"";position:absolute;left:10px;right:10px;top:50%;height:1px;background:rgba(37,99,235,.18);transform:translateY(-50%)}.tl-gap span{position:relative;z-index:2;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#fff;border:1px solid rgba(37,99,235,.38);color:#2563eb;font-size:17px;font-weight:900;line-height:1;box-shadow:0 2px 6px rgba(23,32,51,.08);opacity:1}.tl-gap-active span,.tl-gap:hover span{background:#2563eb;color:#fff;border-color:#2563eb;transform:scale(1.08)}.tl-gap-active:before,.tl-gap:hover:before{background:rgba(37,99,235,.42)}.tl-list{padding:6px!important}.tl-year{flex-basis:50px!important;padding:3px 5px!important}.tl-text{line-height:1.15!important}.tray{margin:7px 0!important;padding:8px!important}.tray-label{margin-bottom:5px!important}.active-card{min-height:46px!important;padding:12px!important}.active-card .card-text{font-size:15px!important}.auto-next-note{display:none}@media (max-width:520px){.tl-gap{height:16px!important;min-height:16px!important;margin:1px 0!important}.tl-gap span{width:20px;height:20px;font-size:16px}.tl-row{min-height:39px;padding:7px 9px!important}.puzzle-head{margin-bottom:6px!important}.puzzle-title{font-size:23px!important}.game-instructions{margin:5px auto 4px!important}.play-meta{margin-top:7px!important}}:root{--table-bg:#10251f;--table-bg-2:#17362d;--card:#fffaf0;--card-2:#fff;--ink:#18231f;--muted:#718078;--line:rgba(24,35,31,.18);--accent:#f4b942;--accent-2:#ffcf66;--accent-soft:#fff2c7;--accent-ink:#10251f;--blue:#3b82f6;--correct:#22c55e;--correct-bg:#dcfce7;--close:#facc15;--close-bg:#fef3c7;--wrong:#ef4444;--wrong-bg:#fee2e2;--radius:16px;--shadow:0 10px 28px rgba(0,0,0,.22)}body,html{background:var(--table-bg)}body{color:var(--card);background:radial-gradient(circle at 20% 0,rgba(244,185,66,.16),transparent 28%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.12),transparent 30%),linear-gradient(180deg,var(--table-bg) 0,var(--table-bg-2) 100%)}.app{max-width:520px;padding:0 12px}.site-header{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid rgba(255,250,240,.18);margin:0;padding:12px 0 10px}.logo{font-family:Georgia,Times New Roman,serif;color:var(--card);font-size:22px;font-weight:950;letter-spacing:-.04em}.logo span{color:var(--accent)}.site-header nav{gap:8px}.site-header nav a{background:rgba(255,250,240,.1);border:1px solid rgba(255,250,240,.18);color:rgba(255,250,240,.88);box-shadow:none;border-radius:999px;padding:6px 10px}.site-header nav a:hover{background:rgba(255,250,240,.16);color:#fff}main{padding-top:10px}.puzzle-head{background:rgba(255,250,240,.08);border:1px solid rgba(255,250,240,.18);border-radius:20px;padding:10px;box-shadow:none;color:var(--card)}.puzzle-number{background:rgba(244,185,66,.16);border:1px solid rgba(244,185,66,.34);color:var(--accent-2);border-radius:999px;padding:4px 9px}.puzzle-title{color:var(--card);font-family:Georgia,Times New Roman,serif;font-size:27px;margin-top:8px}.game-instructions{color:rgba(255,250,240,.78);font-size:12px;font-weight:750}.play-meta{background:rgba(0,0,0,.24);border:1px solid rgba(255,250,240,.16);color:var(--card);border-radius:999px;padding:7px 11px}.lives{color:#ff6b6b;text-shadow:0 1px 0 rgba(0,0,0,.2)}.lives-lost{color:rgba(255,250,240,.22)}.play-progress,.play-score{color:rgba(255,250,240,.9)}.tray{background:linear-gradient(135deg,rgba(244,185,66,.18),rgba(255,250,240,.08)),rgba(255,250,240,.08);border:1px solid rgba(244,185,66,.42);border-radius:22px;padding:10px;box-shadow:0 14px 30px rgba(0,0,0,.18)}.tray-label{color:var(--accent-2);font-size:11px;font-weight:950;letter-spacing:.14em}.active-card{background:linear-gradient(180deg,#fff8df,#f8dfa0);color:var(--accent-ink);border:2px solid hsla(0,0%,100%,.7);border-radius:18px;padding:15px 14px;box-shadow:inset 0 -2px 0 rgba(16,37,31,.12),0 14px 28px rgba(0,0,0,.22)}.active-card .card-text{color:var(--accent-ink);font-size:17px;font-weight:950;line-height:1.16}.active-card .card-grip{color:rgba(16,37,31,.55)}.tl-list{background:linear-gradient(180deg,rgba(255,250,240,.12),rgba(255,250,240,.06));border:1px solid rgba(255,250,240,.2);border-radius:22px;padding:8px!important;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 12px 28px rgba(0,0,0,.16)}.tl-row{background:linear-gradient(180deg,var(--card) 0,#f7efe0 100%);color:var(--ink);border:1px solid hsla(0,0%,100%,.72);border-radius:16px;box-shadow:inset 0 -1px 0 rgba(24,35,31,.08),0 6px 14px rgba(0,0,0,.14);min-height:42px;padding:8px 10px!important}.tl-row:after{display:none}.tl-year{background:rgba(16,37,31,.9);color:var(--card);border:0;border-radius:999px;flex-basis:52px!important;font-size:12px!important;font-weight:950}.tl-text{color:var(--ink);font-size:13px!important;font-weight:850}.tl-gap{height:16px!important;min-height:16px!important;margin:2px 0!important;background:transparent!important;border:0!important}.tl-gap:before{background:rgba(255,250,240,.18);left:18px;right:18px}.tl-gap span{background:rgba(255,250,240,.95);border:1px solid rgba(244,185,66,.8);color:var(--table-bg);width:21px;height:21px;box-shadow:0 3px 8px rgba(0,0,0,.18)}.tl-gap-active span,.tl-gap:hover span{background:var(--accent);color:var(--table-bg);border-color:#fff}.tl-row.tone-correct{background:linear-gradient(180deg,#dcfce7,#bbf7d0);border-color:rgba(34,197,94,.78);box-shadow:0 0 0 2px rgba(34,197,94,.18),0 8px 18px rgba(0,0,0,.16)}.tl-row.tone-correct .tl-year{background:#15803d;color:#fff}.tl-row.tone-close{background:linear-gradient(180deg,#fef3c7,#fde68a);border-color:rgba(250,204,21,.84)}.tl-row.tone-close .tl-year{background:#a16207;color:#fff}.tl-row.tone-wrong{background:linear-gradient(180deg,#fee2e2,#fecaca);border-color:rgba(239,68,68,.8)}.tl-row.tone-wrong .tl-year{background:#b91c1c;color:#fff}.feedback-banner{background:var(--card);color:var(--ink);border:0;border-radius:18px;box-shadow:var(--shadow);margin:8px 0}.feedback-main{font-size:17px;color:var(--ink)}.feedback-detail{color:#4b5563}.result.share-card{background:linear-gradient(180deg,var(--card) 0,#f7efe0 100%);color:var(--ink);border:1px solid hsla(0,0%,100%,.7);border-radius:24px;box-shadow:var(--shadow)}.result-headline,.result-sub,.share-card-kicker{color:var(--ink)}.result-score{color:var(--table-bg);font-family:Georgia,Times New Roman,serif;font-size:48px}.result-grid{background:var(--table-bg);color:var(--card);border-radius:14px}.end-stat{background:hsla(0,0%,100%,.72);color:var(--ink);border:1px solid rgba(24,35,31,.12)}.btn-accent,.btn-primary{background:var(--accent);color:var(--table-bg);font-weight:950}.btn-ghost{background:rgba(255,250,240,.86);color:var(--table-bg);border:1px solid rgba(255,250,240,.32)}.prose{background:var(--card)}.prose,.prose h1,.prose li,.prose p{color:var(--ink)}.prose h2{color:#14532d}.archive-row{background:var(--card);color:var(--ink)}@media (max-width:520px){.app{background:transparent}.site-header{padding-top:10px;padding-bottom:9px}.logo{font-size:21px}.puzzle-head{padding:9px;border-radius:18px}.puzzle-title{font-size:24px!important}.game-instructions{font-size:11px;margin-top:5px}.play-meta{font-size:11px;padding:6px 9px}.tray{border-radius:18px;padding:8px!important}.tray-label{font-size:10px}.active-card{min-height:44px!important;padding:12px!important;border-radius:15px}.active-card .card-text{font-size:15px!important}.tl-list{border-radius:18px;padding:6px!important}.tl-row{min-height:38px;padding:7px 9px!important;border-radius:14px}.tl-year{flex-basis:48px!important}.tl-gap{height:14px!important;min-height:14px!important}.tl-gap span{width:19px;height:19px;font-size:15px}}.placement-toast{position:fixed;left:50%;top:118px;z-index:50;width:min(420px,calc(100vw - 28px));transform:translateX(-50%);margin:0!important;padding:11px 14px!important;border-radius:999px!important;text-align:center;animation:toastPop .22s ease-out}.placement-toast .feedback-main{font-size:14px!important;line-height:1.1}.placement-toast .feedback-detail{font-size:11px!important;margin-top:2px!important;opacity:.82}@keyframes toastPop{0%{opacity:0;transform:translateX(-50%) translateY(-6px) scale(.98)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.tl-list{padding:5px!important}.tl-row{min-height:34px!important;padding:6px 8px!important;border-radius:12px!important}.tl-year{flex-basis:44px!important;font-size:11px!important;padding:2px 4px!important}.tl-text{font-size:12px!important;line-height:1.1!important}.tl-gap{height:12px!important;min-height:12px!important;margin:1px 0!important}.tl-gap span{width:17px!important;height:17px!important;font-size:14px!important}.tray{margin:5px 0!important}.active-card{min-height:40px!important;padding:10px 11px!important}.active-card .card-text{font-size:14px!important}.result-hero{background:linear-gradient(180deg,var(--card) 0,#f7efe0 100%);color:var(--ink);border:1px solid hsla(0,0%,100%,.72);border-radius:24px;padding:18px 14px;text-align:center;box-shadow:var(--shadow)}.result-kicker{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.11em;color:rgba(16,37,31,.62)}.result-title{margin:8px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1;color:var(--table-bg)}.result-scorecard{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--table-bg);color:var(--card);border-radius:18px;min-width:132px;padding:12px 18px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.24)}.result-scorecard .result-score{color:var(--card);font-size:42px;line-height:1}.result-score-label{margin-top:3px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;opacity:.72}.result-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;margin-top:14px}.result-summary div{background:hsla(0,0%,100%,.68);border:1px solid rgba(24,35,31,.1);border-radius:14px;padding:8px 4px}.result-summary strong{display:block;font-size:17px;line-height:1;color:var(--table-bg)}.result-summary span{display:block;margin-top:4px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:rgba(16,37,31,.6)}.compact-stats{margin-top:10px!important}.result-actions{margin-top:12px!important}.timeline-reveal{margin-top:12px;background:rgba(255,250,240,.1);border:1px solid rgba(255,250,240,.18);border-radius:16px;padding:10px;color:var(--card)}.timeline-reveal summary{cursor:pointer;font-weight:900;text-align:center}.timeline-reveal .tl-final{margin-top:10px}@media (max-width:520px){.placement-toast{top:104px}.result-title{font-size:25px}.result-scorecard .result-score{font-size:38px}.result-summary{gap:5px}.result-summary div{padding:7px 3px}}@media (max-width:520px){main:has(.result-hero){overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding-bottom:80px!important}main:has(.result-hero) .timeline-reveal{max-height:none!important;overflow:visible!important;margin-bottom:24px}main:has(.result-hero) .tl-final{max-height:none!important;overflow:visible!important;padding-bottom:24px}}.compact-stats .stat-num,.stats .stat-num{color:#10251f!important;opacity:1!important;font-weight:950!important}.compact-stats .stat-label,.stats .stat-label{color:rgba(16,37,31,.72)!important;opacity:1!important;font-weight:900!important}.compact-stats .stat{background:rgba(255,250,240,.92)!important;border:1px solid rgba(255,250,240,.35)!important}