@charset "UTF-8";
/* Desktop game rebuild. One layout system; no accumulated skin overrides. */
:root{color-scheme:light;--paper:#f5f2e9;--paper-light:#fcfaf3;--paper-deep:#eae6d9;--ink:#183f3b;--ink-deep:#133532;--ink-soft:#557264;--text:#263f37;--muted:#7a8374;--line:#d4d8ca;--red:#ad4934;--red-dark:#8d3626;--gold:#bfa06b;--focus:#bd6741;--serif:"Songti SC","Noto Serif CJK SC","STSong","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--ease:cubic-bezier(.22,1,.36,1);font:14px var(--sans);color:var(--text);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{min-width:740px;scroll-behavior:smooth;scrollbar-color:#a9b39b var(--paper)}body{margin:0;background:var(--paper)}body:has(dialog[open]){overflow:hidden}h1,h2,h3,p,ul,ol,dl,dd{margin:0;padding:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button,input,select{border-radius:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button:not(:disabled),input,select{touch-action:manipulation}a{color:inherit}[hidden]{display:none!important}::selection{background:var(--ink);color:var(--paper-light)}svg.icon{width:19px;height:19px;flex:0 0 auto;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}kbd{font:11px/1.5 var(--sans);padding:1px 5px;border:1px solid #c6ccbb;border-bottom-width:2px;border-radius:2px}.app-shell{width:100%;max-width:1540px;padding:0 32px;margin:0 auto}.skip-link{position:fixed;z-index:100;top:10px;left:12px;background:var(--ink);color:#fff;padding:12px 18px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:76px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-seal{display:grid;place-items:center;width:31px;height:35px;border:1px solid #913a28;background:var(--red);color:var(--paper-light);font:23px var(--serif);box-shadow:inset 0 0 0 2px var(--red),inset 0 0 0 3px #e9c3a877;transform:rotate(-3deg)}.brand-name{font:25px var(--serif);letter-spacing:.09em}.brand-divider{font:16px var(--sans);margin:0 13px;color:#a9b09e}.brand-caption{font:12px var(--sans);letter-spacing:.15em}.header-actions{display:flex;align-items:center;gap:25px}.save-status{font-size:12px;color:var(--muted)}.quiet-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:5px 0;border:0;background:none;color:inherit;font:13px/1.7 var(--sans);text-decoration:none;transition:color 160ms}.quiet-button:hover,.text-button:hover{color:var(--red)}.quiet-button .icon,.text-button .icon{width:17px;height:17px}.motion-toggle{font-size:12px;color:var(--ink-soft)}.motion-toggle[aria-pressed=false]{color:var(--muted)}.play-nav{display:flex;align-items:center;width:fit-content;gap:4px;padding:5px 0 0;border-bottom:1px solid var(--line);max-width:100%}.play-nav button{min-width:64px;min-height:41px;padding:7px 14px;border:0;border-bottom:2px solid transparent;background:none;color:#7d8977;font-size:13px;letter-spacing:.09em;transition:color 150ms,border-color 150ms}.play-nav button:hover{color:var(--red)}.play-nav button[aria-pressed=true],body[data-play=seek] .play-nav [data-play=seek],body[data-play=path] .play-nav [data-play=path],body[data-play=pair] .play-nav [data-play=pair],body[data-play=flower] .play-nav [data-play=flower],body[data-play=order] .play-nav [data-play=order],body[data-play=cloze] .play-nav [data-play=cloze]{color:var(--ink);border-bottom-color:var(--red)}
.eyebrow{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.8;letter-spacing:.1em;color:var(--muted);font-weight:400}.eyebrow-stroke{width:20px;height:1px;background:var(--red)}.button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:45px;padding:11px 18px;border:1px solid transparent;border-radius:2px;text-decoration:none;font-size:13px;font-weight:500;line-height:1.5;transition:background 160ms,color 160ms,border-color 160ms,box-shadow 160ms}.button .icon{width:17px;height:17px}.button-primary,.primary-button{background:var(--red);border-color:var(--red);color:var(--paper-light)}.button-primary:hover:not(:disabled),.primary-button:hover:not(:disabled){background:var(--red-dark);border-color:var(--red-dark)}.button-ink{background:var(--ink);border-color:var(--ink);color:var(--paper-light)}.button-ink:hover:not(:disabled){background:#315b4c;border-color:#315b4c}.button-outline{border-color:#bcc7af;background:transparent;color:var(--ink)}.button-outline:hover:not(:disabled){border-color:var(--ink-soft);background:#e1e8d633}
/* Short printed entrance: every game is one click away. */
.home-view{padding-bottom:22px}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 2px 29px}.hero-copy h1{margin-top:7px;font:43px/1.45 var(--serif);font-weight:400;letter-spacing:.03em}.hero-emphasis{position:relative;white-space:nowrap}.hero-emphasis svg{position:absolute;left:-3px;bottom:-7px;width:103%;height:14px;overflow:visible;stroke:var(--red);stroke-width:1;stroke-linecap:round}.hero-emphasis path{stroke-dasharray:400;stroke-dashoffset:400;animation:pen-stroke 950ms 150ms var(--ease) forwards}.hero-intro{font-size:13px;line-height:1.9;color:var(--muted);margin-top:10px}.hero-side-note{color:#8b947f;font:13px/1.9 var(--serif);text-align:right;white-space:nowrap}.play-choices{scroll-margin-top:20px;margin-bottom:25px}.play-choices-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.play-choices-heading h2{font:24px/1.6 var(--serif);white-space:nowrap}.seek-preferences{display:flex;align-items:center;justify-content:flex-end;gap:21px;min-width:0}.difficulty-field{display:flex;align-items:center;gap:10px}.difficulty-field label{font-size:12px;color:var(--muted);white-space:nowrap}.select-wrap{display:flex;position:relative;align-items:center;min-width:0}.select-wrap select{appearance:none;min-height:42px;max-width:205px;width:100%;padding:8px 25px 8px 2px;border:0;border-bottom:1px solid #b9c5a9;color:var(--ink);background:transparent;font-size:12px;cursor:pointer}.select-wrap>.icon{position:absolute;right:2px;width:12px;pointer-events:none}.tutorial-link{font-size:12px;white-space:nowrap;gap:6px;color:var(--ink-soft)}.tutorial-link .icon{width:15px;height:15px}.small-arrow{color:var(--red);font-size:16px}.play-choices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aebb9f}.play-choice{display:flex;flex-direction:column;min-width:0;padding:21px 23px 17px;min-height:207px;border-bottom:1px solid var(--line);background:transparent}.play-choice:not(:nth-child(3n+1)){border-left:1px solid var(--line)}.play-choice:nth-child(n+4){background:#e7eadb29}.choice-title{display:flex;align-items:baseline;gap:10px;min-height:37px}.choice-number{font:12px var(--serif);color:#96a384;padding-right:3px}.choice-title h3{font:30px/1.3 var(--serif);font-weight:400;letter-spacing:.06em}.choice-kind{color:#89957c;font-size:12px;white-space:nowrap;margin-left:auto}.play-choice-description{color:var(--muted);font-size:13px;line-height:1.85;margin-top:9px;margin-bottom:17px;min-height:48px}.start-actions,.choice-start-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px 13px;margin-top:auto}.play-choice .button{min-height:42px;font-size:13px;padding:9px 15px}.play-choice .button-start,.play-choice .button-ink{background:transparent;border-color:#bdc7ae;color:var(--ink);justify-content:space-between;width:100%;letter-spacing:.02em}.play-choice .button-start{border-color:#c19b7f;color:var(--red)}.play-choice .button:hover{background:#e5e9da;border-color:#899d77}.play-choice .button-start:hover{background:#eee1d4;border-color:var(--red)}.play-choice .start-actions .button-outline,.choice-start-actions .text-button{border:0;min-height:31px;padding:3px 0;width:auto;font-size:12px;color:var(--red);background:none}.field-description{font-size:12px;line-height:1.8;color:#8c957f;margin-top:9px}.play-choice #practice-description{display:none}.home-bottom{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.daily-invitation,.collection-invitation{display:flex;align-items:center;gap:18px;padding:22px 21px}.daily-symbol{width:43px;height:43px;color:#ad9564;flex-shrink:0}.daily-symbol svg{width:100%;height:100%;stroke:currentColor;stroke-width:1;stroke-linecap:round}.daily-copy h2,.collection-copy h2{font:23px/1.5 var(--serif);margin-top:3px}.daily-copy>p:last-child,.collection-copy>p:last-child{font-size:12px;color:var(--muted);line-height:1.85;margin-top:5px}.daily-invitation>.button{margin-left:auto;white-space:nowrap;font-size:12px;padding-left:13px;padding-right:13px}.collection-invitation{border-left:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:6px 15px}.collection-open{display:flex;align-items:center;gap:18px;min-height:54px;border:0;background:none;padding:0;text-align:right}.collection-open>span{display:grid;gap:4px}.collection-open strong{font:35px/1 var(--serif);font-weight:400}.collection-unit{font-size:12px;color:var(--muted)}.collection-open>.icon{width:20px;height:20px}.collection-open:hover{color:var(--red)}.review-entry{display:flex;align-items:center;flex-wrap:wrap;gap:1px 14px;grid-column:1/-1}.review-entry .text-button{font-size:12px;min-height:32px;color:var(--ink-soft)}.review-entry .icon{width:14px;height:14px}.review-entry p{font-size:12px;line-height:1.8;color:#8c977e}.growth-invitation{display:flex;align-items:center;gap:18px;padding:23px 21px}.growth-mark{width:43px;height:43px;flex-shrink:0;color:#94a47e}.growth-mark svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.growth-invitation h2{font:22px/1.6 var(--serif);margin-top:3px}#growth-summary{font-size:12px;line-height:1.9;color:var(--muted);margin-top:4px}.growth-invitation>.text-button{margin-left:auto;white-space:nowrap;gap:15px}.growth-invitation .icon{color:var(--red)}.home-footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#929b86;padding-top:15px;border-top:1px solid var(--line)}.home-footer>span:first-child{font-family:var(--serif);letter-spacing:.12em}
/* A shared opening choice, then six distinct games. */
.play-settings{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 34px;align-items:center;padding:19px 22px 0;margin:0 0 26px;border-top:1px solid #b4c0a3;border-bottom:1px solid var(--line);background:#eceee244}.play-settings-copy{min-width:0}.play-settings-copy h2{font:23px/1.65 var(--serif);font-weight:400;margin-top:2px}.play-settings-copy>p:last-child{font-size:12px;line-height:1.9;color:var(--muted);margin-top:4px}.play-settings-controls{display:flex;align-items:center;gap:26px;min-width:0}.setting-field{min-width:150px}.setting-field>label{display:block;font-size:12px;color:#89957a;letter-spacing:.07em}.setting-field .select-wrap select{font-size:14px;min-height:41px;max-width:220px;min-width:165px}.seek-board-settings{grid-column:1/-1;min-width:0;border-top:1px solid #d8ddcd}.seek-board-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:41px;width:100%;list-style:none;cursor:pointer;font-size:12px;color:#8a967d}.seek-board-settings>summary::-webkit-details-marker{display:none}.seek-board-settings>summary>span{font-size:16px;color:#a8ae96;transition:transform 180ms}.seek-board-settings[open]>summary>span{transform:rotate(45deg)}.seek-board-settings>.difficulty-field{padding:0 0 16px;gap:15px}.seek-board-settings .select-wrap{width:200px;flex-shrink:0}.seek-board-settings .difficulty-field>p{font-size:12px;line-height:1.9;color:#8a967d;max-width:470px}.run-context{font-size:12px;line-height:1.9;color:#8b987d;margin-top:4px;letter-spacing:.04em}.run-context:empty{display:none}.run-context.is-daily{color:#a07b46}.daily-challenge{position:relative;align-items:center;flex-wrap:wrap;gap:16px}.daily-challenge .daily-symbol{display:none}.daily-challenge .daily-copy{flex:1;min-width:190px}.daily-challenge .daily-copy .eyebrow{flex-wrap:wrap;gap:6px 14px}.daily-challenge-state{font-size:11px;letter-spacing:0;color:#a58c5c}.daily-challenge .daily-copy>p:last-of-type{max-width:350px;line-height:1.9}.daily-challenge>.button{min-height:43px}.daily-challenge.challenge-complete::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#9db184;animation:journey-line 550ms var(--ease) both;transform-origin:top}.daily-challenge.challenge-complete .daily-challenge-state{color:#6d8c55}.journey-invitation{display:block;padding:25px 22px 23px}.journey-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.journey-heading h2{font:25px/1.6 var(--serif);font-weight:400;margin-top:4px}.journey-heading>.text-button{white-space:nowrap;color:var(--ink-soft);gap:13px}.journey-heading .icon{color:var(--red)}.journey-track{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 25px;align-items:center;margin-top:23px}.journey-current{grid-column:1;grid-row:1/span 2;display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 13px}.journey-level{font:25px/1.5 var(--serif);color:var(--red)}.journey-xp{font-size:12px;color:#939e86;font-variant-numeric:tabular-nums}.journey-progress{position:relative;height:4px;width:100%;background:#dce2cf;overflow:hidden}.journey-progress-fill{display:block;height:100%;width:var(--journey-progress,0%);max-width:100%;background:#8ca675;transition:width 650ms var(--ease);transform-origin:left}.journey-next{font-size:12px;line-height:1.8;color:#8a977c;min-width:0}.journey-themes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:24px}.theme-choice{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:13px 0 12px;border:0;border-top:1px solid #b6c4a3;background:transparent;color:var(--ink);text-align:left;transition:color 170ms,border-color 170ms,background 170ms}.theme-choice>strong,.theme-choice .theme-name{font:21px/1.6 var(--serif);font-weight:400}.theme-choice>small,.theme-choice>span:not(.theme-name){font-size:12px;line-height:1.8;color:#8a987c}.theme-choice::after{content:"↗";position:absolute;right:0;top:17px;font-size:15px;color:#9dae89;transition:transform 180ms var(--ease),color 180ms}.theme-choice:hover:not(:disabled){color:var(--red);border-top-color:#a5845c}.theme-choice:hover:not(:disabled)::after{color:var(--red);transform:translate(2px,-2px)}.theme-choice.is-selected{border-top-color:var(--red);color:var(--red)}.theme-choice.is-selected::after{content:"✓";color:var(--red)}.theme-choice.is-locked,.theme-choice.is-locked:disabled{opacity:1;color:#9ba28e;border-top-color:#d8decd}.theme-choice.is-locked::after{content:"·";color:#b0b7a2}.theme-choice.is-locked>small,.theme-choice.is-locked>span:not(.theme-name){color:#a0a991}.journey-invitation #growth-summary{border-top:1px solid #dce1d1;padding-top:14px;margin-top:7px;font-size:12px}.journey-reward{display:flex;align-items:center;flex-wrap:wrap;gap:7px 18px;margin-top:15px;padding:11px 0;border-top:1px solid #c3cfb0;color:#6c8557;font-size:13px;line-height:1.8;animation:reward-arrive 450ms var(--ease) both}.journey-reward>strong{font:20px var(--serif);font-weight:400;color:var(--red)}.unlock-reveal{animation:unlock-ink 700ms var(--ease) both}.star-rating{display:inline-flex;align-items:center;gap:4px;color:#b39a65;font-size:18px;line-height:1;letter-spacing:2px}.star-rating [data-filled=false],.star-rating .is-empty{color:#cdd4bf}.challenge-complete{animation:challenge-ink 650ms var(--ease) both}
/* Compact headers across all six games. */
.game-view,.mini-view,.anthology-view{padding-bottom:30px;min-width:0}.game-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:7px}.game-topline>.text-button{color:var(--muted)}.game-top-actions{display:flex;gap:24px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:11px 0 21px}.game-heading h1{font:34px/1.5 var(--serif);letter-spacing:.035em;margin-top:4px;font-weight:400}.game-stats{display:flex;align-items:center;gap:30px;text-align:right}.game-stats>div{min-width:68px}.game-stats dt{font-size:12px;color:var(--muted);letter-spacing:.04em}.game-stats dd{font:27px/1.3 var(--serif);font-variant-numeric:tabular-nums;margin-top:4px;white-space:nowrap}#game-score,#mini-score,#anth-score{color:var(--red)}.tutorial-guide{margin-bottom:18px;padding:14px 18px;border-left:3px solid #9baf83;background:#e6ecda;color:var(--ink-soft);font-size:13px;line-height:1.9}.tutorial-guide h2,.tutorial-guide h3,.tutorial-guide strong{font-size:15px;font-weight:500;color:var(--ink)}.tutorial-guide p{margin-top:5px}.tutorial-guide button{min-height:44px;padding:8px 14px;border:1px solid #b0bea2;background:none;color:var(--ink);font-size:13px;margin-top:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading h2{font:20px/1.6 var(--serif);font-weight:400}.section-aside{color:var(--muted);font-size:12px}.empty-note{font:13px/1.9 var(--sans);font-weight:400;color:#919b84}.entry-meta{font:12px/1.9 var(--sans);color:var(--muted)}
/* Seek: tools, board, nearby answer, optional records. */
.game-workspace{display:flex;flex-direction:column;gap:0;min-width:0}.tools-section{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;column-gap:17px;border-top:1px solid #adbc9e;border-bottom:1px solid var(--line);padding:10px 0}.tools-section>.section-heading{display:block}.tools-section .section-heading h2{font-size:17px}.tools-section .section-aside{display:none}.tool-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.tool-button{display:grid;grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:54px;width:100%;padding:4px 0;border:0;background:none;text-align:left;transition:color 150ms}.tool-button>.icon{width:20px;height:20px;color:#64815b}.tool-name{font-size:13px;line-height:1.7}.tool-description{display:block;color:#939d87;font-size:12px;line-height:1.7}.tool-count{font:18px var(--serif);color:var(--red);text-align:right}.tool-button:hover:not(:disabled),.tool-button:hover:not(:disabled)>.icon{color:var(--red)}.tool-button.is-active,.tool-button[aria-pressed=true]{color:var(--red)}.tools-footnote{display:none}.hints-section{padding:12px 0 0}.hints-section:not(:has(#hint-list>li:not(.empty-note))){display:none}.hints-section .section-heading{justify-content:flex-start;gap:12px}.hints-section h2{font-size:16px}.small-ornament{color:#95a47f;font-size:17px}.hint-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin-top:7px}.hint-list>li{padding:6px 0 6px 12px;border-left:2px solid #bbc9a6;color:var(--ink-soft);font-size:13px;line-height:1.8;overflow-wrap:anywhere}.hint-list strong,.hint-list .entry-title{display:block;font-size:13px;font-weight:500;color:var(--ink)}.hint-list .entry-body{margin-top:3px}.board-column{min-width:0;margin-top:19px}.board-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:13px}.board-heading>div{display:flex;align-items:center;gap:8px}.board-heading h2{font:19px var(--serif);font-weight:400;letter-spacing:.04em}.board-title-mark{width:5px;height:5px;border:1px solid #879d74;transform:rotate(45deg)}.board-coordinates{font:12px var(--serif);color:#8b997c;letter-spacing:.06em}.board-surface{background:var(--ink-deep);padding:22px 0 0;border:0;min-width:0}.board-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:0 23px 10px;scrollbar-width:thin;scrollbar-color:#6f8965 var(--ink-deep)}.board-scroll:focus-visible{outline-offset:-4px}.board{--cell-size:52px;--cell:var(--cell-size);display:grid;grid-template-columns:repeat(var(--cols,10),var(--cell-size));gap:5px;width:max-content;margin:0 auto}.board-row{display:contents}.cell{position:relative;display:flex;align-items:center;justify-content:center;width:var(--cell-size);height:var(--cell-size);padding:0;border:1px solid #8ea4792e;border-radius:1px;background:#2c5144;color:#ebecd8;font:31px/1 var(--serif);font-weight:400;user-select:none;-webkit-user-select:none;box-shadow:inset 0 1px 0 #bed29e10;transition:background 150ms,color 150ms,border-color 150ms}.cell[data-state=covered]::before{content:"";width:4px;height:4px;border:1px solid #a6b98f42;transform:rotate(45deg)}.cell:hover:not(:disabled){background:#3c6450;border-color:#a4b88a88}.cell:focus-visible{z-index:3;outline:2px solid #f2ca92;outline-offset:2px}.cell[data-state=blank]{background:#193c33;border-color:#7b986d15;box-shadow:none}.cell[data-state=clue]{background:#1b4136;border-color:#819a7025;box-shadow:none}.cell[data-state=riddle]{background:#744639;border-color:#b9826666;color:#edb99a}.cell[data-state=riddle]::after{content:"";position:absolute;width:15px;height:15px;border:1px solid #d8a27f;border-radius:50%;opacity:.7}.cell[data-state=solved]{background:#b3c29b;color:#1a4234;border-color:#c7cfad;box-shadow:none;cursor:default}.cell-char{display:block;font:inherit}.cell-number{position:absolute;left:4px;bottom:4px;font:11px/1 var(--sans);color:#b7c79f}.cell[data-state=blank] .cell-number{inset:0;display:grid;place-items:center;font:18px var(--serif);color:#84a57c}.cell[data-state=solved] .cell-number{color:#487045}.cell-read{position:absolute;right:3px;top:3px;font:10px/1.2 var(--sans);color:#efc091;max-width:calc(100% - 6px)}.cell.is-selected{z-index:2;outline:1px solid #edcb93;outline-offset:2px;border-color:#edcb93}.cell.is-tracked{border:1px dashed #d4b47e;box-shadow:inset 0 0 0 2px #d4b47e16}.cell.is-tracked::after{content:"";position:absolute;inset:4px;border:1px solid #e2bf8144;pointer-events:none}.cell.is-marked{background:#3d5747;border-color:#c09a5d66}.cell.is-marked::before{content:"";width:10px;height:25px;border:1px solid #d5af75;background:#d5af7517;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);transform:rotate(10deg)}.cell.is-marked::after{content:"";position:absolute;width:1px;height:28px;left:calc(50% - 5px);background:#d5af7566;transform:rotate(10deg)}.cell:disabled{opacity:1}.board-bottomline{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:13px 23px 17px;color:#9aae89}.board-legend{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.7}.board-legend i{display:inline-block;width:5px;height:5px;margin-left:10px}.board-legend i:first-child{margin-left:0}.legend-clue{background:#b5c69e}.legend-mark{border:1px solid #d5af75}.legend-solved{background:#b3c29b;transform:rotate(45deg)}.scroll-note{font-size:12px;color:#839d76}.mode-switch{display:flex;align-items:center;gap:0;margin-top:12px;border-bottom:1px solid var(--line)}.mode-switch button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:57px;flex:1;padding:9px 13px;background:none;color:#8b987f;border:0;border-bottom:2px solid transparent}.mode-switch button[aria-pressed=true]{border-bottom-color:var(--red);color:var(--ink);background:#e8ecdf66}.mode-switch button:hover{color:var(--ink)}.mode-switch button>span{display:flex;align-items:baseline;gap:10px;font-size:14px;line-height:1.7}.mode-switch small{color:#96a18a;font-size:12px}.mode-switch kbd{color:#a3ad95}.game-status{padding:13px 2px 5px;min-height:45px;font-size:13px;line-height:1.9;color:var(--ink-soft)}.game-status.is-error{color:var(--red)}.game-footnote{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.8;color:#98a18b;padding:8px 2px}.game-footnote>span:last-child{overflow-wrap:anywhere;text-align:right}.answer-section{display:grid;grid-template-columns:205px minmax(0,1fr);gap:0 28px;padding:22px 1px 14px;border-top:1px solid #b7c4a5;margin-top:8px;background:none;box-shadow:none}.answer-section>.section-heading{grid-column:1;grid-row:1;align-items:flex-start;justify-content:flex-start;gap:10px}.answer-section h2{font-size:20px}.answer-seal{font:13px var(--serif);color:var(--red);border:1px solid #bd7658;padding:2px 3px;flex-shrink:0}.selected-description{grid-column:1;grid-row:2;margin-top:9px;color:#839475;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.answer-form{grid-column:2;grid-row:1/span 2;display:grid;grid-template-columns:minmax(0,1fr) 138px;gap:8px 10px;align-content:start;min-width:0}.answer-form label{grid-column:1/-1;font-size:12px;color:var(--muted)}.answer-form input{width:100%;min-width:0;height:53px;padding:12px 14px;border:1px solid #bdc8af;background:var(--paper-light);color:var(--ink);font-size:19px;outline-offset:2px}.answer-form input::placeholder{color:#a0a88f;font-size:13px}.answer-form input[aria-invalid=true]{border-color:var(--red);background:#f8e8db}.answer-submit{min-height:53px;justify-content:center;gap:8px;letter-spacing:.05em}.answer-guidance{grid-column:1/-1;color:#8a967f;font-size:12px;line-height:1.9}.answer-feedback{grid-column:2;min-height:25px;margin-top:6px;font-size:13px;line-height:1.9;color:var(--red);overflow-wrap:anywhere}.answer-feedback.is-success{color:var(--ink-soft)}

/* Records remain available without reserving an empty side cabinet. */
.compact-record{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:18px}.compact-record>summary{display:flex;align-items:center;gap:17px;min-height:52px;padding:10px 2px;cursor:pointer;list-style:none;color:var(--ink-soft)}.compact-record>summary::-webkit-details-marker{display:none}.compact-record>summary>span{font:18px var(--serif)}.compact-record>summary>small{font-size:12px;color:#96a18a}.compact-record>summary>i{width:7px;height:7px;margin-left:auto;margin-right:7px;border-right:1px solid #8a9a7a;border-bottom:1px solid #8a9a7a;transform:rotate(45deg);transition:transform 170ms}.compact-record[open]>summary>i{transform:rotate(225deg)}.compact-record[open]>:not(summary){animation:ink-appear 220ms var(--ease) both}.seek-record-content{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;padding:8px 2px 20px}.found-list,.event-list{list-style:none}.found-list{margin-top:8px}.found-list>li{padding:13px 0;border-bottom:1px solid #dde1d1;overflow-wrap:anywhere;font:20px/1.9 var(--serif)}.found-list .entry-title,.found-list strong{font:21px/1.9 var(--serif)}.found-list .entry-meta,.found-list small{display:block;font:12px/1.9 var(--sans);color:var(--muted);margin-top:5px}.found-list>.empty-note{border:0;font:13px/1.9 var(--sans);padding:8px 0 15px}.event-list{margin-top:8px;max-height:280px;overflow-y:auto;scrollbar-width:thin;padding-right:7px}.event-list>li{position:relative;padding:6px 0 6px 13px;color:#8b977e;font:13px/1.9 var(--sans);overflow-wrap:anywhere}.event-list>li:not(.empty-note)::before{position:absolute;content:"";width:3px;height:3px;background:#a4b191;top:17px;left:0;transform:rotate(45deg)}.event-list>.empty-note{padding-left:0}.mini-record .found-list,.anth-record .found-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;padding:0 2px 18px}.mini-record .found-list>.empty-note,.anth-record .found-list>.empty-note{grid-column:1/-1}
/* Path and pair use the full working width. */
.mini-view{--path-color:#d4b77b}.mini-workspace{display:block;min-width:0}.mini-play-column{min-width:0}.mini-instructions,.anth-instructions{font-size:14px;line-height:1.9;color:var(--ink-soft);padding:0 1px 17px}.path-stage{background:var(--ink-deep);padding:16px 24px 13px;border:0;color:#b1c19e;overflow:hidden}.mini-stage-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;line-height:1.8;padding-bottom:10px;color:#8fa77d}.mini-stage-topline>span:first-child{font:17px var(--serif);letter-spacing:.08em;color:#cad4b6}.path-board-wrap{overflow:auto;padding:10px 0 13px;scrollbar-width:thin;scrollbar-color:#739363 var(--ink-deep)}.path-board{--path-cell-size:70px;--path-gap:10px;position:relative;width:max-content;margin:0 auto;padding:15px;user-select:none;-webkit-user-select:none;touch-action:none}.path-grid{position:relative;z-index:auto;display:grid;grid-template-columns:repeat(var(--path-cols,6),var(--path-cell-size));gap:var(--path-gap);width:max-content}.path-row{display:contents}.path-cell{position:relative;display:grid;place-items:center;width:var(--path-cell-size);height:var(--path-cell-size);padding:0;border:1px solid #96ad7d3d;border-radius:2px;background:#2d5141;color:#ebecd6;font:32px/1 var(--serif);font-weight:400;user-select:none;-webkit-user-select:none;transition:background 140ms,border-color 140ms,color 140ms}.path-cell>.char{position:relative;pointer-events:none;z-index:3;text-shadow:0 1px 8px #14382d}.path-cell:hover:not(:disabled){background:#3f644d;border-color:#afc08e99}.path-cell:focus-visible{outline:2px solid #efcc93;outline-offset:3px;z-index:3}.path-cell.is-selected{background:#a98d4955;color:#fff1ce;border-color:#e0bd7b;box-shadow:inset 0 0 0 1px #e5c18133}.path-cell.is-solved{background:#becaa2;color:#1a4432;border-color:#d1d6b7;box-shadow:none}.path-cell.is-solved>.char{text-shadow:none}.path-cell.is-hint{border-color:#f3cc9b;animation:path-hint-glow 650ms ease-in-out 2}.path-cell:disabled{opacity:1}svg.path-lines{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible;color:var(--path-color)}.path-stroke{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.path-stroke.is-current{color:var(--path-color);opacity:.58;animation:none}.path-stroke.cursor-tail,.path-lines .cursor-tail{fill:none;stroke:#f0d2a2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 7;opacity:.65;animation:none;vector-effect:non-scaling-stroke}.path-stroke.is-complete{color:#b6cb96;stroke-width:6;opacity:.3}.path-stroke.is-hint{color:#e7c29a;stroke-width:4;stroke-dasharray:5 8;opacity:.9;animation:ink-appear 300ms ease-out both}.path-board.is-wrong .path-cell.is-error,.path-board.error .path-cell.is-error,.path-cell.error{animation:path-wrong-ink 340ms ease-out}.path-cell.is-new-solve{animation:path-solved-ink 530ms var(--ease);animation-delay:var(--solve-delay,0ms)}.mini-stage-bottomline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;padding-top:11px;border-top:1px solid #a7bb8b24;color:#94aa7f;font-size:12px;line-height:1.8}.path-stage-key{display:inline-flex;align-items:center;gap:8px}.path-stage-key i{width:5px;height:5px;border:1px solid #d4b77b;transform:rotate(45deg)}.path-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 23px;padding:19px 0 0}.path-current-heading{grid-column:1;display:flex;align-items:center;gap:15px;color:var(--muted);font-size:12px;line-height:1.8}.path-current-heading>span:last-child{color:#9aa48e}.path-current-heading kbd{margin:0 3px}.path-current{grid-column:1;display:block;min-height:62px;padding:9px 2px 12px;font:29px/1.55 var(--serif);letter-spacing:.1em;overflow-wrap:anywhere;color:var(--ink)}.path-current.is-empty{color:#93a27f;font-size:23px}.path-current.is-changing{animation:ink-appear 200ms var(--ease) both}.path-actions{grid-column:2;grid-row:1/span 2;display:flex;align-items:center;gap:9px 17px;flex-wrap:wrap;max-width:465px;justify-content:flex-end}.path-actions .button{min-height:47px;font-size:13px}.path-actions .text-button{font-size:13px}.path-actions .mini-hint{color:var(--ink-soft)}.pair-stage{padding:0;border:0;background:none}.pair-stage .mini-stage-topline{padding-bottom:12px;color:#929d84}.pair-stage .mini-stage-topline>span:first-child{font:17px var(--serif);color:#7f9070}.pair-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:0;max-width:none;margin:0}.pair-card{position:relative;display:grid;place-items:center;container-type:inline-size;min-width:0;min-height:137px;padding:30px 12px 22px;border:1px solid #c8c7b8;border-radius:3px;background:#eae6d9;color:var(--ink);text-align:center;box-shadow:0 3px 0 #b0b09a1c;transition:background 220ms,border-color 160ms,box-shadow 180ms}.pair-card::before{content:"";position:absolute;left:18px;right:18px;top:50%;height:1px;background:#c9c6b5;pointer-events:none;transition:opacity 150ms}.pair-card::after{content:"";position:absolute;top:9px;right:9px;width:9px;height:9px;border-top:1px solid #c8c5b0;border-right:1px solid #c8c5b0;pointer-events:none}.pair-card:hover:not(:disabled){border-color:#b99c70;background:#f3ede0;box-shadow:0 3px 0 #b99c7026}.pair-card:focus-visible{z-index:2;outline-offset:4px}.pair-card>.card-role{position:absolute;top:13px;left:14px;right:14px;font:12px/1.7 var(--sans);text-align:left;color:#a48b61;pointer-events:none;letter-spacing:.05em}.pair-card[data-state=hidden]>.card-role{position:relative;inset:auto;padding:3px 12px;background:#eae6d9;color:#9d9e89;font:20px/1.7 var(--serif);text-align:center;letter-spacing:.12em;z-index:1;transition:background 220ms}.pair-card[data-state=hidden]:hover:not(:disabled)>.card-role{background:#f3ede0}.pair-card>.card-face{position:relative;z-index:1;display:block;width:100%;min-width:0;color:var(--ink);font:clamp(18px,13cqw,28px)/1.65 var(--serif);white-space:nowrap;pointer-events:none}.pair-card[data-state=hidden]>.card-face{position:absolute;visibility:hidden;opacity:0}.pair-card>.card-ornament{display:none}.pair-card[data-state=open]{background:#fdfbf4;border-color:#bb9c6d;box-shadow:0 3px 0 #c3ad7e28}.pair-card[data-state=open]::before,.pair-card[data-state=matched]::before{opacity:0}.pair-card[data-state=open]::after{border-color:#c3ac7e}.pair-card[data-state=matched]{background:#e1e9d5;border-color:#a4b68b;box-shadow:0 3px 0 #b1be9c1c;cursor:default}.pair-card[data-state=matched]>.card-face{color:#516b43}.pair-card[data-state=matched]>.card-role{color:#83976a}.pair-card[data-state=matched]::after{top:auto;bottom:10px;right:11px;width:11px;height:6px;border:0;border-left:1px solid #8a9c73;border-bottom:1px solid #8a9c73;transform:rotate(-45deg)}.pair-card[data-state=open].is-entering>.card-face{animation:pair-face-ink 420ms var(--ease) both}.pair-card[data-state=matched].is-entering>.card-face{animation:pair-match-ink 550ms var(--ease) both}.pair-card[data-state=matched].is-entering::after{animation:seal-appear 450ms var(--ease) both}.pair-card.is-wrong{animation:pair-wrong-ink 450ms ease-out both}.pair-card.is-hint{border-color:#b37b47;animation:pair-hint-ink 700ms ease-in-out 2}.pair-card:disabled{opacity:1}.pair-stage .mini-stage-bottomline{border:0;padding-top:10px;color:#8b9c79}.pair-stage .mini-stage-bottomline>.text-button{color:#778c61;font-size:13px;min-height:44px}.mini-status,.anth-status{min-height:49px;padding:14px 2px 7px;font-size:14px;line-height:1.9;color:var(--ink-soft)}.mini-status.is-error,.mini-status[data-tone=error],.anth-status.is-error,.anth-status[data-tone=error]{color:var(--red)}.mini-status.is-success,.anth-status.is-success{color:#6c8c51}.mini-found-list.poem-arrival>.poem-entry:last-child,.found-list>li.is-collected,.collection-entry.is-collected{animation:collected-arrive 500ms var(--ease) both}
/* Anthology: each rule has its own large task object. */
.anth-workspace{max-width:1120px;margin:0 auto;min-width:0}.anth-instructions{padding-bottom:13px}.anth-stage{padding:25px 34px 24px;background:#faf8f04d;border-top:1px solid #b4c1a2;border-bottom:1px solid var(--line)}.stage-eyebrow{font-size:12px;color:#96a081;letter-spacing:.12em;text-align:center;line-height:1.8}.flower-keyword{font:92px/1.3 var(--serif);text-align:center;color:var(--red);padding:9px 0 23px;letter-spacing:.08em}.flower-form{max-width:770px;margin:0 auto}.flower-form label{display:block;color:var(--ink-soft);font-size:13px;line-height:1.9;margin-bottom:8px}.flower-answer-row{display:flex;gap:12px;align-items:stretch}.flower-form input{flex:1;min-width:0;width:100%;min-height:61px;padding:14px 18px;border:1px solid #b9c5a8;background:var(--paper-light);color:var(--ink);font:22px/1.5 var(--serif)}.flower-form input::placeholder{font:16px var(--serif);color:#a0a78e}.flower-form input[aria-invalid=true]{border-color:var(--red)}.flower-form .button{min-width:125px;font-size:14px}.stage-support{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px auto 0;max-width:770px;min-height:44px}.stage-support>.text-button{color:#8a956f;white-space:nowrap;font-size:13px}.anth-helper{color:#8b987c;font:14px/1.9 var(--serif)}.anth-poem-meta{text-align:center;color:var(--ink-soft);font:22px/1.8 var(--serif);padding:8px 0 21px}.order-lines{max-width:830px;margin:0 auto;display:grid;gap:10px}.order-line{display:flex;align-items:center;gap:15px;min-width:0;min-height:76px;padding:13px 14px;border:1px solid #c6cfb9;background:var(--paper-light);border-radius:2px;color:var(--ink);transition:background 180ms,border-color 180ms,opacity 180ms}.order-line .handle{width:23px;flex:0 0 auto;color:#acb39d;font:21px var(--sans);cursor:grab;user-select:none}.order-line .text{flex:1;min-width:0;font:25px/1.8 var(--serif);overflow-wrap:anywhere}.order-line button[data-move]{width:43px;min-height:43px;flex:0 0 auto;padding:5px;border:1px solid #d3d9c7;background:transparent;color:#8d9b7c;font-size:18px;border-radius:2px}.order-line button[data-move]:hover:not(:disabled){background:#e6ecda;border-color:#9caf89;color:var(--ink)}.order-line.is-dragging,.order-line.dragging{opacity:.45;cursor:grabbing}.order-line.is-over,.order-line.drop-target{border-color:var(--red);background:#f2e6d8}.order-line.is-correct{background:#e7eedb;border-color:#a8bb90}.order-line.is-wrong{animation:paper-wrong 430ms ease-out}.order-line.is-entering{animation:ink-appear 280ms var(--ease) both}.anth-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 25px;margin-top:24px}.anth-actions .button{min-width:145px;font-size:14px}.anth-actions .text-button{font-size:13px;color:#8b9678}.cloze-line{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;max-width:900px;margin:12px auto 30px;min-height:85px;color:var(--ink);font:34px/1.8 var(--serif);letter-spacing:.02em}.cloze-line .blank-slot{display:inline-grid;place-items:center;width:54px;height:63px;min-width:54px;margin:0 3px;padding:0;border:0;border-bottom:2px solid #b58a63;border-radius:1px;background:#e7e9da;color:var(--red);font:33px/1 var(--serif);vertical-align:middle;transition:background 160ms,border-color 160ms}.blank-slot:hover:not(:disabled){background:#dce4ce}.blank-slot.is-active,.blank-slot.is-selected,.blank-slot[aria-pressed=true]{background:#efe0cd;outline:1px solid #c69b6c;outline-offset:3px}.blank-slot.is-filled,.blank-slot[data-state=filled]{background:#e3ebd6;color:var(--ink);border-bottom-color:#9cb27d}.blank-slot.is-correct{animation:answer-bloom 500ms var(--ease)}.blank-slot.is-wrong{animation:paper-wrong 420ms ease-out}.cloze-choices{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:11px;max-width:700px;margin:0 auto}.choice-char{display:grid;place-items:center;width:57px;height:57px;min-width:57px;padding:0;border:1px solid #c2ccb2;background:var(--paper-light);color:var(--ink);font:29px/1 var(--serif);box-shadow:0 3px 0 #aab49a20;transition:background 140ms,border-color 140ms}.choice-char:hover:not(:disabled){background:#e6edda;border-color:#9aac83}.choice-char.is-used,.choice-char:disabled{opacity:.25;box-shadow:none}.choice-char.is-hint{outline:2px solid #c19d62;outline-offset:3px;animation:answer-bloom 600ms ease-out}.anth-round-result{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 24px;background:#e9efde;border-left:3px solid #a3b987;margin:8px 0 18px}.anth-round-result p{font:19px/1.9 var(--serif);color:#567047;white-space:pre-line}.anth-round-result .button{white-space:nowrap;min-width:116px}.anth-stage.is-complete,.anth-stage[data-state=complete]{border-top-color:#87a568}.anth-stage.is-wrong{animation:paper-wrong 450ms ease-out}.anth-stage.is-entering{animation:ink-appear 350ms var(--ease)}
.finish-panel{display:flex;gap:20px;align-items:flex-start;padding:25px 24px;margin:15px 0;background:#e7eddb;border:1px solid #bac8a7;animation:page-rise 450ms var(--ease) both}.finish-seal{display:grid;place-items:center;width:41px;height:46px;flex-shrink:0;border:2px solid var(--red);color:var(--red);font:28px var(--serif);transform:rotate(-4deg);animation:seal-appear 550ms 120ms var(--ease) both}.finish-panel h2{font:27px/1.6 var(--serif);margin-top:6px}.finish-panel>div>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--ink-soft);margin-top:12px}.finish-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:20px}.finish-actions .button,.finish-actions .text-button{font-size:13px;min-height:44px}.mini-finish .finish-actions .button,.anth-finish .finish-actions .button{padding:10px 15px}


/* Native paper dialogs, shared collection, context and growth. */
.paper-dialog,.recall-dialog{width:min(680px,calc(100% - 60px));max-height:min(88vh,900px);margin:auto;padding:29px 32px 23px;border:1px solid #c2ccb3;background:var(--paper-light);color:var(--text);box-shadow:0 26px 100px #0f312c42;overflow:auto;overscroll-behavior:contain}.paper-dialog::backdrop,.recall-dialog::backdrop{background:#092b2a99;backdrop-filter:blur(4px)}.paper-dialog[open],.recall-dialog[open]{animation:dialog-arrive 260ms var(--ease) both}.dialog-heading,.recall-dialog .dialog-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:19px;border-bottom:1px solid var(--line)}.dialog-heading h2{font:34px/1.5 var(--serif);font-weight:400;margin-top:5px}.icon-button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid var(--line);background:none;color:var(--muted)}.icon-button:hover{border-color:var(--red);color:var(--red)}.dialog-intro{font-size:13px;line-height:1.9;color:var(--muted);margin-top:18px}.collection-list{margin-top:18px}.collection-list>*{padding:18px 0;border-top:1px solid var(--line)}.collection-list h3,.collection-list .entry-title,.collection-list strong{font:22px/1.9 var(--serif)}.collection-list p:not(.empty-note),.collection-list .entry-meta,.collection-list small{font-size:13px;line-height:1.9;color:var(--muted);margin-top:6px}.collection-list .empty-note{border:0;padding:23px 0;font:16px/2 var(--serif)}.collection-entry{overflow-wrap:anywhere}.dialog-footer-note{font-size:12px;color:#949d86;line-height:1.9;border-top:1px solid var(--line);padding-top:15px;margin-top:10px}.rule-list{list-style:none;margin-top:15px}.rule-list>li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.rule-number{font:17px/1.9 var(--serif);color:var(--red);flex-shrink:0}.rule-list h3{font:20px/1.6 var(--serif)}.rule-list p{font-size:13px;line-height:1.95;color:var(--ink-soft);margin-top:6px}.rule-list strong{font-weight:500;color:var(--red-dark)}.keyboard-note{display:flex;gap:12px;align-items:flex-start;margin-top:20px;color:var(--muted)}.keyboard-note>.icon{flex-shrink:0;margin-top:3px}.keyboard-note p{font-size:12px;line-height:2}.keyboard-note kbd{margin:0 2px}.confirm-dialog{position:fixed;width:min(460px,calc(100% - 60px))}.confirm-ornament{position:absolute;right:27px;top:24px;color:#e0e5d4;font:52px var(--serif)}.confirm-dialog h2{position:relative;font:28px/1.6 var(--serif);margin-top:12px}#confirm-message{font-size:13px;line-height:1.95;color:var(--ink-soft);margin-top:17px}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:25px}.recall-dialog{width:min(540px,calc(100% - 60px))}.recall-dialog .dialog-title{font:29px/1.6 var(--serif);margin-bottom:15px}.recall-dialog .dialog-title .text-button{font:13px var(--sans);min-width:44px}.recall-dialog .entry-meta{font-size:13px;margin-top:8px}.recall-prompt{font:26px/1.9 var(--serif);padding:18px;border-left:2px solid #adbe95;background:#eaf0df;white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0}.recall-form{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;margin-top:20px}.recall-form label{flex-basis:100%;font-size:13px;color:var(--muted)}.recall-form input{flex:1;min-width:120px;min-height:47px;padding:11px 13px;border:1px solid #bbc8ab;background:#f7f9ee;color:var(--ink);font-size:17px}.recall-dialog>.text-button{margin-top:14px}.poem-context{border-top:1px solid #dbe0d0;margin-top:15px;padding-top:12px}.poem-context>summary{display:flex;align-items:center;gap:9px;min-height:38px;cursor:pointer;list-style:none;color:var(--ink-soft);font:13px/1.8 var(--sans)}.poem-context>summary::-webkit-details-marker{display:none}.poem-context>summary::before{content:"+";font:18px var(--serif);color:#b09564;width:12px;text-align:center}.poem-context[open]>summary::before{content:"−"}.poem-context p{font-size:14px;line-height:2;color:var(--ink-soft);white-space:pre-line}.poem-context>p,.poem-context>div{margin-top:8px}.poem-context[open]>:not(summary){animation:ink-appear 220ms var(--ease) both}.evidence-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px 15px;margin-top:10px;color:#839473}.evidence-chips>*{display:inline-flex;align-items:center;gap:6px;padding:2px 0 4px;border-bottom:1px solid #d0d9c1;font:12px/1.7 var(--sans)}.evidence-chips>*::before{content:"";width:3px;height:3px;background:#9aad86;transform:rotate(45deg)}.toast{position:fixed;z-index:100;left:50%;bottom:26px;transform:translate(-50%,10px);max-width:min(590px,calc(100% - 50px));width:max-content;padding:12px 21px;background:var(--ink);border:1px solid #617d56;color:var(--paper-light);box-shadow:0 9px 27px #143d282e;opacity:0;visibility:hidden;pointer-events:none;font-size:13px;line-height:1.9;transition:opacity 180ms,transform 220ms var(--ease),visibility 180ms}.toast.show,.toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.toast.bad,.toast.is-error,.toast[data-type=error]{background:#844835;border-color:#b17b55}.toast.good,.toast.is-success{border-color:#b7c891}
/* Reading comes before remembering; a repeated look is an explicit choice. */
.pair-memory-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 23px;margin-bottom:20px;border-left:2px solid #b4a075;background:#eeeadd77}.pair-memory-copy{min-width:0}.pair-memory-copy>.eyebrow{font-size:11px;color:#a39169;letter-spacing:.08em}.pair-memory-copy h2{font:25px/1.65 var(--serif);font-weight:400;margin-top:3px}.pair-memory-copy>p:last-child{font-size:13px;line-height:1.9;color:#899376;margin-top:4px;max-width:670px}.pair-preview-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.pair-preview-actions>.button{font-size:13px;white-space:nowrap;min-height:45px;padding-left:17px;padding-right:17px}.pair-preview-actions>.text-button{white-space:nowrap;font-size:13px;color:#9e8053}.pair-card[data-state=preview]{background:#fcfaf2;border-color:#baab84;box-shadow:0 3px 0 #c4b38c25;cursor:default}.pair-card[data-state=preview]::before{opacity:0}.pair-card[data-state=preview]::after{border-color:#c7b68a}.pair-card[data-state=preview]>.card-role{color:#a48c62}.pair-card[data-state=preview]>.card-face{color:#284c3b;animation:preview-read 430ms var(--ease) both;animation-delay:var(--pair-delay,0ms)}.pair-card[data-state=hidden].is-entering{animation:preview-close 330ms var(--ease) both;animation-delay:var(--pair-delay,0ms)}.pair-board.is-closing .pair-card{animation:preview-close 330ms var(--ease) both;animation-delay:var(--pair-delay,0ms)}.pair-board .pair-card:nth-child(6n+1){--pair-delay:0ms}.pair-board .pair-card:nth-child(6n+2){--pair-delay:25ms}.pair-board .pair-card:nth-child(6n+3){--pair-delay:50ms}.pair-board .pair-card:nth-child(6n+4){--pair-delay:75ms}.pair-board .pair-card:nth-child(6n+5){--pair-delay:100ms}.pair-board .pair-card:nth-child(6n){--pair-delay:125ms}
/* The collected line is an opening, not a static list row. */
.collection-dialog{width:min(930px,calc(100% - 64px));container-type:inline-size}.collection-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:20px;padding-bottom:15px;border-bottom:1px solid #d8dfca}.collection-search{flex:1;min-width:210px;min-height:43px;width:auto;padding:9px 12px;border:1px solid #c6cfb8;background:#f4f4e9;color:var(--ink);font-size:13px;line-height:1.7}.collection-search::placeholder{color:#9aa38c}.collection-filters{display:flex;align-items:center;gap:15px}.collection-filters button{min-height:42px;padding:7px 1px;border:0;border-bottom:2px solid transparent;background:none;color:#8a997a;font-size:12px;white-space:nowrap}.collection-filters button.is-active,.collection-filters button[aria-pressed=true]{color:var(--red);border-bottom-color:#b5835e}.collection-filters button:hover{color:var(--red)}.collection-result-count{flex-basis:100%;font-size:12px;line-height:1.8;color:#9aa48d;margin-top:-4px}.collection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 25px;margin-top:5px}.collection-list>.collection-card{position:relative;display:block;min-width:0;min-height:140px;margin:0;padding:0;border:0;border-bottom:1px solid #d6ddc9;background:transparent;transition:background 180ms,border-color 180ms}.collection-entry-open{display:block;width:100%;min-height:140px;padding:23px 33px 20px 3px;border:0;background:transparent;text-align:left;color:var(--ink)}.collection-entry-open:hover{background:#e8eddb66}.collection-entry-open .entry-title,.collection-entry-open>strong,.collection-entry-open>span:first-child{display:block;font:25px/1.85 var(--serif);font-weight:400;letter-spacing:.02em;overflow-wrap:anywhere}.collection-entry-open .entry-meta{display:block;font:12px/1.9 var(--sans);color:#94a183;margin-top:7px}.collection-entry-open .evidence-chips{margin-top:9px;gap:3px 11px}.collection-entry-open .evidence-chips>*{font-size:11px;line-height:1.7;border-color:#dbe2cf}.collection-card>.favorite-button{position:absolute;right:-1px;top:17px;z-index:1}.favorite-button{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:0;background:transparent;color:#bdc5ad;font-size:22px;line-height:1;transition:color 150ms}.favorite-button:hover{color:#b68b52}.favorite-button[aria-pressed=true],.favorite-button.is-favorite{color:#b68b52}.favorite-button.is-stamping{animation:favorite-stamp 450ms var(--ease) both}.collection-empty{grid-column:1/-1;padding:42px 20px!important;text-align:center;border:0!important;color:#96a287;font:20px/1.9 var(--serif)}.collection-empty p,.collection-empty>small{font:13px/1.9 var(--sans);color:#9da88f;margin-top:8px}.collection-detail{position:relative;padding-top:22px;min-width:0}.collection-detail .entry-title,.collection-detail>h3{font:30px/1.8 var(--serif);font-weight:400;color:var(--ink);padding-right:36px}.collection-detail .entry-meta{font-size:12px;line-height:1.9;color:#93a083;margin-top:5px}.collection-detail>.favorite-button{position:absolute;right:0;top:25px}.collection-detail-lines{display:flex;flex-direction:column;align-items:center;gap:9px;padding:26px 12px;margin:22px 0;background:#eff0e4;border-top:1px solid #cad4b9;border-bottom:1px solid #cad4b9;font:26px/1.9 var(--serif);color:#8d9d7c;text-align:center;white-space:pre-line;overflow-wrap:anywhere}.collection-detail-lines>p,.collection-detail-lines>div,.collection-detail-lines>span{font:inherit;color:inherit;line-height:1.9}.collection-detail-lines .is-current{position:relative;color:#284b38}.collection-detail-lines .is-current::before{content:"";position:absolute;left:-16px;top:50%;width:4px;height:4px;border:1px solid #b28b56;transform:translateY(-50%) rotate(45deg)}.collection-detail .collection-detail-source,.collection-detail>p:not(.entry-meta){font-size:13px;line-height:1.95;color:#91a080;margin-top:12px;white-space:pre-line}.collection-detail .collection-recall{margin-top:22px}.collection-detail-actions,.collection-detail-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-top:20px;padding-top:14px;border-top:1px solid #dae1cc}.collection-detail-actions button,.collection-detail-nav button{min-height:44px}.collection-detail-nav>span{font-size:12px;color:#9ba68e}.collection-turn{animation:collection-leaf-in 330ms var(--ease) both;transform-origin:50% 75%;will-change:opacity,transform}.collection-turn.out{animation:collection-leaf-out 180ms ease-out both}.collection-turn.in{animation:collection-leaf-in 330ms var(--ease) both}.collection-recall{min-height:44px}.collection-dialog .dialog-intro{font-size:13px}.collection-card .poem-context{display:none}
/* Detail keeps reading and recall within the same desktop view. */
#poem-detail-dialog{height:min(88vh,660px);max-height:min(88vh,660px);padding:21px 28px 13px;overflow:hidden}#poem-detail-dialog[open]{display:flex;flex-direction:column}#poem-detail-dialog>.dialog-heading{flex:0 0 auto;padding-bottom:11px}#poem-detail-dialog>.dialog-heading .eyebrow{font-size:11px;line-height:1.6}#poem-detail-dialog>.dialog-heading h2{font-size:28px;line-height:1.45;margin-top:3px}#poem-detail-dialog .collection-detail{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:10px 5px 9px 0}#poem-detail-dialog .collection-detail>.entry-meta{font-size:12px;line-height:1.7;margin-top:0}#poem-detail-dialog .collection-detail-lines{font-size:24px;line-height:1.65;gap:3px;padding:13px 12px;margin:12px 0}#poem-detail-dialog .collection-detail-lines>p,#poem-detail-dialog .collection-detail-lines>div,#poem-detail-dialog .collection-detail-lines>span{line-height:1.65}#poem-detail-dialog .collection-detail>.evidence-chips{gap:4px 14px;margin-top:10px}#poem-detail-dialog .collection-detail>.evidence-chips>*{font-size:11px;line-height:1.6}#poem-detail-dialog .collection-detail>.collection-detail-source{font-size:12px;line-height:1.8;margin-top:10px}#poem-detail-dialog .collection-detail>.text-button{min-height:36px;font-size:12px}.collection-detail-footer{position:relative;z-index:2;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,auto);align-items:center;gap:5px 25px;padding-top:11px;border-top:1px solid #d2dac4;background:var(--paper-light);box-shadow:0 -8px 14px var(--paper-light)}.collection-detail-footer>.collection-detail-actions,.collection-detail-footer>.collection-detail-nav{margin:0;padding:0;border:0;gap:10px 16px}.collection-detail-footer>.collection-detail-actions{justify-content:flex-start}.collection-detail-footer .collection-recall{margin:0;min-height:43px;font-size:13px;padding:10px 16px}.collection-detail-footer>.collection-detail-nav{justify-content:space-between}.collection-detail-footer>.collection-detail-nav button{font-size:12px;min-height:43px}.collection-detail-footer>.collection-detail-nav>span{font-size:11px}.collection-detail-keyboard{grid-column:1/-1;text-align:right;color:#a1ac91;font-size:11px;line-height:1.7}
@container(max-width:650px){.collection-list{grid-template-columns:minmax(0,1fr)}.collection-toolbar{gap:9px 16px}.collection-search{flex-basis:100%}.collection-entry-open{min-height:125px;padding-top:18px;padding-bottom:18px}.collection-card>.favorite-button{top:13px}.collection-detail-lines{font-size:24px}.collection-detail-footer{grid-template-columns:minmax(0,1fr) minmax(250px,auto);column-gap:14px}.collection-detail-footer .collection-recall{padding-left:12px;padding-right:12px}.collection-detail-footer>.collection-detail-actions{gap:6px}}
@keyframes journey-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes reward-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes unlock-ink{0%{color:#a7996a;background-color:#e9debd88}100%{background-color:transparent}}@keyframes challenge-ink{0%{background-color:#e7edcf}100%{background-color:transparent}}@keyframes preview-read{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}@keyframes preview-close{0%{background:#fcfaf2;border-color:#baab84}45%{box-shadow:inset 0 0 0 4px #f3efdf;filter:brightness(1.02)}100%{background:#eae6d9;border-color:#c8c7b8}}@keyframes favorite-stamp{0%{transform:scale(1.3) rotate(-8deg);opacity:.4}65%{transform:scale(.94) rotate(0);opacity:1}100%{transform:scale(1)}}@keyframes collection-leaf-in{from{opacity:.35;transform:translateX(8px) rotateY(-3deg)}to{opacity:1;transform:none}}@keyframes collection-leaf-out{from{opacity:1;transform:none}to{opacity:.3;transform:translateX(-7px) rotateY(2deg)}}
@media(max-width:1090px){.play-settings{gap:12px 20px;padding-left:18px;padding-right:18px}.play-settings-copy h2{font-size:22px}.play-settings-controls{gap:20px}.setting-field{min-width:146px}.setting-field .select-wrap select{font-size:13px;min-width:155px}.pair-memory-intro{padding:17px 20px;gap:20px}.pair-memory-copy h2{font-size:23px}.pair-memory-copy>p:last-child{font-size:12px}.pair-preview-actions>.button{padding-left:13px;padding-right:13px}.journey-invitation{padding-left:18px;padding-right:18px}.journey-track{grid-template-columns:145px minmax(0,1fr)}.journey-themes{gap:15px}.theme-choice>strong,.theme-choice .theme-name{font-size:20px}}
@media(max-width:900px){.play-settings{grid-template-columns:minmax(0,1fr);gap:13px;padding:16px 18px 0}.play-settings-copy h2{font-size:21px}.play-settings-controls{gap:30px}.setting-field{flex:1;max-width:250px}.setting-field .select-wrap select{max-width:none}.seek-board-settings{margin-top:0}.seek-board-settings>.difficulty-field{flex-wrap:wrap;gap:8px 15px}.seek-board-settings .difficulty-field>p{width:100%;max-width:none}.journey-heading h2{font-size:22px}.journey-track{grid-template-columns:130px minmax(0,1fr);column-gap:20px}.journey-level{font-size:23px}.journey-themes{gap:15px}.theme-choice>strong,.theme-choice .theme-name{font-size:19px}.theme-choice>small,.theme-choice>span:not(.theme-name){font-size:11px}.pair-memory-intro{display:block;padding:17px 18px}.pair-preview-actions{margin-top:13px}.pair-preview-actions>.button{min-height:43px}.collection-dialog{width:calc(100% - 60px)}.collection-detail-lines{font-size:24px}}
/* Movement belongs to ink, lines and feedback, never pointer targets. */
.page-enter{animation:page-rise 450ms var(--ease) both}.cell-reveal{animation:tile-reveal 380ms var(--ease) both;animation-delay:var(--reveal-delay,0ms)}.cell-reveal .cell-char,.cell-reveal .cell-number{animation:ink-appear 320ms var(--ease) both;animation-delay:var(--reveal-delay,0ms)}.cell-change .cell-char{animation:character-change 400ms var(--ease)}.cell-solve{animation:solve-bloom 650ms var(--ease) both}.cell-solve .cell-char{animation:ink-appear 440ms 60ms var(--ease) both}.cell-mistake{animation:mistake-ink 500ms ease-out both}.cell-mistake .cell-char{animation:ink-tremble 270ms ease-in-out}.hint-list>li:not(.empty-note){animation:ink-appear 250ms var(--ease) both}
@keyframes pen-stroke{to{stroke-dashoffset:0}}@keyframes page-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ink-appear{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@keyframes tile-reveal{from{box-shadow:inset 0 0 0 27px #628253}to{box-shadow:inset 0 0 0 0 #62825300}}@keyframes character-change{0%{opacity:1}35%{opacity:0;filter:blur(3px)}100%{opacity:1;filter:blur(0)}}@keyframes solve-bloom{0%{box-shadow:0 0 0 0 #c4d0a388}75%{box-shadow:0 0 0 9px #c4d0a300}100%{box-shadow:none}}@keyframes mistake-ink{0%,35%{background:#a66545;border-color:#f0c29a}100%{background:#744639;border-color:#b9826666}}@keyframes ink-tremble{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@keyframes dialog-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes path-line-ink{from{opacity:.15;stroke-width:2}to{opacity:.95;stroke-width:7}}@keyframes path-hint-glow{0%,100%{box-shadow:inset 0 0 0 1px #ebc89430}50%{box-shadow:inset 0 0 0 4px #ebc8947a}}@keyframes path-wrong-ink{0%,35%{background:#a2644266;border-color:#d9a47c}100%{background:#a98d4955;border-color:#e0bd7b}}@keyframes path-solved-ink{0%{box-shadow:inset 0 0 0 4px #efe4a5aa}100%{box-shadow:inset 0 0 0 0 #efe4a500}}@keyframes pair-face-ink{from{opacity:0;filter:blur(4px);transform:rotateY(-18deg)}to{opacity:1;filter:blur(0);transform:rotateY(0)}}@keyframes pair-match-ink{0%{color:#b19b65;opacity:.5}100%{color:#516b43;opacity:1}}@keyframes pair-wrong-ink{0%,35%{background:#f3dfce;border-color:#c48659}100%{background:#fdfbf4;border-color:#bb9c6d}}@keyframes pair-hint-ink{0%,100%{box-shadow:inset 0 0 0 0 #c9a36500}50%{box-shadow:inset 0 0 0 3px #c9a3657a}}@keyframes seal-appear{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}@keyframes collected-arrive{from{opacity:0;background-color:#e2eccf}to{opacity:1;background-color:transparent}}@keyframes paper-wrong{0%,35%{background:#f4e3d3;border-color:#c1875c}100%{background:var(--paper-light);border-color:#c6cfb9}}@keyframes answer-bloom{0%,100%{box-shadow:inset 0 0 0 0 #b6c79b00}50%{box-shadow:inset 0 0 0 3px #b6c79b88}}
@media(min-width:1180px){.pair-board{grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.pair-card{min-height:146px;padding-left:10px;padding-right:10px}.anth-stage{padding-left:45px;padding-right:45px}.path-board{--path-cell-size:75px;--path-gap:11px}}
@media(max-width:1090px){.seek-preferences{gap:15px}.play-choices-heading{gap:14px}.play-choices-heading h2{font-size:23px}.tutorial-link>.icon{display:none}.play-choice{padding-left:20px;padding-right:20px}.choice-kind{font-size:11px}.choice-title{gap:8px}.choice-title h3{font-size:28px}.daily-symbol{display:none}.daily-invitation,.collection-invitation{padding-left:15px;padding-right:15px}.daily-invitation{gap:12px}.daily-copy h2{font-size:21px}.daily-invitation>.button{padding-left:10px;padding-right:10px;gap:7px}.mini-stage-topline{padding-bottom:12px}.path-composer{display:block}.path-current-heading{justify-content:space-between}.path-actions{max-width:none;justify-content:flex-start;border-top:1px solid var(--line);padding-top:13px}.path-actions .mini-hint{margin-left:auto}.game-stats{gap:23px}.answer-section{grid-template-columns:190px minmax(0,1fr);gap:0 22px}}
@media(max-width:900px){.app-shell{padding-left:24px;padding-right:24px}.site-header{min-height:72px}.header-actions{gap:16px}.save-status{font-size:12px}.home-hero{padding-top:24px;padding-bottom:25px;gap:20px}.hero-copy h1{font-size:39px}.hero-side-note{font-size:12px}.hero-intro{font-size:12px}.play-choices-heading{align-items:flex-start}.seek-preferences{flex-wrap:wrap;gap:0 12px;max-width:360px}.difficulty-field{gap:8px}.difficulty-field label{font-size:12px}.select-wrap select{max-width:180px}.tutorial-link{min-height:33px}.play-choice{padding:20px 15px 16px;min-height:213px}.choice-title{flex-wrap:wrap;gap:5px 8px}.choice-kind{margin-left:0;font-size:11px;width:100%;padding-left:25px}.choice-title h3{font-size:29px}.play-choice-description{font-size:13px;min-height:72px;margin-bottom:13px}.daily-copy h2{font-size:20px}.daily-copy>p:last-child{font-size:12px}.daily-invitation{align-items:flex-start;flex-wrap:wrap;gap:10px}.daily-invitation>.button{margin-left:0;min-height:40px}.collection-copy h2{font-size:22px}.review-entry{gap:0 9px}.review-entry p{font-size:12px}.growth-invitation{padding-left:14px;padding-right:14px;gap:15px}.growth-mark{display:none}.growth-invitation h2{font-size:21px}.game-heading h1{font-size:31px}.game-heading .eyebrow{font-size:12px;letter-spacing:.04em}.game-stats{gap:20px}.game-stats>div{min-width:62px}.game-stats dd{font-size:25px}.tools-section{grid-template-columns:75px minmax(0,1fr);column-gap:10px}.tools-section .section-heading h2{font-size:16px}.tool-list{gap:12px}.tool-button{grid-template-columns:17px minmax(0,1fr) 16px;gap:6px}.tool-button>.icon{width:17px;height:17px}.tool-description{display:none}.tool-name{font-size:13px}.tool-count{font-size:17px}.board{--cell-size:48px;gap:5px}.cell{font-size:29px}.board-scroll{padding-left:19px;padding-right:19px}.board-bottomline{padding-left:19px;padding-right:19px}.board-coordinates{font-size:12px}.mode-switch button{gap:7px;padding-left:9px;padding-right:9px}.mode-switch button>span{gap:7px}.mode-switch kbd{display:none}.game-footnote{font-size:12px}.answer-section{grid-template-columns:180px minmax(0,1fr);gap:0 20px}.answer-form{grid-template-columns:minmax(0,1fr) 116px}.answer-form input{font-size:18px;padding-left:11px;padding-right:11px}.answer-form input::placeholder{font-size:12px}.answer-submit{padding-left:11px;padding-right:11px;font-size:13px}.answer-submit .icon{display:none}.seek-record-content{gap:25px}.path-board{--path-cell-size:66px;--path-gap:9px;padding:12px}.path-stage{padding-left:19px;padding-right:19px}.path-cell{font-size:30px}.pair-board{gap:11px}.pair-card{min-height:131px;padding-left:9px;padding-right:9px}.pair-card>.card-role{left:11px;right:11px}.pair-card[data-state=hidden]>.card-role{font-size:19px}.mini-stage-topline{font-size:12px}.mini-instructions,.anth-instructions{font-size:13px}.anth-stage{padding:24px}.order-line{gap:11px;padding-left:12px;padding-right:12px}.order-line .text{font-size:23px}.flower-form input{font-size:20px}.flower-form input::placeholder{font-size:15px}.cloze-line{font-size:31px}.mini-record .found-list,.anth-record .found-list{gap:0 25px}.finish-panel h2{font-size:25px}}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

#growth-dialog .mastery-table{width:100%;border-collapse:collapse;margin:18px 0 10px;text-align:left}#growth-dialog .mastery-table th{font:17px/1.8 var(--serif);font-weight:400;color:var(--ink-soft)}#growth-dialog .mastery-table th,#growth-dialog .mastery-table td{padding:9px 12px;border-bottom:1px solid var(--line)}#growth-dialog .mastery-table .star-rating{display:table-cell;font-size:18px;line-height:1.5;letter-spacing:3px}#growth-dialog>.collection-entry{padding:16px 0;border-bottom:1px solid var(--line)}#growth-dialog>.collection-entry h3{font:20px/1.7 var(--serif);font-weight:400;margin-bottom:5px}#growth-dialog>.entry-body{font-size:13px;line-height:1.9;color:var(--ink-soft)}

/* Nine games share a printed navigation rail; each group of three keeps its place. */
.play-nav{gap:3px}.play-nav button{position:relative;min-width:60px;padding-left:11px;padding-right:11px;white-space:nowrap}.play-nav button:nth-child(4),.play-nav button:nth-child(7){margin-left:15px}.play-nav button:nth-child(4)::before,.play-nav button:nth-child(7)::before{content:"";position:absolute;left:-9px;top:14px;width:1px;height:13px;background:var(--line);pointer-events:none}body[data-play=grid] .play-nav [data-play=grid],body[data-play=author] .play-nav [data-play=author],body[data-play=combo] .play-nav [data-play=combo]{color:var(--ink);border-bottom-color:var(--red)}
.play-choice:nth-child(n+7){background:#efe9db35}.play-choice-grid .choice-title h3{font-size:28px;letter-spacing:.025em}.play-choice-author .choice-title h3,.play-choice-combo .choice-title h3{font-size:28px;letter-spacing:.025em}

/* Conference-inspired practice. The board, answer, and repair controls stay in one view. */
.conf-workspace{max-width:1120px;margin:0 auto;min-width:0}.conf-instructions{font-size:14px;line-height:1.9;color:var(--ink-soft);padding:0 1px 13px}.conf-stage{min-width:0;padding:20px 30px 22px;border-top:1px solid #b4c1a2;border-bottom:1px solid var(--line);background:#faf8f04d}.conf-stage.is-complete,.conf-stage[data-state=complete]{border-top-color:#87a568}.conf-stage.is-entering{animation:ink-appear 280ms var(--ease) both}.conf-question-title{font:24px/1.75 var(--serif);font-weight:400;text-align:center;color:var(--ink);margin:5px 0 14px}.conf-stage .stage-eyebrow{justify-content:center}.conf-helper{color:#758365;font:15px/1.9 var(--serif)}.conf-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 25px;margin-top:20px}.conf-actions .button{min-width:145px;font-size:14px}.conf-actions .text-button{font-size:13px;color:#7d8b6b}.conf-status{min-height:49px;padding:13px 2px 8px;font-size:14px;line-height:1.9;color:var(--ink-soft)}.conf-status.is-error,.conf-status[data-tone=error]{color:var(--red)}.conf-status.is-success,.conf-status[data-tone=success]{color:#5f7e47}.conf-round-result{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 24px;background:#e9efde;border-left:3px solid #a3b987;margin:4px 0 18px}.conf-round-result p{font:19px/1.9 var(--serif);color:#567047;white-space:pre-line}.conf-round-result .button{white-space:nowrap;min-width:116px}.conf-round-result.is-entering{animation:conf-result-ink 400ms var(--ease) both}.conf-record .found-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.conf-record .found-list>.empty-note{grid-column:1/-1}.conf-finish{margin-top:5px}

.grid-stage-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:920px;margin:0 auto 15px}.grid-stage-heading .stage-eyebrow{text-align:left;color:#849473}.grid-target-length{font-size:12px;line-height:1.8;color:#899579;text-align:right}.grid-gameplay{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:30px 48px;max-width:920px;margin:0 auto}.grid-cells{display:grid;grid-template-columns:repeat(var(--grid-columns,3),76px);gap:10px;width:max-content;max-width:100%;margin:0 auto}.grid-cell{position:relative;display:grid;place-items:center;width:76px;height:76px;min-width:0;padding:0;border:1px solid #bac6aa;border-radius:2px;background:var(--paper-light);color:var(--ink);font:35px/1 var(--serif);box-shadow:0 3px 0 #a7b59620;user-select:none;-webkit-user-select:none;transition:background 140ms,border-color 140ms,color 140ms,box-shadow 140ms}.grid-cell:hover:not(:disabled){background:#e8eedb;border-color:#8eaa73}.grid-cell:focus-visible{z-index:1}.grid-cell .grid-char,.grid-cell .char{pointer-events:none}.grid-cell .grid-index,.grid-cell .selection-index,.grid-cell .pick-order,.grid-cell .order{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;min-width:17px;height:17px;padding:1px 3px;border-radius:50%;background:var(--ink);color:var(--paper-light);font:10px/1 var(--sans);pointer-events:none}.grid-cell.is-selected,.grid-cell[selected],.grid-cell[aria-pressed=true]{background:#e4ebd6;border-color:#7f9c66;color:#35582d;box-shadow:inset 0 0 0 1px #a4b98a}.grid-cell.is-hint{border-color:#b68c54;outline:2px solid #c9ab7e;outline-offset:3px}.grid-cell.is-wrong{border-color:#b76d4d;background:#f1dfcf;animation:conf-wrong-ink 320ms ease-out}.grid-cell.is-correct{border-color:#8caa70;background:#dce9ca;color:#426537}.grid-cell.is-correct::after{content:"✓";position:absolute;right:5px;top:5px;left:auto;width:auto;height:auto;border-radius:0;background:transparent;color:#65864d;font:12px/1 var(--sans)}.grid-cell.is-new-select{animation:grid-select-ink 210ms var(--ease)}.grid-cell.is-new-solve{animation:answer-bloom 450ms var(--ease)}.grid-cell:disabled{opacity:1}.grid-cell.is-eliminated:disabled{opacity:.3}.grid-composer{min-width:0;padding:0 0 0 3px}.grid-selection-heading h3{font:21px/1.7 var(--serif);font-weight:400;color:var(--ink)}.grid-selection-heading>span{display:block;margin-top:3px;font-size:12px;color:#8b977d;line-height:1.8}.grid-selection{display:flex;justify-content:flex-start;align-items:center;gap:6px;flex-wrap:wrap;min-height:76px;margin:12px 0 16px;padding:8px 0;color:#97a087;font:21px/1.75 var(--serif);overflow-wrap:anywhere}.grid-selection>span,.grid-selection>.selection-char,.grid-selection>.selected-char,.grid-selection>.grid-slot{position:relative;display:grid;place-items:center;width:40px;height:51px;min-width:40px;border-bottom:1px solid #b6c1a3;color:var(--ink);font:28px/1 var(--serif)}.grid-selection .is-empty,.grid-selection .empty-slot{color:#b4bca5;border-bottom-style:dashed}.grid-selection .is-entering,.grid-selection .is-new{animation:grid-char-arrive 220ms var(--ease) both}.grid-selection.is-correct>span{border-bottom-color:#89a96c;color:#4a6d3b}.grid-selection.is-wrong>span{border-bottom-color:#b8704e;color:var(--red)}.grid-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px 19px}.grid-actions>.button{font-size:13px;min-height:45px;margin-right:3px}.grid-actions>.text-button{font-size:12px}.grid-operation-note{margin-top:14px;color:#929c86;font-size:12px;line-height:1.9;max-width:390px}

.author-stage{padding-top:18px;padding-bottom:22px}.author-stage .conf-question-title{font-size:21px;margin-top:4px;margin-bottom:3px;color:#82916f}.author-excerpt{position:relative;max-width:850px;min-height:78px;margin:0 auto 18px;padding:14px 20px;color:var(--ink);font:30px/1.9 var(--serif);text-align:center;white-space:pre-line;overflow-wrap:anywhere}.author-excerpt::before,.author-excerpt::after{position:absolute;color:#c6c7b2;font:32px/1 var(--serif);pointer-events:none}.author-excerpt::before{content:"「";left:0;top:5px}.author-excerpt::after{content:"」";right:0;bottom:4px}.author-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px;max-width:760px;margin:0 auto}.author-option{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:15px;min-height:67px;min-width:0;padding:13px 48px 13px 18px;border:1px solid #c2ccb4;border-radius:2px;background:var(--paper-light);color:var(--ink);font:23px/1.5 var(--serif);text-align:left;transition:background 140ms,border-color 140ms,color 140ms}.author-option .option-key,.author-option .option-letter,.author-option .option-number,.author-option>.letter{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border:1px solid #d1d6c6;border-radius:50%;color:#8c997a;font:12px/1 var(--sans)}.author-option .option-name,.author-option .name{min-width:0;overflow-wrap:anywhere}.author-option:hover:not(:disabled){background:#e8eeda;border-color:#92a67c}.author-option.is-selected,.author-option[aria-pressed=true]{background:#e4ebd6;border-color:#89a26d;box-shadow:inset 0 0 0 1px #b2c297}.author-option.is-eliminated{background:#edece3;color:#a4aa98;border-style:dashed;opacity:.65;cursor:default}.author-option.is-eliminated .option-name,.author-option.is-eliminated .name{text-decoration:line-through;text-decoration-thickness:1px}.author-option.is-wrong{background:#f2e1d2;border-color:#bd7d57;animation:conf-wrong-ink 320ms ease-out}.author-option.is-correct{background:#dfeace;border-color:#8ca96f;color:#466a34}.author-option:disabled{opacity:1}.author-option.is-eliminated:disabled{opacity:.55}

.combo-stage{padding-top:20px;padding-bottom:17px}.combo-keywords{position:relative;display:flex;align-items:center;justify-content:center;gap:48px;min-height:133px;max-width:380px;margin:2px auto 14px}.combo-keywords::before{content:"同句";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#a6ab94;font:12px/1.6 var(--serif);letter-spacing:.12em;pointer-events:none}.combo-keyword{position:relative;display:grid;place-items:center;width:81px;height:88px;border:1px solid #b37f61;color:var(--red);background:#f3e9d94d;font:53px/1 var(--serif);box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 4px #cbaa8d55;transform:rotate(-2deg)}.combo-keyword:nth-child(2){transform:rotate(2deg)}.combo-keyword::after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid #c69a7c33;pointer-events:none}.combo-keyword.is-lit,.combo-keyword.is-correct{background:#f0dfca;border-color:#a96847;box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 4px #bd8b64aa;animation:combo-key-light 430ms var(--ease)}.combo-form{max-width:790px;margin:0 auto}.combo-form label{display:block;color:var(--ink-soft);font-size:13px;line-height:1.9;margin-bottom:8px}.combo-answer-row{display:flex;gap:12px;align-items:stretch}.combo-form input{flex:1;min-width:0;width:100%;min-height:61px;padding:14px 18px;border:1px solid #b9c5a8;background:var(--paper-light);color:var(--ink);font:22px/1.5 var(--serif)}.combo-form input::placeholder{font:16px var(--serif);color:#a0a78e}.combo-form input[aria-invalid=true]{border-color:var(--red)}.combo-form .button{min-width:135px;font-size:14px}.combo-form.is-correct input{border-color:#90a973;background:#edf2e3}.combo-scope-details{max-width:790px;margin:9px auto 0;padding-top:8px;border-top:1px solid #daddce}.combo-scope-details summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;color:#8d987e;min-height:31px;font-size:12px}.combo-scope-details summary::-webkit-details-marker{display:none}.combo-scope-details summary>span{font-size:17px;transition:transform 160ms}.combo-scope-details[open] summary>span{transform:rotate(45deg)}.combo-scope{font-size:12px;line-height:1.9;color:#8e9980;padding:3px 0 6px;max-height:150px;overflow:auto;white-space:pre-line}

@keyframes grid-select-ink{from{box-shadow:inset 0 0 0 5px #b4c79b66}to{box-shadow:inset 0 0 0 1px #a4b98a}}@keyframes grid-char-arrive{from{opacity:.25;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes conf-wrong-ink{0%,35%{box-shadow:inset 0 0 0 2px #bd7d5733}100%{box-shadow:inset 0 0 0 0 #bd7d5700}}@keyframes conf-result-ink{from{opacity:.3;border-left-color:#d4b77b}to{opacity:1;border-left-color:#a3b987}}@keyframes combo-key-light{0%{filter:brightness(1.12);color:#d18c5a}100%{filter:brightness(1);color:var(--red)}}
.grid-cell .grid-index:empty{display:none}.grid-stage.is-wrong .grid-cell.is-selected{border-color:#b76d4d;background:#f1dfcf}.grid-stage.is-wrong .grid-selection>span.is-filled{border-bottom-color:#b8704e;color:var(--red)}.grid-stage.is-correct .grid-selection>span.is-filled{border-bottom-color:#89a96c;color:#4a6d3b}.conf-stage.is-wrong{animation:conf-wrong-ink 320ms ease-out}.author-option .author-option-state{position:absolute;right:13px;top:50%;transform:translateY(-50%);font:11px/1.5 var(--sans);color:#758c5b}.author-option.is-eliminated .author-option-state{font-size:10px;color:#939f83}.author-option.is-correct .author-option-state{display:grid;place-items:center;min-width:34px;height:28px;padding:0 4px;border:1px solid #8da56d;transform:translateY(-50%) rotate(-5deg);font:11px/1 var(--sans);color:#648348;animation:seal-appear 350ms var(--ease) both}.author-stage.is-wrong .author-option.is-selected{background:#f2e1d2;border-color:#bd7d57}.author-stage.is-wrong .author-option.is-selected .author-option-state{color:#a86443}
@media(min-width:1180px){.conf-stage{padding-left:40px;padding-right:40px}.grid-gameplay{grid-template-columns:max-content minmax(0,1fr);gap:54px}.grid-cells{grid-template-columns:repeat(var(--grid-columns,3),80px);gap:11px}.grid-cell{width:80px;height:80px;font-size:37px}.grid-selection>span,.grid-selection>.selection-char,.grid-selection>.selected-char,.grid-selection>.grid-slot{width:45px;min-width:45px;height:55px;font-size:30px}}
@media(max-width:1090px){.conf-stage{padding:18px 24px 20px}.grid-gameplay{grid-template-columns:max-content minmax(0,1fr);gap:32px}.grid-cells{grid-template-columns:repeat(var(--grid-columns,3),74px);gap:9px}.grid-cell{width:74px;height:74px;font-size:34px}.grid-stage-heading{margin-bottom:13px}.grid-selection{gap:5px}.grid-selection>span,.grid-selection>.selection-char,.grid-selection>.selected-char,.grid-selection>.grid-slot{width:38px;min-width:38px;font-size:27px}.grid-selection-heading h3{font-size:20px}.grid-actions{gap:5px 15px}.grid-actions>.button{font-size:13px}.grid-operation-note{margin-top:12px}.author-excerpt{font-size:28px}.author-option{min-height:64px;font-size:22px}.combo-keywords{min-height:125px;margin-bottom:12px}.combo-form input{font-size:21px}.combo-form input::placeholder{font-size:15px}}
@media(max-width:900px){.play-nav{gap:2px}.play-nav button{min-width:56px;padding-left:9px;padding-right:9px;font-size:12px}.play-nav button:nth-child(4),.play-nav button:nth-child(7){margin-left:11px}.play-nav button:nth-child(4)::before,.play-nav button:nth-child(7)::before{left:-7px}.play-choice-grid .choice-title h3,.play-choice-author .choice-title h3,.play-choice-combo .choice-title h3{font-size:27px}.conf-instructions{font-size:13px}.conf-stage{padding:17px 18px 18px}.grid-gameplay{grid-template-columns:max-content minmax(0,1fr);gap:22px}.grid-cells{grid-template-columns:repeat(var(--grid-columns,3),68px);gap:8px}.grid-cell{width:68px;height:68px;font-size:31px}.grid-selection-heading h3{font-size:19px}.grid-selection-heading>span,.grid-operation-note{font-size:11px}.grid-selection{gap:4px;margin-bottom:10px}.grid-selection>span,.grid-selection>.selection-char,.grid-selection>.selected-char,.grid-selection>.grid-slot{width:34px;min-width:34px;height:47px;font-size:25px}.grid-actions{gap:3px 13px}.grid-actions>.button{padding-left:12px;padding-right:12px;min-height:42px}.grid-actions>.text-button{font-size:12px}.author-options{gap:10px 12px}.author-option{min-height:61px;padding-left:14px;padding-right:48px;gap:11px;font-size:21px}.author-excerpt{font-size:26px;padding-left:20px;padding-right:20px}.combo-keywords{min-height:116px}.combo-keyword{width:74px;height:81px;font-size:48px}.combo-form input{font-size:20px;padding-left:13px;padding-right:13px}.combo-form input::placeholder{font-size:14px}.combo-form .button{min-width:119px;padding-left:13px;padding-right:13px}.conf-record .found-list{gap:0 25px}}

/* A short round rail gives each variation its own cue without moving the play surface. */
.conf-round-rail{display:flex;align-items:center;gap:15px 23px;min-height:30px;margin:-8px 0 8px;padding:0 1px}.conf-round-rail:has(>.conf-round-label:empty):has(>.conf-round-map:empty):has(>.conf-streak:empty){display:none}.conf-round-label{font:15px/1.7 var(--serif);color:#8d7755;white-space:nowrap}.conf-round-map{display:flex;align-items:center;gap:8px;list-style:none;min-width:0;padding:0;margin:0}.conf-round-map>*{list-style:none}.conf-round-map .round-dot,.conf-round-map>li:not(:has(.round-dot)){position:relative;display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;min-height:20px;padding:0;border:1px solid #c4cdb8;border-radius:50%;background:transparent;color:#a1ac93;font:10px/1 var(--sans)}.conf-round-map .round-dot.is-current,.conf-round-map>[aria-current=step],.conf-round-map>.is-current{border-color:#b78c66;background:#f2e6d5;color:#a56f46;box-shadow:0 0 0 3px #e9dfcb55}.conf-round-map .round-dot.is-complete,.conf-round-map>.is-complete{border-color:#9eb281;background:#a8bd8c;color:var(--paper-light)}.conf-round-map .round-dot.is-assisted,.conf-round-map>.is-assisted{border-color:#b29865;background:#efe9d9;color:#a18a59;border-style:dashed}.conf-round-map .round-dot.is-new{animation:round-dot-ink 380ms var(--ease) both}.conf-streak{margin-left:auto;white-space:nowrap;color:#a17f4f;font:15px/1.7 var(--serif);font-variant-numeric:tabular-nums}.conf-streak:empty{display:none}.conf-streak.is-new{animation:streak-ink 430ms var(--ease) both}.conf-question-heading{max-width:1120px;margin:0 auto}.conf-question-heading:has(>.conf-round-prompt:empty):has(>.conf-context:empty){display:none}.conf-round-prompt{font:19px/1.8 var(--serif);font-weight:400;color:var(--ink);padding:0 1px;margin-bottom:10px;overflow-wrap:anywhere}.conf-round-prompt:empty,.conf-context:empty{display:none}.conf-context{font:20px/1.9 var(--serif);color:#687d5a;max-width:900px;margin:0 0 13px;padding:7px 16px;border-left:2px solid #bca579;background:#eeeadd5c;white-space:pre-line;overflow-wrap:anywhere}.conf-context.is-entering{animation:ink-appear 280ms var(--ease) both}

.grid-memory-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;max-width:850px;margin:0 auto;padding:15px 15px 18px;text-align:center;animation:memory-unfold 360ms var(--ease) both}.grid-memory-preview>.eyebrow{justify-content:center;font-size:12px;color:#9c8b63}.grid-memory-text{font:38px/1.8 var(--serif);color:var(--ink);letter-spacing:.11em;margin:14px 0 7px;overflow-wrap:anywhere}.grid-memory-note{font-size:12px;line-height:1.9;color:#929b83}.grid-memory-preview>.button{margin-top:17px;font-size:13px;min-height:45px}.grid-stage:has(#grid-memory-preview:not([hidden])) .grid-gameplay{display:none}.grid-stage:has(#grid-memory-preview:not([hidden])) .grid-target-length{color:#9c8b63}.grid-stage.is-recalling .grid-cells{animation:memory-recall-ink 340ms var(--ease) both}.grid-stage.is-new-solve .grid-selection>.is-filled{animation:answer-bloom 420ms var(--ease);animation-delay:calc(var(--slot-index,0)*28ms)}

.author-option .option-name,.author-option .author-option-name{display:block;min-width:0;line-height:1.65}.author-option .option-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.author-option .option-subtitle,.author-option .author-option-subtitle{display:block;color:#93a080;font:12px/1.8 var(--sans);overflow-wrap:anywhere;white-space:pre-line}.author-option:has(.option-subtitle),.author-option:has(.author-option-subtitle){min-height:85px;align-items:flex-start;padding-top:12px;padding-bottom:12px}.author-option:has(.option-subtitle) .option-key,.author-option:has(.author-option-subtitle) .option-key{margin-top:5px}.author-option.is-correct .option-subtitle,.author-option.is-correct .author-option-subtitle{color:#7f976a}.author-option.is-eliminated .option-subtitle,.author-option.is-eliminated .author-option-subtitle{color:#a5ae99}.author-stage[data-variant=outsider] .author-option .option-name,.author-stage[data-round-type=outsider] .author-option .option-name{font-size:20px}.author-stage[data-variant=work] .author-option .option-name,.author-stage[data-round-type=work] .author-option .option-name{font-size:22px}.author-option.is-new-correct .author-option-state{animation:answer-seal 480ms var(--ease) both}

.combo-fields{flex:1;min-width:0}.combo-answer-row{align-items:flex-end}.combo-answer-row>.button{min-height:61px;align-self:flex-end}.combo-second-field{margin-top:13px}.combo-second-field label{color:#8d8e6c}.combo-second-field input{border-color:#c3c4a7;background:#f9f6ed}.combo-second-field.is-entering{animation:second-line-arrive 250ms var(--ease) both}.combo-example-lines{display:flex;flex-direction:column;gap:4px;white-space:pre-line}.combo-stage:has(#combo-second-field:not([hidden])) .combo-keywords{min-height:104px;margin-top:0;margin-bottom:9px}.combo-keywords[data-mode=avoid] .combo-keyword:last-child,.combo-keywords[data-variant=avoid] .combo-keyword:last-child{border-style:dashed;color:#8a9981;background:#e7ebdf;box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 4px #a5b49b44}.combo-keywords[data-mode=avoid]::before,.combo-keywords[data-variant=avoid]::before{content:"避字"}.combo-keywords[data-mode=relay]::before,.combo-keywords[data-variant=relay]::before{content:"接令"}.combo-keyword.is-required,.combo-keyword.is-allowed{border-color:#b37f61}.combo-keyword.is-forbidden{border-style:dashed;color:#8a9981;background:#e7ebdf}.combo-keyword.is-hit,.combo-keyword.is-lit{animation:combo-key-light 430ms var(--ease)}.combo-stage.is-correct .combo-form input{border-color:#91a675;background:#edf2e2}.combo-stage.is-correct .combo-example{animation:ink-appear 300ms var(--ease) both}

/* Earned paper, ink, and a short stamp. The layer never captures input. */
#reward-layer{position:fixed;z-index:95;right:var(--reward-right,24px);bottom:var(--reward-bottom,20px);display:grid;align-content:end;gap:9px;width:328px;max-width:calc(100vw - 48px);max-height:calc(100vh - 60px);pointer-events:none;isolation:isolate}#reward-layer:empty{display:none}#reward-layer *{pointer-events:none}.reward-toast{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 43px;gap:6px 17px;min-width:0;max-width:100%;padding:15px 17px 13px 19px;border:1px solid #c8c5af;border-radius:2px;background:#faf7ee;color:var(--ink);box-shadow:0 10px 28px #1c39251a;transform-origin:85% 100%;animation:poem-paper-arrive 520ms var(--ease) both}.reward-toast::before{content:"";position:absolute;left:5px;top:7px;bottom:7px;width:1px;background:#b9c2a7}.reward-toast .eyebrow,.reward-label{grid-column:1;font:11px/1.7 var(--sans);letter-spacing:.09em;color:#9a997c}.reward-poem{grid-column:1;min-width:0;max-height:3.6em;overflow:hidden;color:var(--ink);font:20px/1.8 var(--serif);white-space:pre-line;overflow-wrap:anywhere;animation:reward-poem-ink 420ms 70ms var(--ease) both}.reward-seal{grid-column:2;grid-row:1/span 3;align-self:center;display:grid;place-items:center;width:39px;height:43px;padding:4px;border:1px solid #b66f4d;color:#a96443;font:17px/1.2 var(--serif);text-align:center;transform:rotate(-5deg);box-shadow:inset 0 0 0 2px #faf7ee,inset 0 0 0 3px #c78d6b44;animation:reward-seal-stamp 460ms 100ms var(--ease) both}.reward-stats{grid-column:1;display:flex;align-items:center;flex-wrap:wrap;gap:3px 12px;color:#8b9878;font:11px/1.8 var(--sans);font-variant-numeric:tabular-nums}.reward-stats strong{color:#997c4d;font-weight:500}.reward-toast.is-unlock{border-color:#9ba986;background:#f1f3e6}.reward-toast.is-unlock .reward-seal{border-color:#82966b;color:#6b8655;box-shadow:inset 0 0 0 2px #f1f3e6,inset 0 0 0 3px #a7ba8c66}.reward-toast.is-level{border-color:#b6a074;background:#faf3e2}.reward-toast.is-level .reward-poem{color:#917243}.reward-toast.is-level .reward-seal{border-color:#b89a62;color:#9b7b40;box-shadow:inset 0 0 0 2px #faf3e2,inset 0 0 0 3px #c5ab7977}.reward-toast.is-leaving{animation:poem-paper-settle 340ms ease-in both}.reward-toast.is-compact{grid-template-columns:minmax(0,1fr) 32px;padding-top:10px;padding-bottom:9px}.reward-toast.is-compact .reward-poem{font-size:17px;line-height:1.7}.reward-toast.is-compact .reward-seal{width:29px;height:32px;font-size:13px}

/* Album progress and earned milestones remain readable without their animations. */
#collection-albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 15px;padding-bottom:18px;border-bottom:1px solid #d9dfce}#collection-albums:empty{display:none}.album-card,.collection-album{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:125px;padding:13px 15px 12px;border:1px solid #cbd3bc;border-left:3px solid #afbc98;border-radius:2px;background:#f3f3e7;color:var(--ink);text-align:left;transition:border-color 160ms,background 160ms}.album-card h3,.collection-album h3,.album-card .album-title{font:20px/1.6 var(--serif);font-weight:400;padding-right:31px;overflow-wrap:anywhere}.album-card p,.album-card small,.collection-album p,.collection-album small{font:11px/1.8 var(--sans);color:#97a087}.album-card:hover:not(:disabled),.collection-album:hover:not(:disabled){border-color:#9aac83;background:#edf1e0}.album-progress{margin-top:auto;padding-top:9px;color:#8d997b;font:11px/1.8 var(--sans);font-variant-numeric:tabular-nums}.album-progress-track{width:100%;height:3px;margin-top:3px;overflow:hidden;background:#dce3ce}.album-progress-track>span{display:block;height:100%;max-width:100%;width:var(--album-progress,0%);background:#9cb583;transition:width 550ms var(--ease)}.album-stamp{display:inline-grid;place-items:center;flex-shrink:0;width:37px;height:40px;padding:3px;border:1px solid #b4825e;color:#a1724e;font:14px/1.25 var(--serif);text-align:center;transform:rotate(-4deg)}.album-card>.album-stamp,.collection-album>.album-stamp{position:absolute;top:11px;right:12px;width:29px;height:32px;font-size:11px}.album-card.is-complete,.collection-album.is-complete{border-color:#a9ba8f;background:#edf2e1}.album-card.is-complete .album-progress-track>span,.collection-album.is-complete .album-progress-track>span{background:#89a66d}.album-card.is-new .album-stamp,.collection-album.is-new .album-stamp{animation:album-stamp-arrive 500ms var(--ease) both}.album-card.is-new,.collection-album.is-new{animation:album-leaf-arrive 430ms var(--ease) both}.collection-album-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 8px;padding:12px 15px;border-top:1px solid #c1ceb1;border-bottom:1px solid #d3ddc4;background:#edf2e3}.collection-album-banner h3,.collection-album-banner strong{font:21px/1.7 var(--serif);font-weight:400;color:#5d7950}.collection-album-banner p,.collection-album-banner small{font:12px/1.85 var(--sans);color:#8e9c7e}.collection-album-banner.is-new .album-stamp{animation:album-stamp-arrive 500ms var(--ease) both}.collection-album-banner .album-progress{padding:0;margin:3px 0 0}

#journey-quests{display:grid;gap:0;margin-top:17px;border-top:1px solid #c7d2b8}#journey-quests:empty{display:none}.quest-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 26px;align-items:center;min-width:0;padding:15px 0 14px;border-bottom:1px solid #d9dfce}.quest-copy{min-width:0}.quest-row h3,.quest-row .quest-title{font:18px/1.65 var(--serif);font-weight:400;color:#59714d}.quest-row p,.quest-row small,.quest-row .quest-description{font:12px/1.85 var(--sans);color:#95a084;margin-top:3px}.quest-row .quest-reward{font:12px/1.8 var(--sans);color:#a28c5d;white-space:nowrap}.quest-progress{position:relative;grid-column:1;width:100%;max-width:720px;height:3px;overflow:hidden;background:#dce3cf}.quest-progress>span,.quest-progress>i{display:block;width:var(--quest-progress,0%);max-width:100%;height:100%;background:#a0b789;transition:width 550ms var(--ease)}.quest-row>.quest-progress{align-self:start}.quest-claim{grid-column:2;grid-row:1/span 2;align-self:center;min-width:105px;min-height:41px;padding:9px 15px;border:1px solid #a4b78d;background:#e9efda;color:#64814e;font-size:12px;line-height:1.7;white-space:nowrap;transition:background 150ms,border-color 150ms}.quest-claim:hover:not(:disabled){border-color:#7f9b63;background:#dde8c9}.quest-claim:disabled{cursor:default;opacity:1;color:#acb49b;border-color:#d8dfcb;background:transparent}.quest-row.is-complete .quest-claim{border-color:#ab8c60;background:#eee4cd;color:#967342}.quest-row.is-complete .quest-claim:hover:not(:disabled){border-color:#9c7847;background:#e9dcbf}.quest-row.is-claimed .quest-claim{border-color:#cbd7bc;background:transparent;color:#96a586}.quest-row.is-claimed .quest-progress>span,.quest-row.is-claimed .quest-progress>i{background:#8da776}.quest-row.is-new{animation:quest-earned-ink 550ms var(--ease) both}.quest-row.is-new .quest-claim{animation:answer-bloom 500ms var(--ease) both}

@keyframes round-dot-ink{0%{box-shadow:0 0 0 4px #c9d7b466}100%{box-shadow:0 0 0 0 #c9d7b400}}@keyframes streak-ink{0%{color:#ceab67;filter:blur(1px)}100%{color:#a17f4f;filter:blur(0)}}@keyframes memory-unfold{from{opacity:.2;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes memory-recall-ink{from{opacity:.35;filter:blur(2px)}to{opacity:1;filter:blur(0)}}@keyframes second-line-arrive{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes answer-seal{0%{opacity:.2;transform:translateY(-50%) rotate(-12deg) scale(1.25)}65%{opacity:1;transform:translateY(-50%) rotate(-3deg) scale(.97)}100%{transform:translateY(-50%) rotate(-5deg) scale(1)}}@keyframes poem-paper-arrive{0%{opacity:0;transform:translate(18px,13px) rotate(3deg)}70%{opacity:1;transform:translate(-1px,-1px) rotate(-.3deg)}100%{opacity:1;transform:none}}@keyframes reward-poem-ink{from{opacity:.25;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@keyframes reward-seal-stamp{0%{opacity:0;transform:rotate(-13deg) scale(1.35)}65%{opacity:1;transform:rotate(-4deg) scale(.95)}100%{opacity:1;transform:rotate(-5deg) scale(1)}}@keyframes poem-paper-settle{from{opacity:1;transform:none}to{opacity:0;transform:translate(9px,8px) rotate(1deg)}}@keyframes album-stamp-arrive{0%{opacity:.15;transform:rotate(-12deg) scale(1.3)}70%{opacity:1;transform:rotate(-3deg) scale(.97)}100%{transform:rotate(-4deg) scale(1)}}@keyframes album-leaf-arrive{from{opacity:.4;background:#e3ecd4}to{opacity:1;background:#edf2e1}}@keyframes quest-earned-ink{0%{background:#eee5ce88}100%{background:transparent}}

@media(max-width:1090px){.conf-round-rail{gap:12px 18px;margin-top:-8px;margin-bottom:5px}.conf-round-prompt{font-size:18px;margin-bottom:8px}.conf-context{font-size:19px;padding-top:5px;padding-bottom:5px;margin-bottom:11px}.grid-memory-preview{min-height:240px;padding-top:11px;padding-bottom:14px}.grid-memory-text{font-size:35px}.author-stage[data-variant=outsider] .author-option .option-name,.author-stage[data-round-type=outsider] .author-option .option-name{font-size:19px}.combo-stage:has(#combo-second-field:not([hidden])) .combo-keywords{min-height:94px}.quest-row{gap:7px 20px}.quest-claim{min-width:99px}.reward-toast{padding:13px 15px 12px 17px}#reward-layer{right:var(--reward-right,20px);bottom:var(--reward-bottom,18px);width:304px}.reward-poem{font-size:19px}}
@media(max-width:900px){.conf-round-rail{gap:12px}.conf-round-label,.conf-streak{font-size:13px}.conf-round-map{gap:6px}.conf-round-map .round-dot,.conf-round-map>li:not(:has(.round-dot)){width:18px;height:18px;min-height:18px;font-size:9px}.conf-round-prompt{font-size:17px}.conf-context{font-size:18px}.grid-memory-text{font-size:32px}.author-option .option-subtitle,.author-option .author-option-subtitle{font-size:11px}.author-option:has(.option-subtitle),.author-option:has(.author-option-subtitle){min-height:80px}.combo-answer-row>.button{min-height:59px}.combo-second-field{margin-top:10px}.quest-row h3,.quest-row .quest-title{font-size:17px}.quest-row p,.quest-row small,.quest-row .quest-description{font-size:11px}.quest-claim{min-width:93px;padding-left:11px;padding-right:11px}#reward-layer{width:286px}.reward-poem{font-size:18px}}
@container(max-width:650px){#collection-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.album-card,.collection-album{padding-left:12px;padding-right:12px;min-height:119px}.album-card h3,.collection-album h3,.album-card .album-title{font-size:19px}.collection-album-banner{gap:14px;padding-left:12px;padding-right:12px}}
#collection-albums>.collection-album-banner{grid-column:1/-1;margin:0 0 3px;background:transparent;border:0;padding:0}.album-shelf{display:contents}.reward-copy{grid-column:1;grid-row:1/span 3;min-width:0}.reward-copy>strong{display:block;font:16px/1.7 var(--serif);font-weight:400}.reward-copy .reward-poem{margin:4px 0}.reward-copy .reward-stats{margin-top:4px}#combo-scope{max-height:180px;overflow:auto;overscroll-behavior:contain}.combo-keyword.is-violated{border-color:var(--red)!important;color:var(--red)!important;background:#f2e2d4!important}.journey-quests>h3{font:19px/1.8 var(--serif);font-weight:400;margin-top:12px}

/* V10: movement follows the player's hand; only newly earned states animate. */
.path-stage{padding-top:12px;padding-bottom:9px}.path-stage .mini-stage-topline{padding-bottom:3px}.path-board-wrap{padding-top:3px;padding-bottom:6px}.path-stage .mini-stage-bottomline{padding-top:8px;gap:6px 18px}.path-stage .mini-stage-bottomline p{margin:0;min-width:0;flex:1}.path-selection-count{flex-shrink:0;font:19px/1.4 var(--serif);font-variant-numeric:tabular-nums;color:#ddc58f;letter-spacing:.03em}.path-sentence-track{display:flex;align-items:center;gap:7px;list-style:none;margin:0;padding:0;color:#b5c69c}.path-sentence-track:empty{display:none}.path-sentence-step{position:relative;display:grid;place-items:center;min-width:22px;height:22px;border:1px solid #80967466;border-radius:50%;font:11px/1 var(--sans);color:#8fa77c;transition:background 180ms,border-color 180ms,color 180ms}.path-sentence-step.is-current{border-color:#d7b77a;color:#f0d6a1}.path-sentence-step.is-complete{border-color:#a7bd88;background:#a7bd88;color:#204436}.path-sentence-step.is-new{animation:path-step-seal 420ms var(--ease) both}.path-cell .path-order{position:absolute;z-index:4;right:4px;bottom:4px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:50%;background:#f0d6a3;color:#3c5134;font:10px/1 var(--sans);font-variant-numeric:tabular-nums;pointer-events:none}.path-cell .path-order:empty{display:none}.path-cell.is-next:not(.is-selected):not(.is-solved){border-color:#b0c38c88;background:#325842;box-shadow:inset 0 0 0 1px #b0c38c18}.path-cell.is-next:hover:not(.is-solved){border-color:#e1c891;background:#466849}.path-cell.is-tail{border-color:#f3d7a4;box-shadow:0 0 0 2px #e2bd7433,inset 0 0 0 1px #f6d69244}.path-cell.is-tail::after{content:"";position:absolute;left:5px;top:5px;width:5px;height:5px;border-radius:50%;background:#f0d6a3;box-shadow:0 0 6px #eac99388;pointer-events:none}.path-cell.is-fresh-select>.char{animation:path-letter-touch 200ms var(--ease) both}.path-cell.is-fresh-select .path-order{animation:path-number-arrive 220ms var(--ease) both}.path-cell.is-blocked{animation:path-blocked-ink 300ms ease-out}.path-board.is-dragging{cursor:grabbing}.path-board.is-dragging .path-cell{cursor:grabbing}.path-board.is-dragging .path-cell:hover:not(.is-selected):not(.is-solved):not(.is-next){background:#2d5141;border-color:#96ad7d3d}.path-stroke.is-current,.path-stroke.cursor-tail{transition:none;animation:none}.path-stroke.is-new-complete{stroke-dasharray:1;stroke-dashoffset:0;animation:path-complete-stroke 500ms var(--ease) both}.path-tip{fill:#edcc92;stroke:#193c33;stroke-width:2;opacity:.95;pointer-events:none}.path-tip.is-new{animation:path-tip-arrive 180ms var(--ease) both}.path-composer{gap:0 18px;padding-top:13px}.path-current-heading{font-size:11px;gap:12px}.path-current{min-height:52px;padding-top:7px;padding-bottom:9px;font-size:28px;line-height:1.35;letter-spacing:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.path-current.is-empty{font-size:20px;min-height:52px;color:#94a185}.path-word-slot{display:inline-grid;place-items:center;width:33px;min-height:42px;border-bottom:1px solid #a6b78f;color:var(--ink)}.path-word-slot.is-empty{border-bottom-style:dashed;border-bottom-color:#c9d1bc;color:#b5bda7}.path-word-slot.is-new{animation:path-word-arrive 210ms var(--ease) both}.path-actions{gap:6px 14px;max-width:555px}.path-actions .button{min-height:43px;padding:9px 14px}.path-actions .text-button{min-height:35px;font-size:12px}.path-auto-submit{grid-column:1/-1;display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;font-size:12px;line-height:1.7;color:#8b997e;padding:7px 0 1px;cursor:pointer;user-select:none}.path-auto-submit input{width:15px;height:15px;margin:0;accent-color:#7d9766;cursor:pointer}.path-auto-submit:focus-within{color:var(--ink)}.path-line-receipt{grid-column:1/-1;padding:10px 12px;margin-top:8px;border-left:2px solid #a0b27f;background:#e6edda;color:#5f7e4c;font:18px/1.5 var(--serif)}.path-line-receipt:empty{display:none}.path-line-receipt.is-entering{animation:path-receipt-arrive 420ms var(--ease) both}.path-line-receipt.is-leaving{animation:path-receipt-settle 180ms ease-in both}.path-panel:has(.path-line-receipt:not([hidden]))+.mini-status{padding-top:8px}

/* Shared tactile response across the nine games. No input waits for a transition. */
.button,.text-button,.quiet-button,.play-nav button,.tool-button,.mode-switch button,.choice-char,.blank-slot,.author-option,.grid-cell,.collection-entry-open,.favorite-button,.album-card,.quest-claim{transition-timing-function:var(--ease)}.button:not(:disabled),.text-button:not(:disabled),.quiet-button:not(:disabled),.play-nav button,.tool-button:not(:disabled),.mode-switch button{transition:background-color 150ms var(--ease),border-color 150ms var(--ease),color 150ms var(--ease),box-shadow 150ms var(--ease),translate 150ms var(--ease)}.button:active:not(:disabled),.button.is-pressing:not(:disabled),.quiet-button:active:not(:disabled),.quiet-button.is-pressing:not(:disabled),.text-button:active:not(:disabled),.text-button.is-pressing:not(:disabled){translate:0 1px;transition-duration:60ms}.button:focus-visible,.quest-claim:focus-visible,.album-card:focus-visible{box-shadow:0 0 0 4px #b5c69b33}.play-nav button:active,.play-nav button.is-pressing{background:#e2e8d5}.tool-button:active:not(:disabled)>.icon,.tool-button.is-pressing:not(:disabled)>.icon{transform:scale(.89);transition:transform 75ms var(--ease)}.tool-button>.icon{transition:transform 180ms var(--ease),color 150ms}.cell.is-pressing .cell-char,.path-cell.is-pressing>.char,.grid-cell.is-pressing .grid-char{transform:scale(.91);transition:transform 65ms var(--ease)}.cell .cell-char,.path-cell>.char,.grid-cell .grid-char{transition:transform 170ms var(--ease)}.choice-char:active:not(:disabled),.choice-char.is-pressed:not(:disabled){animation:choice-char-touch 220ms var(--ease) both}.play-choice{transition:background 180ms var(--ease),border-color 180ms var(--ease)}.play-choice:hover{background:#e9eedf66}.choice-start-actions .button .icon,.start-actions .button .icon,.choice-start-actions .button>span[aria-hidden],.button-start>.icon{transition:translate 180ms var(--ease)}.choice-start-actions .button:hover .icon,.start-actions .button:hover .icon,.choice-start-actions .button:hover>span[aria-hidden],.button-start:hover>.icon{translate:3px 0}.collection-card:hover .entry-title{color:#8c6242;transition:color 160ms}.collection-card.is-collected{animation:collection-card-ink 430ms var(--ease) both}.finish-panel.finish-reveal,.finish-panel.is-entering{animation:finish-sheet-reveal 550ms var(--ease) both}.finish-panel.finish-reveal .finish-seal,.finish-panel.is-entering .finish-seal{animation:finish-seal-land 500ms 100ms var(--ease) both}.finish-panel.finish-reveal .finish-actions,.finish-panel.is-entering .finish-actions{animation:finish-actions-arrive 350ms 140ms var(--ease) both}.game-stats dd.is-updating,.game-stats dd.is-changing{animation:score-ink 320ms var(--ease) both}.game-status.is-entering,.mini-status.is-entering,.anth-status.is-entering,.conf-status.is-entering{animation:status-ink 230ms var(--ease) both}

/* Sorting preserves the source and destination; fill and choice animate once. */
.order-line{position:relative;transition:background-color 160ms var(--ease),border-color 160ms var(--ease),box-shadow 160ms var(--ease)}.order-line.is-dragging{opacity:.48;background:#e4e9d7;border-style:dashed;box-shadow:none}.order-line.is-drop-before::before,.order-line.is-drop-after::after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:2px;background:#b88a57;box-shadow:0 0 0 2px #f4e7d266;pointer-events:none;z-index:3}.order-line.is-drop-before::before{top:-7px}.order-line.is-drop-after::after{bottom:-7px}.order-line.is-moving{animation:order-line-place 300ms var(--ease) both}.order-line.is-anchored{border-left:2px solid #9db185;background:#e8eedc66}.order-line:focus-visible{outline:2px solid #b18d5f;outline-offset:3px}.blank-slot.is-new{animation:cloze-letter-place 300ms var(--ease) both}.choice-char.is-pressed{animation:choice-char-touch 220ms var(--ease) both}.choice-shortcut{display:block;position:absolute;right:4px;bottom:3px;font:9px/1 var(--sans);color:#a0a88e;pointer-events:none}.choice-char{position:relative}.flower-keyword.is-changing{animation:flower-keyword-turn 380ms var(--ease) both}.flower-keyword.is-answered{animation:flower-keyword-seal 430ms var(--ease) both}#flower-used-lines{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;margin-top:14px;color:#8f9b7e;font-size:12px;line-height:1.8}#flower-used-lines:empty{display:none}.flower-used-line{padding:2px 0;border-bottom:1px solid #d4ddc5;font-family:var(--serif);font-size:15px}.flower-used-line:last-child{animation:used-line-arrive 300ms var(--ease) both}.anth-round-result.is-entering,#anth-round-result.is-entering{animation:result-ink-seal 350ms var(--ease) both}.author-option.is-new-select{animation:author-choice-settle 220ms var(--ease) both}.author-option.is-new-reveal .author-option-state{animation:answer-seal 420ms var(--ease) both}.combo-keyword.is-new-light{animation:combo-letter-hit 300ms var(--ease) both}.combo-second-field.is-entering{animation:second-line-arrive 250ms var(--ease) both}

@keyframes path-letter-touch{0%{transform:scale(.86);color:#f6dba0}65%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes path-number-arrive{from{opacity:.2;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes path-blocked-ink{0%,40%{background:#80563b;border-color:#d5a376}100%{background:#2d5141;border-color:#96ad7d3d}}@keyframes path-complete-stroke{from{stroke-dashoffset:1;opacity:.8}to{stroke-dashoffset:0;opacity:.3}}@keyframes path-tip-arrive{from{r:2;opacity:.5}to{r:5;opacity:.95}}@keyframes path-word-arrive{from{opacity:.25;transform:translateY(5px);color:#b48f58}to{opacity:1;transform:none;color:var(--ink)}}@keyframes path-receipt-arrive{from{opacity:.15;transform:translateY(5px);border-left-color:#d8bb7a}to{opacity:1;transform:none;border-left-color:#a0b27f}}@keyframes path-receipt-settle{to{opacity:0;transform:translateY(-3px)}}@keyframes path-step-seal{0%{box-shadow:0 0 0 5px #c4d49f44;transform:scale(1.15)}100%{box-shadow:0 0 0 0 #c4d49f00;transform:scale(1)}}@keyframes choice-char-touch{0%{box-shadow:inset 0 0 0 3px #b6c79b88;transform:scale(.94)}100%{box-shadow:inset 0 0 0 0 #b6c79b00;transform:scale(1)}}@keyframes collection-card-ink{from{background:#e2ebd0}to{background:transparent}}@keyframes finish-sheet-reveal{from{opacity:.25;transform:translateY(7px);border-color:#be9c6b}to{opacity:1;transform:none}}@keyframes finish-seal-land{0%{opacity:0;transform:rotate(-12deg) scale(1.25)}70%{opacity:1;transform:rotate(-3deg) scale(.96)}100%{transform:rotate(0) scale(1)}}@keyframes finish-actions-arrive{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes score-ink{0%{color:#d3a66b;transform:translateY(-2px)}100%{transform:none}}@keyframes status-ink{from{opacity:.35;transform:translateX(3px)}to{opacity:1;transform:none}}@keyframes order-line-place{0%{background:#e3ebd3;box-shadow:inset 3px 0 #a6b88b}100%{background:var(--paper-light);box-shadow:inset 0 0 transparent}}@keyframes cloze-letter-place{0%{transform:translateY(-3px);background:#e0e9ce;color:#9d7849}100%{transform:none}}@keyframes flower-keyword-turn{from{opacity:.2;transform:rotateY(-28deg);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes flower-keyword-seal{0%{box-shadow:0 0 0 6px #bdcda244;color:#b58a4e}100%{box-shadow:0 0 0 0 #bdcda200}}@keyframes used-line-arrive{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes result-ink-seal{from{background:#dce8c9;opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes author-choice-settle{0%{box-shadow:inset 0 0 0 3px #a8bd8799}100%{box-shadow:inset 0 0 0 1px #b2c297}}@keyframes combo-letter-hit{0%{transform:rotate(-4deg) scale(1.08);box-shadow:0 0 0 5px #bcce9a44}100%{transform:none;box-shadow:0 0 0 0 #bcce9a00}}

@media(max-width:1090px){.path-composer{padding-top:11px}.path-current{min-height:47px;padding-top:6px;padding-bottom:8px}.path-actions{gap:5px 14px;max-width:none;padding-top:9px}.path-actions .mini-hint{margin-left:0}.path-auto-submit{padding-top:8px}.path-word-slot{width:31px;min-height:39px}.path-line-receipt{padding:8px 11px;font-size:17px}.path-cell .path-order{min-width:15px;height:15px;font-size:9px}.path-sentence-step{min-width:21px;height:21px}.play-choice-description{min-height:45px}.play-choice{min-height:193px}.hero-intro{font-size:14px}.hero-side-note{max-width:220px}}
@media(min-width:1180px){.path-composer{grid-template-columns:minmax(230px,1fr) minmax(0,auto)}.path-actions{max-width:570px;gap:5px 13px}.path-current{min-height:51px}.path-stage .path-board{padding-top:10px;padding-bottom:10px}}
html[data-motion=off] .path-stroke.is-new-complete{stroke-dashoffset:0}@media(prefers-reduced-motion:reduce){.path-stroke.is-new-complete{stroke-dashoffset:0}}
.grid-answer-slot.is-filled[role=button]{cursor:pointer;transition:background-color 140ms,border-color 140ms,transform 140ms}.grid-answer-slot.is-filled[role=button]:hover{background:#e1e9cf;border-bottom-color:#6e8e53;transform:translateY(-2px)}.grid-answer-slot.is-filled[role=button]:focus-visible{outline:2px solid #9a8054;outline-offset:3px;background:#e1e9cf}

/* V11: reading is a playable prelude, with no answer text left in a closed panel. */
.reading-support{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:12px 0;border-top:1px solid #c9cfba;border-bottom:1px solid #c9cfba;color:var(--ink-soft)}.reading-support h2{margin:0;font:24px/1.5 var(--serif);font-weight:400;color:var(--ink)}.reading-support.is-choice{padding:30px 28px;background:#e6ecd9;min-height:170px;border:1px solid #bdcba8;animation:reading-unfold 320ms var(--ease) both}.reading-choice-copy p{margin:7px 0 0;font-size:13px}.reading-actions{display:flex;align-items:center;gap:22px}.reading-support.is-open{display:block;padding:22px 28px;background:#f8f4e9;border:1px solid #c9c5b3;animation:reading-unfold 320ms var(--ease) both}.reading-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #d7d6c6}.reading-heading .button{min-height:42px;white-space:nowrap}.reading-works{display:grid;justify-content:center;padding:20px 0 6px;gap:20px 38px}.reading-works.is-multiple{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.reading-work{padding:3px 16px 12px;min-width:0}.reading-works.is-multiple .reading-work{border-bottom:1px solid #d8d8c8}.reading-work h3{font:22px/1.7 var(--serif);font-weight:400;color:var(--ink);margin:0}.reading-author{font-size:12px;margin:3px 0 12px;color:#859071}.reading-lines p{font:24px/1.8 var(--serif);margin:0;color:#304c3d;overflow-wrap:anywhere}.reading-ready{font-size:12px;color:#869378}.reading-support:not(.is-choice):not(.is-open) .text-button{font-size:12px}.path-targets{margin:0 0 16px;padding:13px 18px;background:#e6ecd9;border-left:2px solid #92aa75}.path-target-heading{display:flex;align-items:center;gap:18px}.path-target-heading h2{margin:0;font:17px/1.6 var(--serif);font-weight:400}.path-target-heading>span{font-size:11px;color:#8d997f}.path-target-heading .text-button{margin-left:auto;font-size:11px}.path-target-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px;padding:10px 0 0;margin:0;list-style:none;counter-reset:path-target}.path-target-list li{display:flex;align-items:center;gap:12px;font:22px/1.7 var(--serif);color:#46603e}.path-target-list li::before{counter-increment:path-target;content:counter(path-target,decimal-leading-zero);font:10px var(--sans);color:#94a17e}.path-target-list li.is-complete{color:#839276}.path-target-list li span{font:13px var(--sans);color:#7d9a5d}.session-shelf-dialog{width:min(800px,calc(100vw - 80px));max-height:85vh;overflow:auto}.session-shelf-group{margin-top:22px}.session-shelf-group>h3{font:20px/1.5 var(--serif);font-weight:400;margin:0 0 10px}.session-shelf-entry{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-top:1px solid #d2d6c3}.session-shelf-copy{min-width:0}.session-shelf-copy>strong,.session-shelf-copy>p:first-child{font:19px/1.7 var(--serif);font-weight:400}.session-shelf-meta{font-size:12px;color:var(--muted);line-height:1.8}.session-shelf-entry .button,.session-shelf-entry .text-button{flex-shrink:0}.session-shelf-empty,.session-shelf-error{padding:30px 0;color:var(--muted);font-size:14px}.session-shelf-error{color:var(--red)}.session-change-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.session-change-options button{padding:16px;border:1px solid #c0cbaa;background:#edf0e2;font:20px var(--serif);color:var(--ink)}.session-change-options button:hover{background:#e1e9d1}.play-choices-heading{gap:16px}.play-choices-heading h2{margin-right:auto}#session-shelf-open{font-size:12px;white-space:nowrap}.game-top-actions>button[id$="-change"]{color:#688350}
@keyframes reading-unfold{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Local icon family; the home tiles use full illustrations. */
.home-icon{display:inline-block;flex-shrink:0;width:24px;height:24px;vertical-align:middle;overflow:visible;stroke:currentColor;stroke-width:1.7;pointer-events:none}.home-icon .icon-detail{opacity:.85}.home-icon .icon-spark{stroke:var(--red);opacity:.7}.choice-title{align-items:center;gap:12px;flex-wrap:wrap;min-height:52px}.choice-symbol{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:9px;background:#e3e9d4;color:#58754c;transform:rotate(-3deg);transition:transform 230ms var(--ease),background-color 230ms var(--ease)}.choice-symbol .home-icon{width:37px;height:37px;transform:rotate(3deg);stroke-width:1.7}.choice-symbol-pair,.choice-symbol-author,.choice-symbol-combo{background:#efe0d4;color:#a05f45}.choice-symbol-order,.choice-symbol-cloze{background:#e9e4cd;color:#93804e}.choice-title h3{font-size:28px;margin:0;white-space:nowrap}.choice-number{display:none}.choice-kind{flex-basis:100%;margin:0 0 0 58px;margin-top:-4px;font-size:11px;line-height:1.5}.play-choice{padding-top:20px;min-height:198px;transition:background-color 180ms var(--ease)}.play-choice-description{margin-top:12px}.play-choice:hover .choice-symbol{transform:translateY(-2px) rotate(2deg);background:#dbe4c7}.play-choice:hover .choice-symbol .icon-spark{opacity:1}.play-choice:focus-within .choice-symbol{transform:rotate(0);outline:2px solid #c2cda8;outline-offset:3px}.play-choice-seek:hover .game-choice-icon .icon-detail{animation:icon-search 850ms var(--ease) 1}.play-choice-flower:hover .game-choice-icon,.play-choice-combo:hover .game-choice-icon{animation:icon-flower 600ms var(--ease) 1}.play-nav button{display:inline-flex;align-items:center;gap:5px}.nav-game-icon{width:17px;height:17px;stroke-width:2;opacity:.8}.play-nav button[aria-pressed=true] .nav-game-icon{color:var(--red);opacity:1}.section-home-icon{width:25px;height:25px;margin-right:9px;color:#73855b;stroke-width:1.7}#play-settings-title,#play-choices-title,#collection-title,#growth-title{display:flex;align-items:center}.play-settings label>.home-icon{width:17px;height:17px;margin-right:6px;stroke-width:2}.daily-home-icon{width:47px;height:47px;stroke-width:1.4}.action-home-icon{width:20px;height:20px;margin-right:6px;stroke-width:1.8}.theme-home-icon{width:30px;height:30px;margin-right:8px;stroke-width:1.6}.quest-home-icon{width:20px;height:20px;margin-right:7px;stroke-width:1.7;color:#9d7850}.journey-theme,.journey-themes button{align-items:center}.journey-themes button .theme-home-icon+.theme-copy{flex:1}.quest-row h3{display:flex;align-items:center}.session-shelf-open>.home-icon{width:20px;height:20px}.play-choices-heading #start-tutorial{margin-left:auto}.play-choices-heading #session-shelf-open{margin-left:0}
@keyframes icon-search{0%,100%{transform:translate(0)}45%{transform:translate(-1px,1px)}}@keyframes icon-flower{0%,100%{transform:rotate(3deg)}45%{transform:rotate(12deg)}}
.journey-themes .theme-choice{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:11px;row-gap:4px;align-items:start;padding:15px 10px 13px 0}.theme-choice>.theme-home-icon{grid-column:1;grid-row:1 / span 2;margin:3px 0 0}.theme-choice>strong,.theme-choice>span{grid-column:2}.theme-choice>strong{padding-right:10px}.theme-choice>span{align-self:start}.theme-choice::after{right:2px}
@media(max-width:1090px){.choice-title{gap:9px}.choice-symbol{width:41px;height:41px;flex-basis:41px}.choice-symbol .home-icon{width:33px;height:33px}.choice-title h3{font-size:25px}.choice-kind{margin-left:50px}.nav-game-icon{width:15px;height:15px}.play-nav button{gap:4px}.theme-home-icon{width:25px;height:25px}}
@media(max-width:1090px){.reading-support.is-choice{padding:22px}.reading-works.is-multiple{gap:14px}.reading-work{padding-left:8px;padding-right:8px}.reading-lines p{font-size:21px}.path-target-list li{font-size:20px}.game-top-actions{gap:7px}.session-change-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.button,.quiet-button,.text-button,.play-nav button,.tool-button,.mode-switch button,.collection-open,.quest-claim,.favorite-button{position:relative}.button,.quiet-button,.play-nav button,.tool-button,.mode-switch button,.choice-char,.path-cell,.grid-cell,.cell{overflow:hidden}.press-ripple{position:absolute!important;z-index:4;left:var(--press-x,50%);top:var(--press-y,50%);display:block;width:16px;height:16px;margin:-8px 0 0 -8px;padding:0!important;border:1px solid currentColor!important;border-radius:50%;background:currentColor;opacity:0;pointer-events:none!important;animation:button-press-ripple 560ms cubic-bezier(.18,.7,.32,1) both}.path-cell>.press-ripple,.grid-cell>.press-ripple,.cell>.press-ripple{color:#eed19a}.button-primary>.press-ripple{color:#f4dbc0}.text-button>.press-ripple,.quiet-button>.press-ripple{width:10px;height:10px;margin:-5px 0 0 -5px;animation-name:quiet-press-ripple}.game-stats dd.score-pop{animation:score-pop 410ms var(--ease) both}.game-stats dd.score-pop.is-negative{animation:score-deduct 360ms ease-out both}.keyboard-nudge{animation:keyboard-confirm 300ms var(--ease) both}.pair-board.is-sealed .pair-card[data-state=hidden]{animation:pair-seal-close 430ms var(--ease) both}.pair-board.is-sealed .pair-card:nth-child(3n+2){animation-delay:45ms}.pair-board.is-sealed .pair-card:nth-child(3n){animation-delay:90ms}.pair-board.is-opened .pair-card:not([data-state=matched]){animation:pair-review-unfold 420ms var(--ease) both}.pair-board.is-opened .pair-card:nth-child(3n+2){animation-delay:35ms}.pair-board.is-opened .pair-card:nth-child(3n){animation-delay:70ms}
@keyframes button-press-ripple{0%{opacity:.28;transform:scale(.2)}65%{opacity:.1}100%{opacity:0;transform:scale(9)}}@keyframes quiet-press-ripple{0%{opacity:.16;transform:scale(.3)}100%{opacity:0;transform:scale(6)}}@keyframes score-pop{0%{transform:translateY(-2px) scale(1.18);color:#bf9658;text-shadow:0 0 13px #d2b56d55}70%{transform:scale(.98)}100%{transform:none}}@keyframes score-deduct{0%,35%{transform:translateY(2px);color:#b6593d}100%{transform:none}}@keyframes keyboard-confirm{0%{box-shadow:0 0 0 4px #a5b88b66;background:#e3ebd4}100%{box-shadow:0 0 0 0 #a5b88b00}}@keyframes pair-seal-close{0%{transform:rotateY(0);background:#fbf7eb}48%{transform:rotateY(48deg)}100%{transform:rotateY(0);background:#eae6d9}}@keyframes pair-review-unfold{0%{opacity:.4;transform:rotateX(-12deg);filter:blur(1px)}100%{opacity:1;transform:none;filter:blur(0)}}

/* V13: an illustrated game picker, with one action per tile. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body:has(.home-clean:not([hidden])) .play-nav{display:none}
.home-clean{display:grid;grid-template-columns:minmax(245px,1fr) auto;column-gap:28px}
.home-clean .home-hero{padding:28px 0 26px;gap:0}
.home-clean .hero-copy h1{margin:0;font-size:35px;line-height:1.5;letter-spacing:.015em}
.home-clean .play-settings{display:flex;align-self:center;align-items:center;gap:20px;padding:0;margin:0;border:0;background:transparent;position:relative;z-index:5}
.home-clean .play-settings-controls{gap:24px}
.home-clean .setting-field{display:flex;align-items:center;gap:12px;min-width:0;max-width:none;flex:none}
.home-clean .setting-field>label{font-size:11px;letter-spacing:0;white-space:nowrap;color:#848e7c}
.home-clean .setting-field>label>.home-icon{display:none}
.home-clean .setting-field .select-wrap select{min-width:72px;max-width:150px;font-size:13px;min-height:36px;padding:5px 22px 5px 0;border-bottom-color:#d0d5c6}
.home-clean .seek-board-settings{border:0;margin:0;position:relative}
.home-clean .seek-board-settings>summary{width:auto;min-height:36px;gap:10px;white-space:nowrap;font-size:11px;color:#7c8872}
.home-clean .seek-board-settings>.difficulty-field{position:absolute;right:0;top:calc(100% + 6px);width:160px;padding:12px 16px;background:var(--paper-light);border:1px solid #d5d9c9;box-shadow:0 8px 24px #34433412}
.home-clean .seek-board-settings .select-wrap{width:100%}
.home-clean .play-choices,.home-clean .home-bottom,.home-clean .journey-invitation{grid-column:1/-1}
.home-clean .play-choices{margin-bottom:24px}
.home-clean .play-choices-heading{align-items:center;gap:24px;min-height:40px;margin-bottom:8px}
.home-clean .play-choices-heading h2{font:13px/1.7 var(--sans);color:#849076;letter-spacing:.14em}
.home-clean .play-choices-heading h2>.home-icon{display:none}
.home-clean .play-choices-heading #start-tutorial{margin-left:auto;font-size:11px;color:#8a947e;gap:7px;min-height:36px}
.home-clean .play-choices-heading #session-shelf-open{font-size:11px;min-height:36px;color:#6d8060}
.home-clean .play-choices-heading .action-home-icon,.home-clean .play-choices-heading .section-home-icon{width:16px;height:16px;margin-right:0}
.home-clean .play-choices-grid{gap:0;border-top:1px solid #c0c9b4}
.home-clean .play-choice{position:relative;display:flex;align-items:center;justify-content:center;min-height:143px;padding:20px 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;overflow:hidden;isolation:isolate;transition:background-color 230ms var(--ease),box-shadow 230ms var(--ease)}
.home-clean .play-choice:not(:nth-child(3n+1)){border-left:1px solid var(--line)}
.home-clean .play-choice:nth-child(n+4){background:transparent}
.home-clean .choice-title{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:21px;min-height:0;width:100%}
.home-clean .choice-name{font:28px/1.4 var(--serif);font-weight:400;letter-spacing:.04em;white-space:nowrap;transition:color 200ms var(--ease),translate 250ms var(--ease)}
.home-clean .choice-symbol{display:grid;place-items:center;flex:0 0 88px;width:88px;height:88px;border-radius:0;background:transparent;color:var(--ink);transform:none;outline:0;transition:transform 360ms var(--ease)}
.home-clean .choice-symbol .game-choice-icon{width:88px;height:88px;transform:none;stroke-width:1.2;animation:none}
.home-clean .game-choice-icon .icon-detail{opacity:1}
.home-clean .choice-arrow{position:absolute;right:18px;bottom:18px;width:15px;height:15px;color:#a0ac93;opacity:.6;transition:translate 240ms var(--ease),opacity 200ms,color 200ms}
.home-clean .play-choice:hover{background:#e9eddf66}
.home-clean .play-choice:hover .choice-symbol,.home-clean .play-choice:focus-within .choice-symbol{transform:translateY(-3px);background:transparent;outline:0}
.home-clean .play-choice:hover .choice-name,.home-clean .play-choice:focus-visible .choice-name{color:#9b654b;translate:2px 0}
.home-clean .play-choice:hover .choice-arrow,.home-clean .play-choice:focus-visible .choice-arrow{opacity:1;color:var(--red);translate:3px 0}
.home-clean .play-choice:active .choice-symbol,.home-clean .play-choice.is-pressing .choice-symbol{transform:translateY(0) scale(.97);transition-duration:80ms}
.home-clean .play-choice:focus-visible{z-index:2;outline:2px solid #a27a50;outline-offset:-4px;background:#edf0e2}
.home-clean .play-choice .illustration-accent{transform-box:fill-box;transform-origin:center;transition:transform 400ms var(--ease)}
.home-clean .play-choice:hover .illustration-accent{transform:rotate(-5deg)}
.home-clean .home-bottom{border-top:0}
.home-clean .daily-invitation,.home-clean .collection-invitation{padding:17px 22px;min-height:112px}
.home-clean .daily-challenge .daily-symbol{display:block;width:37px;height:37px;flex:0 0 37px}
.home-clean .daily-home-icon{width:37px;height:37px}
.home-clean .daily-challenge .daily-copy{min-width:0}
.home-clean .daily-copy>.eyebrow{font-size:11px;letter-spacing:.02em;gap:3px 12px}
.home-clean .daily-challenge-state{font-size:10px;color:#9b8b69}
.home-clean .daily-copy h2{font-size:23px;letter-spacing:.03em}
.home-clean .daily-invitation>.button{min-height:35px;padding:6px 14px;font-size:12px;background:transparent;border:1px solid #bdc7ae;color:var(--ink)}
.home-clean .daily-invitation>.button:hover{background:#e5ead9}
.home-clean .collection-invitation{position:relative;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 16px}
.home-clean .collection-copy h2{font-size:23px;margin:0;line-height:1.5}
.home-clean .section-home-icon{width:24px;height:24px;margin-right:10px;stroke-width:1.4}
.home-clean .collection-open{grid-column:2;grid-row:1 / span 2;min-height:45px;gap:18px}
.home-clean .collection-open>span{display:flex;gap:7px;align-items:baseline}
.home-clean .collection-open strong{font-size:30px}
.home-clean .review-entry{grid-column:1;gap:12px}
.home-clean .review-entry .text-button{min-height:28px;font-size:11px}
.home-clean .review-entry p{font-size:10px}
.home-clean .journey-invitation{padding:22px 0 26px}
.home-clean .journey-heading h2{font-size:23px;margin:0}
.home-clean .journey-heading>.text-button{font-size:11px;min-height:30px}
.home-clean .journey-track{grid-template-columns:190px minmax(0,1fr);margin-top:15px;gap:5px 24px}
.home-clean .journey-current{gap:6px 12px}
.home-clean .journey-level{font-size:20px}
.home-clean .journey-xp,.home-clean .journey-next{font-size:11px}
.home-clean .journey-themes{gap:24px;margin-top:18px}
.home-clean .journey-themes .theme-choice{grid-template-columns:30px minmax(0,1fr);gap:0 9px;min-height:56px;padding:11px 0 9px;align-items:center}
.home-clean .theme-choice>.theme-home-icon{grid-row:1;align-self:center;width:27px;height:27px;margin:0}
.home-clean .theme-choice>strong{font-size:19px;line-height:1.6}
.home-clean .theme-choice>span{font-size:11px}
.home-clean .theme-choice::after{top:17px}
.home-clean .journey-invitation #growth-summary{font-size:11px;border-top:0;padding:0;margin-top:8px}
.home-clean #journey-quests{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin-top:18px;padding-top:13px}
.home-clean #journey-quests>h3{grid-column:1/-1;font:12px/1.6 var(--sans);letter-spacing:.1em;color:#8a957e;margin:0 0 6px}
.home-clean .quest-row{gap:5px 14px;padding:9px 0 12px;border-bottom:0}
.home-clean .quest-row h3{font-size:17px}
.home-clean .quest-row small{font-size:10px}
.home-clean .quest-progress{margin-top:5px;height:2px}
.home-clean .quest-claim{min-width:0;min-height:33px;padding:5px 9px;font-size:11px}
.home-clean .quest-home-icon{width:17px;height:17px;margin-right:6px}
@media(min-width:1200px){.home-clean .play-choice{min-height:165px;padding:22px 34px}.home-clean .choice-title{gap:25px}.home-clean .choice-symbol,.home-clean .choice-symbol .game-choice-icon{width:102px;height:102px;flex-basis:102px}.home-clean .choice-name{font-size:31px}.home-clean .hero-copy h1{font-size:39px}}
@media(max-width:1090px){.home-clean{column-gap:18px}.home-clean .hero-copy h1{font-size:31px}.home-clean .play-settings{gap:13px}.home-clean .play-settings-controls{gap:17px}.home-clean .setting-field{gap:8px}.home-clean .play-choice{padding-left:20px;padding-right:20px}.home-clean .choice-title{gap:14px}.home-clean .choice-name{font-size:25px}.home-clean .choice-symbol,.home-clean .choice-symbol .game-choice-icon{width:76px;height:76px;flex-basis:76px}.home-clean .daily-challenge .daily-symbol{display:none}.home-clean .daily-challenge-state{display:block;width:100%}.home-clean .journey-themes{gap:20px}}
@media(max-width:800px){.home-clean .seek-board-settings>summary{font-size:0;gap:0}.home-clean .seek-board-settings>summary>span{font-size:18px}.home-clean .choice-title{gap:10px}.home-clean .choice-name{font-size:23px}.home-clean .choice-symbol,.home-clean .choice-symbol .game-choice-icon{width:66px;height:66px;flex-basis:66px}.home-clean .play-choice{min-height:132px;padding-left:15px;padding-right:15px}}
/* V14: letters are the game identity; controls stay close to the pieces. */
.game-clean .site-header{min-height:60px}
.game-clean .brand-name{font-size:23px}
.game-clean .brand-seal{width:28px;height:31px;font-size:21px}
.game-clean .header-actions{gap:20px}
.game-clean .save-status{font-size:11px}
.game-clean .play-nav{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:100%;gap:0;padding:0;border-bottom:1px solid var(--line)}
.game-clean:has(.home-clean:not([hidden])) .play-nav{display:none}
.game-clean .play-nav button{min-width:0;min-height:40px;padding:7px 3px;font-size:12px;letter-spacing:0;justify-content:center;margin-left:0}
.game-clean .play-nav button::before{display:none}
.game-clean .nav-game-icon{width:15px;height:15px;opacity:.65}
.game-clean .game-topline{min-height:40px;padding:0}
.game-clean .game-topline button{font-size:11px;min-height:36px}
.game-clean .game-top-actions{gap:20px}
.game-clean .game-heading{min-height:82px;padding:4px 0 16px;gap:20px}
.game-clean .game-heading>div{min-width:0}
.game-clean .game-heading h1{font-size:28px;margin:0;line-height:1.45;font-weight:400}
.game-clean .game-heading .eyebrow{font-size:11px;line-height:1.5}
.game-clean #anth-subtitle,.game-clean #conf-subtitle{display:none}
.game-clean .run-context{font-size:11px;margin-top:3px;line-height:1.5;color:#8c977f}
.game-clean .game-stats{gap:24px}
.game-clean .game-stats>div{min-width:52px}
.game-clean .game-stats dt{font-size:10px;line-height:1.5;margin-bottom:3px;color:#8b947f}
.game-clean .game-stats dd{font-size:23px;line-height:1.3}
.game-clean .game-status,.game-clean .mini-status,.game-clean .anth-status,.game-clean .conf-status{font-size:12px;line-height:1.8;margin-top:10px;padding:0;min-height:0}
.game-clean :is(.game-status,.mini-status,.anth-status,.conf-status):empty{display:none}
.game-clean .mini-workspace,.game-clean .anth-workspace,.game-clean .conf-workspace{max-width:1100px;margin-inline:auto}
.game-clean .compact-record{margin-top:16px}
.game-clean .compact-record>summary{min-height:39px;font-size:12px}
.game-clean .compact-record>summary small{display:none}
.game-clean .game-workspace{display:grid;grid-template-columns:minmax(0,1fr) 245px;column-gap:28px;align-items:start;max-width:1180px;margin-inline:auto}
.game-clean .board-column{margin:0;min-width:0}
.game-clean .seek-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:10px}
.game-clean .mode-switch{display:flex;gap:0;border:1px solid #c6d0b8;padding:2px;background:transparent;margin:0;flex-shrink:0}
.game-clean .mode-switch button{min-height:33px;min-width:53px;padding:4px 10px;border:0;font-size:12px;letter-spacing:.06em}
.game-clean .mode-switch button.is-active{background:var(--ink);color:var(--paper-light);box-shadow:none}
.game-clean .tool-list{display:flex;gap:13px;min-width:0}
.game-clean .tool-button{display:flex;align-items:center;gap:5px;grid-template-columns:none;min-height:35px;padding:3px 0;border:0;background:none}
.game-clean .tool-button>.icon{width:15px;height:15px}
.game-clean .tool-name{font-size:11px;line-height:1.5}
.game-clean .tool-count{font:12px/1.4 var(--serif);padding-left:2px;color:#a07553}
.game-clean .tool-button:disabled{opacity:.3}
.game-clean .board-surface{border:0;border-radius:3px;overflow:hidden}
.game-clean .board-scroll{padding:20px;max-height:calc(100vh - 295px);min-height:310px;overflow:auto;scrollbar-color:#69836a var(--ink-deep);scrollbar-width:thin}
.game-clean .board{--cell-size:47px;gap:4px}
.game-clean .cell{border-radius:2px;font-size:28px;transition:background-color 130ms,border-color 130ms,box-shadow 130ms}
.game-clean .cell:hover{border-color:#b5c79a;background:#3a604c;box-shadow:inset 0 0 0 1px #c8d3af33}
.game-clean .cell.is-selected{outline:2px solid #d3b47b;outline-offset:-2px;box-shadow:0 0 0 2px #d3b47b44;z-index:1}
.game-clean .cell[data-state=solved]{border-color:#b1c29388}
.game-clean .seek-sidebar{padding-top:49px;min-width:0}
.game-clean .answer-section{display:block;margin:0;padding:17px 0 18px;border-top:1px solid #c5cfb7}
.game-clean .answer-section .section-heading{margin-bottom:8px}
.game-clean .answer-section h2{font-size:19px}
.game-clean .selected-description{font-size:11px;line-height:1.8;margin:0 0 12px;min-height:19px;color:#8b967e}
.game-clean .answer-form{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
.game-clean .answer-form input{width:100%;min-height:50px;padding:10px 12px;font-size:21px;border:1px solid #c6ceb9;background:#faf8ef;transition:border-color 150ms,box-shadow 150ms}
.game-clean .answer-form input::placeholder{font:12px var(--sans)}
.game-clean .answer-form input:disabled{background:transparent;opacity:.4}
.game-clean .answer-form .answer-submit{grid-column:1;min-height:39px;width:100%;font-size:12px;padding:8px 14px}
.game-clean .answer-guidance{grid-column:1;font-size:10px;line-height:1.5;color:#a0a68f;margin:0}
.game-clean .answer-feedback{font-size:12px;line-height:1.8;margin-top:8px}
.game-clean .answer-feedback:empty{display:none}
.game-clean .answer-form.is-invalid input{border-color:#af725c;box-shadow:0 0 0 3px #af725c12;animation:answer-field-nudge 210ms ease-out}
.game-clean .hints-section{padding-top:14px;border-top:1px solid #d8dece}
.game-clean .hints-section h2{font-size:17px}
.game-clean .hint-list{margin-top:8px}
.game-clean .hint-list .entry-body{font-size:12px;line-height:1.8}
.game-clean .seek-record{grid-column:1/-1}
.game-clean .mini-instructions{display:none}
.game-clean .path-targets{margin:0 0 13px;padding:10px 16px;background:transparent;border:1px solid #d1d9c3;border-left:2px solid #8ba374}
.game-clean .path-target-heading h2{font-size:12px;color:#8b987e}
.game-clean .path-target-list{padding-top:5px;gap:2px 25px}
.game-clean .path-target-list li{font-size:22px;line-height:1.7}
.game-clean .path-stage{padding:10px 20px 8px;border-radius:3px}
.game-clean .path-stage .mini-stage-topline>span:first-child{display:none}
.game-clean .mini-stage-topline{justify-content:flex-end}
.game-clean .path-stage .mini-stage-bottomline{font-size:10px;min-height:24px;padding-top:4px}
.game-clean .path-stage .path-board{padding-top:8px;padding-bottom:8px}
.game-clean .path-current-heading{font-size:11px;padding:0}
.game-clean .path-current-heading>span:last-child{display:none}
.game-clean .path-composer{padding:12px 0 0;gap:0 25px}
.game-clean .path-current{min-height:46px;padding:5px 0 6px}
.game-clean .path-word-slot{min-height:35px;width:29px;font-size:23px}
.game-clean .path-actions{padding-top:6px;gap:4px 14px;border-top:0}
.game-clean .path-actions .button{min-height:38px;padding:7px 17px;font-size:12px}
.game-clean .path-actions .text-button{min-height:34px;font-size:11px}
.game-clean .path-auto-submit{padding-top:6px;font-size:10px;gap:7px}
.game-clean .path-auto-submit input{width:12px;height:12px}
.game-clean .path-line-receipt{padding:8px 12px;margin-top:8px;font-size:18px}
.game-clean .pair-memory-intro{min-height:45px;padding:0 0 10px;margin-bottom:0;border:0;background:transparent;gap:20px}
.game-clean .pair-memory-copy h2{font-size:18px;margin:0}
.game-clean .pair-memory-copy .eyebrow,.game-clean .pair-memory-copy>p:last-child{display:none}
.game-clean .pair-preview-actions{margin:0}
.game-clean .pair-preview-actions .button{font-size:12px;min-height:35px;padding:6px 19px}
.game-clean .pair-preview-actions .text-button{font-size:11px;min-height:35px}
.game-clean .pair-board{gap:10px}
.game-clean .pair-card{min-height:118px;padding:27px 12px 18px;border-radius:3px;box-shadow:none}
.game-clean .pair-card::before,.game-clean .pair-card::after{display:none}
.game-clean .pair-card[data-state=hidden]{border-color:#c4cdb6;background:#e8ecdd;color:#607a52}
.game-clean .pair-card[data-state=hidden] .card-face{font-size:27px;color:#849c6f}
.game-clean .pair-card[data-state=hidden] .card-ornament{display:none}
.game-clean .pair-card[data-state=matched]{opacity:.55}
.game-clean .pair-card .card-role{top:9px;left:11px;right:11px;font-size:10px}
.game-clean .pair-card[data-state=hidden] .card-role{font-size:12px;color:#9ba88b}
.game-clean .pair-card .card-face{font-size:21px;line-height:1.55}
.game-clean .pair-stage .mini-stage-bottomline{padding-top:4px;justify-content:flex-end}
.game-clean .pair-stage .mini-stage-bottomline .text-button{font-size:11px;min-height:32px}
.game-clean .anth-instructions{font-size:11px;color:#93a084;margin:0 0 10px}
.game-clean .anth-stage,.game-clean .conf-stage{padding:22px 30px;border:1px solid #d0d8c1;border-radius:3px;background:#faf8f04d}
.game-clean .flower-stage>.stage-eyebrow{display:none}
.game-clean .flower-keyword{font-size:78px;line-height:1.25;padding:2px 0 22px;color:var(--ink)}
.game-clean .flower-form{max-width:660px;margin-inline:auto}
.game-clean .flower-form>label{font-size:11px;margin-bottom:7px;color:#8e9b80}
.game-clean .flower-answer-row input,.game-clean .combo-fields input{font-size:23px;min-height:54px;padding-top:10px;padding-bottom:10px}
.game-clean .flower-answer-row .button,.game-clean .combo-answer-row>.button{min-height:54px;font-size:12px;padding:10px 22px}
.game-clean .stage-support{max-width:660px;margin:5px auto 0;gap:14px}
.game-clean .stage-support>.text-button{min-height:32px;font-size:11px}
.game-clean .anth-helper,.game-clean .conf-helper{font-size:12px}
.game-clean .anth-poem-meta{font-size:13px;margin-bottom:14px}
.game-clean .order-lines{gap:9px;max-width:760px;margin-inline:auto}
.game-clean .order-line{min-height:56px;padding:10px 15px;gap:15px}
.game-clean .order-line .text{font-size:23px}
.game-clean .order-line .number{font-size:11px}
.game-clean .anth-actions,.game-clean .conf-actions{margin-top:17px;gap:22px}
.game-clean .anth-actions .button,.game-clean .conf-actions .button,.game-clean .grid-actions .button{min-height:39px;padding:8px 22px;font-size:12px}
.game-clean .anth-actions .text-button,.game-clean .conf-actions .text-button,.game-clean .grid-actions .text-button{font-size:11px;min-height:35px}
.game-clean .cloze-line{font-size:34px;padding-top:11px;padding-bottom:22px}
.game-clean .blank-slot{min-width:42px;min-height:48px;font-size:31px}
.game-clean .cloze-choices{gap:9px}
.game-clean .choice-char{width:48px;height:48px;font-size:25px}
.game-clean .anth-round-result,.game-clean .conf-round-result{margin-top:12px;padding:12px 16px;min-height:0;border-left:2px solid #9db17f}
.game-clean .anth-round-result p,.game-clean .conf-round-result p{font-size:17px}
.game-clean .anth-round-result .button,.game-clean .conf-round-result .button{min-height:36px;font-size:12px;padding:7px 15px}
.game-clean .conf-round-rail{min-height:30px;margin:-2px 0 13px;padding:0;font-size:11px;gap:16px}
.game-clean .conf-round-label,.game-clean .conf-streak{font-size:11px}
.game-clean .conf-round-map .round-dot{width:17px;height:17px;min-height:17px;font-size:9px}
.game-clean .conf-round-prompt{font-size:18px;margin:0 0 6px;line-height:1.6}
.game-clean .conf-context{font-size:23px;margin:0 0 14px;padding:0;line-height:1.7}
.game-clean .grid-stage-heading{margin-bottom:12px;justify-content:flex-end}
.game-clean .grid-stage-heading>.stage-eyebrow{display:none}
.game-clean .grid-target-length{font-size:11px}
.game-clean .grid-selection-heading h3{font-size:12px;color:#8a977b}
.game-clean .grid-selection-heading>span,.game-clean .grid-operation-note{display:none}
.game-clean .grid-selection{min-height:63px;margin-bottom:12px}
.game-clean .grid-answer-slot{font-size:27px;min-width:34px;min-height:43px}
.game-clean .grid-actions{gap:6px 17px}
.game-clean .grid-memory-preview{min-height:200px;padding:8px 0 12px}
.game-clean .grid-memory-preview .eyebrow,.game-clean .grid-memory-note{display:none}
.game-clean .grid-memory-text{font-size:34px;margin:22px 0}
.game-clean .grid-memory-preview .button{min-height:38px;padding:8px 18px;font-size:12px}
.game-clean .author-excerpt{font-size:30px;padding:9px 0 23px;line-height:1.65}
.game-clean .author-options{max-width:780px;gap:11px}
.game-clean .author-option{min-height:72px;padding:12px 18px;border-radius:3px}
.game-clean .author-option .option-name{font-size:22px}
.game-clean .author-option .option-subtitle{font-size:11px;line-height:1.6}
.game-clean .author-option .option-key{font-size:11px}
.game-clean .author-question-title{font-size:16px;margin-bottom:3px}
.game-clean .combo-keywords{min-height:90px;margin-bottom:12px}
.game-clean .combo-keyword{font-size:36px;min-width:61px;height:68px}
.game-clean .combo-form{max-width:700px;margin-inline:auto}
.game-clean .combo-fields label{font-size:11px;margin-bottom:6px}
.game-clean .combo-scope-details{max-width:700px;margin:10px auto 0}
.game-clean .combo-scope-details summary{min-height:30px;font-size:10px}
.game-clean .finish-panel{padding:18px;margin-top:14px;gap:19px}
.game-clean .finish-panel h2{font-size:24px;line-height:1.6}
.game-clean .finish-panel .finish-seal{width:45px;height:45px;font-size:27px}
.game-clean .finish-actions{margin-top:12px;gap:14px}
.game-clean .finish-actions .button{min-height:38px;font-size:12px;padding:8px 18px}
.game-clean .finish-actions .text-button{font-size:12px;min-height:38px}
.game-clean .reading-support{padding:5px 0 9px;margin-bottom:12px;min-height:0;border-top:0;justify-content:flex-end}
.game-clean .reading-support.is-choice{padding:20px 24px;min-height:100px;background:#e9eddf;border:1px solid #cad4ba}
.game-clean .reading-support h2{font-size:21px}
.game-clean .reading-support.is-open{display:block;padding:19px 24px;border:1px solid #d4d5c3;background:#faf7ed}
.game-clean .reading-support .reading-heading{padding-bottom:12px}
.game-clean .reading-support .reading-heading .button{min-height:36px;font-size:12px}
.game-clean .reading-support .reading-lines p{font-size:24px;line-height:1.75}
.game-clean .reading-support .reading-ready{display:none}
.game-clean .reading-support>.text-button{font-size:11px;min-height:27px}
.game-clean .home-clean .choice-symbol,.game-clean .home-clean .choice-symbol .game-choice-icon{width:120px;height:96px;flex-basis:120px}
.game-clean .home-clean .choice-title{gap:20px}
.game-clean .home-clean .choice-name{font-size:28px}
.game-clean .home-clean .play-choice{min-height:155px;padding:20px 27px}
.game-clean .home-clean .game-choice-icon *{stroke-linecap:round;stroke-linejoin:round}
.game-clean .home-clean .choice-title{gap:22px}
.game-clean .home-clean .game-choice-icon :is(.mark-lens,.mark-pair-left,.mark-pair-right,.mark-flower-orbit,.mark-paper-moving,.mark-insert,.mark-grid-cursor,.mark-author-badge,.mark-combine-left,.mark-combine-right,.mark-combine-link,.mark-path-end){transition:translate 320ms var(--ease),rotate 320ms var(--ease),scale 320ms var(--ease),opacity 220ms var(--ease)}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-lens{translate:-3px -2px}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-route{stroke-dasharray:1;animation:mark-route-ink 450ms var(--ease) both}
.game-clean .home-clean .mark-path-end{opacity:.7}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-path-end{opacity:1}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-pair-left{translate:2px -1px}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-pair-right{translate:-2px 1px}
.game-clean .home-clean .mark-flower-orbit{transform-box:view-box;transform-origin:60px 48px}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-flower-orbit{rotate:6deg}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-paper-moving{translate:-10px 0}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-insert{translate:0 35px}
.game-clean .home-clean .mark-grid-cursor{opacity:.65;transform-box:view-box;transform-origin:60px 48px}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-grid-cursor{opacity:1;scale:1.02}
.game-clean .home-clean .mark-author-badge{transform-box:view-box;transform-origin:55px 51px}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-author-badge{scale:1.12}
.game-clean .home-clean .mark-combine-link{opacity:.75}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-combine-link{opacity:1}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-combine-left{translate:2px 0}
.game-clean .home-clean .play-choice:is(:hover,:focus-visible) .mark-combine-right{translate:-2px 0}
@media(max-width:840px){.game-clean .home-clean .choice-title{gap:14px}}
@keyframes mark-route-ink{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes answer-field-nudge{0%,100%{translate:0}35%{translate:-3px}70%{translate:2px}}
@media(max-width:1090px){.game-clean .play-nav button{font-size:11px}.game-clean .game-workspace{grid-template-columns:minmax(0,1fr) 205px;gap:0 20px}.game-clean .seek-toolbar{flex-wrap:wrap;gap:7px}.game-clean .tool-list{gap:15px}.game-clean .board-scroll{padding:15px;max-height:calc(100vh - 330px)}.game-clean .board{--cell-size:43px}.game-clean .seek-sidebar{padding-top:88px}.game-clean .path-actions{gap:4px 12px}.game-clean .home-clean .choice-symbol,.game-clean .home-clean .choice-symbol .game-choice-icon{width:98px;height:82px;flex-basis:98px}.game-clean .home-clean .choice-title{gap:10px}.game-clean .home-clean .choice-name{font-size:25px}.game-clean .home-clean .play-choice{min-height:145px;padding:18px 16px}.game-clean .conf-stage,.game-clean .anth-stage{padding:20px 24px}}
@media(max-width:840px){.game-clean .game-workspace{display:block}.game-clean .seek-toolbar{flex-wrap:nowrap}.game-clean .seek-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;padding-top:13px}.game-clean .seek-sidebar .hints-section{border:0;padding-top:16px}.game-clean .answer-section{padding-top:14px}.game-clean .answer-form{grid-template-columns:minmax(0,1fr) 76px}.game-clean .answer-form .answer-submit{grid-column:2;grid-row:1;min-height:50px}.game-clean .answer-guidance{grid-column:1/-1}.game-clean .board-scroll{max-height:calc(100vh - 295px)}.game-clean .home-clean .choice-symbol,.game-clean .home-clean .choice-symbol .game-choice-icon{width:85px;height:78px;flex-basis:85px}.game-clean .home-clean .choice-name{font-size:22px}}

/* Finite, local feedback for paired cards. Primary input never waits for animation. */
.pair-board .pair-card.is-closing{animation:pair-card-close-v14 190ms var(--ease) both;transform-origin:center}
.pair-board .pair-card.is-matched-now{animation:pair-card-match-v14 360ms var(--ease) both}
.pair-card:active:not(:disabled){translate:0 1px}
.pair-card[data-state=hidden]>.card-role{font:19px/1.5 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:.06em}
.pair-memory-copy h2:empty,.mini-instructions:empty,#mini-subtitle:empty{display:none}
.path-target-heading{justify-content:space-between}
.path-target-heading h2{font-size:14px;letter-spacing:.04em}
.path-target-heading .text-button{font-size:11px;min-height:30px}
.mini-status:empty{min-height:0;padding-top:0;padding-bottom:0}
#path-interaction-note:empty{display:none}
@keyframes pair-card-close-v14{0%{transform:scale(.97) rotateY(10deg);background:#faf7ed}100%{transform:none}}
@keyframes pair-card-match-v14{0%{box-shadow:inset 0 0 0 2px #b7aa73;transform:translateY(-2px)}100%{box-shadow:inset 0 0 0 0 #b7aa7300;transform:none}}

/* Anthology state changes; integrate after the base game styles. */
#anth-instructions:empty,#anth-status:empty{display:none}
#anthology-view .anth-stage[data-state=complete]{border-top-color:#9caf84;background:#edf0e333}
#anthology-view .anth-stage.is-round-enter{animation:anth-round-open 260ms var(--ease) both}
#flower-input{transition:border-color 150ms,box-shadow 180ms,background-color 180ms}
#flower-input:focus{box-shadow:0 0 0 3px #a8b89722}
#flower-input[aria-invalid=true]{border-color:#ad634c;background:#fcf4ea;box-shadow:0 0 0 3px #ad634c10}
#flower-used-lines .flower-used-line{animation:none}
#flower-used-lines .flower-used-line.is-new{animation:used-line-arrive 300ms var(--ease) both}
#order-lines.is-sorting{cursor:grabbing}
#order-lines.is-sorting .order-moves{opacity:.2;pointer-events:none}
#order-lines .order-moves{transition:opacity 120ms}
#order-lines .order-line.is-dragging{border-color:#a3b48d;background:#e7ecd9;box-shadow:inset 3px 0 #a3b48d}
#cloze-line .blank-slot{transition:background-color 140ms,border-color 140ms,outline-color 140ms}
#cloze-line .blank-slot.is-active{border-bottom-color:#a26f4d}
#anthology-view #cloze-submit:not(:disabled){border-color:#7b9470}
@keyframes anth-round-open{from{opacity:.4;translate:0 5px}to{opacity:1;translate:0 0}}

/* V14 conference feedback: local state, no waits between actions. */
#conference-view .grid-cell.is-returned .grid-char{animation:grid-letter-return 220ms var(--ease) both}
#conference-view .grid-answer-slot.is-entering{animation:grid-letter-arrive 240ms var(--ease) both}
#conference-view .grid-operation-note:empty{display:none}
#conference-view .author-option.is-incorrect{border-color:#b8836a;background:#f0e3d9;box-shadow:inset 3px 0 #ae6b51}
#conference-view .author-option.is-incorrect .author-option-state{color:#a56249}
#conference-view .author-option.is-new-reveal .option-key{animation:author-answer-seal 360ms var(--ease) both}
#conference-view .combo-fields input{transition:border-color 170ms var(--ease),background-color 170ms var(--ease),box-shadow 170ms var(--ease)}
#conference-view .combo-first-field.has-keyword:not(.is-invalid):not(.has-forbidden) input,#conference-view .combo-second-field.has-keyword:not(.is-invalid) input{border-bottom-color:#879e70;background:#edf1e380}
#conference-view .combo-first-field.has-forbidden input,#conference-view .combo-first-field.is-invalid input,#conference-view .combo-second-field.is-invalid input{border-bottom-color:#ad7156;background:#f3e6dc66;box-shadow:inset 0 -1px #b88262}
#conference-view .combo-fields input:focus{box-shadow:inset 0 -2px #9c8256}
#conference-view .combo-keyword.is-violated{animation:combo-forbidden-pulse 200ms ease-out both}
@keyframes grid-letter-return{from{color:#b08c55;transform:translateY(-2px)}to{color:inherit;transform:none}}
@keyframes grid-letter-arrive{from{opacity:.3;transform:translateY(5px) scale(.93)}to{opacity:1;transform:none}}
@keyframes author-answer-seal{0%{transform:scale(1.2);background:#e9d5aa}100%{transform:scale(1)}}
@keyframes combo-forbidden-pulse{0%{transform:translateX(-2px)}50%{transform:translateX(2px)}100%{transform:none}}

@media(max-height:800px){.game-clean .board{--cell-size:39px;gap:3px}.game-clean .board-scroll{padding:16px;max-height:calc(100vh - 280px);min-height:0}.game-clean .cell{font-size:25px}}
.game-clean .pair-board{grid-template-columns:repeat(4,minmax(0,1fr))}
.game-clean .anth-instructions{padding:0;margin:0 0 8px}
.game-clean .anth-poem-meta{padding:0;margin-bottom:13px;line-height:1.6}
.game-clean .order-line .text{line-height:1.5}
.game-clean .order-line button[data-move]{width:32px;height:32px;min-height:32px;font-size:16px}
.game-clean .reading-support:not(.is-choice):not(.is-open){padding:0;margin:0 0 9px;min-height:27px;border:0}
.game-clean #author-question-title{display:block;font-size:14px;margin-bottom:8px}
.game-clean .grid-cells{grid-template-columns:repeat(var(--grid-columns,3),66px);gap:9px}
.game-clean .grid-cell{width:66px;height:66px;font-size:32px}
.game-clean .grid-cell.is-selected{background:var(--ink);border-color:#809b70;color:var(--paper-light);box-shadow:inset 0 0 0 1px #afc39833}
.game-clean .grid-cell.is-correct{background:#e6edda;border-color:#98ae7f;color:#4c6941}
.game-clean .author-excerpt{font-size:27px;line-height:1.55;margin:0 auto 10px;padding:5px 0 14px;min-height:0}
.game-clean .author-excerpt::before,.game-clean .author-excerpt::after{display:none}
.game-clean .author-option{min-height:63px;padding-top:10px;padding-bottom:10px}
.game-clean .combo-keyword{width:65px;height:72px;min-width:65px;border:1px solid #bfcbb1;border-radius:3px;background:#fbf8ef;color:var(--ink);box-shadow:none;transform:none;transition:background-color 160ms,color 160ms,border-color 160ms}
.game-clean .combo-keyword::after{display:none}
.game-clean .combo-keyword:nth-child(2){transform:none}
.game-clean .combo-keyword.is-lit{background:var(--ink);border-color:#7d976b;color:var(--paper-light);box-shadow:none;animation:none}
.game-clean .combo-keyword.is-new-light{animation:combo-letter-hit 300ms var(--ease) both}
.game-clean .combo-keywords[data-mode=avoid] .combo-keyword:last-child{background:#edece1;color:#93a082;box-shadow:none;border-color:#bdc6ae}
@media(min-width:1180px){.game-clean .pair-board:has(>.pair-card:nth-child(12):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}}
