:root{color:#293f36;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ivory:#fbf8f0;--paper:#fffdf7;--sage:#e7ede3;--green:#294e40;--gold:#ad9059;--stone:#dcd8ca;--line:#d6decf;--muted:#57665d;--shadow:0 12px 36px #354b3510;background:#eeeee5;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{background:radial-gradient(at 0 0,#fffdf7b3,#0000 65%);place-items:start center;min-height:100svh;padding:clamp(.75rem,2.5vw,2.5rem);display:grid}button,input,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}::selection{color:#243f33;background:#e3d4a6}.game-button{color:#fffdf5;min-height:48px;font:inherit;cursor:pointer;touch-action:manipulation;background:linear-gradient(#456f56,#315b44);border:1px solid #315c45;border-bottom-width:3px;border-radius:.8rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:background .14s,box-shadow .14s;box-shadow:inset 0 1px #ffffff38,0 3px 6px #29443112}.game-button:disabled{color:#687166;box-shadow:none;cursor:default;background:#e5e8dd;border-color:#c7cebe}.game-button:focus-visible,.mahjong-tile:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #80612b}.game-button:active:not(:disabled){box-shadow:inset 0 2px 4px #203c3326}.mahjong-view{border:1px solid var(--line);background:var(--ivory);width:100%;min-width:0;max-width:38rem;box-shadow:var(--shadow);border-radius:1.25rem;padding:clamp(.75rem,2.5vw,1.5rem)}.game-header{margin-bottom:.5rem}.game-topline{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.game-topline .eyebrow{color:#697558;letter-spacing:.08em;text-align:right;margin:0;font-size:.625rem}.back-button{color:#3f604b;min-height:44px;box-shadow:none;white-space:nowrap;background:0 0;border-color:#0000;border-bottom-width:1px;padding:.5rem .625rem;font-size:.8125rem}.game-title{max-width:none;color:var(--green);margin:0 0 .35rem;font-size:clamp(2.1rem,6vw,3rem);line-height:1.05}.game-intro{color:var(--muted);font-size:.8125rem;line-height:1.5}.game-intro span{color:#9e8d64;padding-inline:.2rem}.game-settings{border:1px solid var(--line);background:#f0f3e9;border-radius:1rem;margin:0 0 .75rem}.game-settings>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:56px;padding:.75rem 1rem;list-style:none;display:flex}.game-settings>summary::-webkit-details-marker{display:none}.game-settings summary strong{color:var(--green);font-size:.875rem;display:block}.game-settings summary small{color:var(--muted);margin-top:.25rem;font-size:.75rem;display:block}.disclosure-icon{border-bottom:1.5px solid #65775a;border-right:1.5px solid #65775a;flex-shrink:0;width:.5rem;height:.5rem;margin-right:.125rem;transform:rotate(45deg)}.game-settings[open] .disclosure-icon{transform:rotate(225deg)}.settings-content{padding:0 .875rem 1rem}.difficulty-picker{border:0;min-width:0;margin:.75rem 0 1.25rem;padding:0}.difficulty-picker legend{color:#435c47;margin:0 0 .5rem;font-size:.75rem;font-weight:650}.difficulty-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.difficulty-options>label:nth-child(5):last-child{grid-column:1/-1}.difficulty-option{cursor:pointer;background:#fffdf7;border:1px solid #d2dac8;border-radius:.7rem;align-items:center;gap:.45rem;min-height:62px;padding:.625rem .5rem;display:flex}.difficulty-option.active{background:#e3ebd9;border-color:#6d8b61;box-shadow:inset 0 0 0 1px #6d8b61}.difficulty-option input{accent-color:#386a4c;flex-shrink:0;width:1rem;height:1rem;margin:0}.difficulty-option:focus-within{outline-offset:2px;outline:3px solid #80612b}.difficulty-option strong,.difficulty-option small{display:block}.difficulty-option strong{color:#335740;font-size:.8125rem;line-height:1.3}.difficulty-option small{color:#58674e;margin-top:.25rem;font-size:.6875rem;line-height:1.4}.settings-note{font-size:.75rem;line-height:1.5}.game-rules-panel{border-top:1px solid #d4dccc;margin-top:.75rem;padding-top:.5rem}.game-rules-panel summary,.game-meta summary{color:#4e624b;cursor:pointer;min-height:44px;padding:.625rem 0;font-size:.75rem;font-weight:600;display:list-item}.game-rules{color:var(--muted);padding-top:.25rem;font-size:.8125rem;line-height:1.65}.game-play,.game-reflection{min-width:0}.game-play>.game-stats,.game-play>.board-heading,.game-play>.game-toolbar,.game-play>.game-message,.game-play>.mahjong-tray{max-width:29rem;margin-inline:auto}.game-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 1rem;display:grid}.game-stats>div{text-align:center;background:var(--paper);border:1px solid #e0decd;border-radius:.875rem;min-height:64px;padding:.625rem .25rem}.game-stats dt{color:#65725c;font-size:.6875rem}.game-stats dd{color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;margin:.3rem 0 0;font-size:clamp(.9375rem,3.9vw,1.1875rem);font-weight:650;line-height:1.2}.record-kind{color:#65725c;margin-top:.25rem;font-size:.625rem;display:block}.board-heading{justify-content:space-between;align-items:baseline;gap:.5rem;margin:0 0 .75rem;display:flex}.board-heading h2{color:var(--green);margin:0;font-size:1.25rem;line-height:1.2}.board-heading>span{color:#64705b;white-space:nowrap;font-size:.75rem}.game-toolbar{background:#e8eedf;border:1px solid #ccd6be;border-radius:1rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:1.125rem;padding:.5rem;display:grid;box-shadow:inset 0 1px ivory}.game-toolbar .game-button{color:#355b44;background:linear-gradient(#fffdf3,#eee9d4);border-color:#bcb88f;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-width:0;min-height:72px;padding:.625rem .125rem;font-size:.75rem;line-height:1.3;display:flex;position:relative}.game-toolbar .game-button:disabled{color:#687362;background:#e2e7d9;border-color:#c6cebb}.game-toolbar svg{flex-shrink:0;width:1.5rem;height:1.5rem}.shuffle-count{overflow-wrap:anywhere;color:#65532b;font-variant-numeric:tabular-nums;background:#fff8e2;border:1px solid #c8b47f;border-radius:1rem;min-width:1.15rem;max-width:calc(100% - .4rem);padding:.1rem .2rem;font-size:.625rem;position:absolute;top:.2rem;right:.2rem}.game-message{color:#425d45;background:#edf2e5;border-left:2px solid #9fb28c;border-radius:.25rem .75rem .75rem .25rem;align-items:center;min-height:3.5rem;margin:.875rem 0 1rem;padding:.75rem .875rem;font-size:.8125rem;line-height:1.55;display:flex}.game-message.stuck{color:#795528;background:#f7eedb;border-color:#b89855}.game-wisdom{background:linear-gradient(130deg,#fffaf0,#f1ead7);border:1px solid #dfd6bb;border-radius:1rem;margin:0 0 1rem;padding:1.25rem;box-shadow:inset 0 1px #ffffffb3}.wisdom-label{color:#806a3d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem;font-size:.625rem;font-weight:650;line-height:1.5;display:block}.game-wisdom h2{color:#435640;margin:0 0 .75rem;font-size:1.125rem;line-height:1.35}.game-wisdom p{color:#4a5d46;font-family:Georgia,Times New Roman,serif;font-size:1.0625rem;line-height:1.65}.game-actions{gap:.5rem;display:flex}.game-actions>button{color:#456047;background:#f3f5e9;border-color:#bfc9af;width:100%;box-shadow:inset 0 1px #fff,0 2px 4px #354b350a}.game-meta{border-top:1px solid var(--line);margin-top:.75rem}.game-seed{color:#64705b;margin:.25rem 0 .75rem;font-size:.6875rem;line-height:1.5}.game-seed code{font-size:inherit;overflow-wrap:anywhere}.game-note{color:#65705e;font-size:.75rem;line-height:1.6}.mahjong-tray{background:#eef1e2;border:1px solid #cdd6bd;border-radius:1rem;margin:0 0 1.25rem;padding:.75rem;box-shadow:inset 0 1px #fffdf5}.tray-heading{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.tray-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.tray-heading h2{color:var(--green);margin:0;font-size:1.125rem}.tray-heading span{color:#596950;font-size:.75rem}.mahjong-tray>p{color:#5b6b50;margin-top:.5rem;font-size:.6875rem;line-height:1.5}.mahjong-tray.full{background:#f6edda;border-color:#c2a36c}.mahjong-tray.full>p{color:#795528}.win-panel{text-align:center;background:linear-gradient(#fffdf1,#e8eedc);border:1px solid #dac99c;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:.5rem;box-shadow:0 4px 15px #355b4126}.win-panel h2{color:var(--green);margin:0 0 .75rem;font-size:2rem}.win-panel p{color:#4c6345}.win-panel .win-help{margin-top:.5rem;font-size:.8125rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mahjong-view.balanced .mahjong-board{max-width:28rem}.mahjong-view.balanced .mahjong-tile,.mahjong-view.balanced .pair-ghost{border-radius:.45rem}.mahjong-view.balanced .mahjong-tile:after,.mahjong-view.balanced .pair-ghost:after{inset:2px}.mahjong-view.balanced .tile-symbol{width:70%;height:70%}@media (width<=22.5rem){.mahjong-view.balanced{padding-inline:.5rem}.mahjong-view.balanced .mahjong-board{width:100%}.game-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.game-toolbar .game-button{min-height:64px;font-size:.8125rem}.difficulty-option{gap:.35rem;padding-inline:.4rem}.settings-content{padding-inline:.5rem}}@media (width>=60rem){.mahjong-view{grid-template-rows:auto min-content minmax(0,1fr);grid-template-columns:minmax(0,1fr) 19rem;gap:0 2rem;max-width:64rem;padding:2rem;display:grid}.game-play>.game-stats,.game-play>.board-heading,.game-play>.game-toolbar,.game-play>.game-message,.game-play>.mahjong-tray{max-width:32rem}.game-header{grid-column:1/-1;margin-bottom:1.5rem}.game-settings{grid-area:2/2;align-self:start}.game-play{grid-area:2/1/4}.game-reflection{grid-area:3/2;align-self:start}.mahjong-view.balanced .mahjong-board{max-width:31rem}.game-wisdom{padding:1.5rem}.game-topline{margin-bottom:.5rem}.game-title{font-size:3rem}}@media (hover:hover){.game-button:hover:not(:disabled),.mahjong-tile:not(:disabled):hover{filter:brightness(1.04)}summary:hover{color:#2e563f}}@media (prefers-reduced-motion:reduce){.game-button{transition:none}}.mahjong-board{aspect-ratio:1;background:radial-gradient(#d4e5bc99,#0000 75%),repeating-linear-gradient(45deg,#ffffff08 0 1px,#0000 1px 7px),linear-gradient(145deg,#a8c9a0,#88b39c);border-radius:.625rem;width:calc(100% - 12px);max-width:24rem;margin-inline:auto;position:relative;box-shadow:0 0 0 4px #f4efd9,0 0 0 5px #c3b682,0 0 0 8px #d7dfc6,0 7px 16px #335d3e26,inset 0 2px 8px #446e4a20}.mahjong-board:before{content:"";pointer-events:none;border:1px solid #fffce343;border-radius:.5rem;position:absolute;inset:.625rem}.mahjong-tile,.pair-ghost{color:#2f654c;text-shadow:0 1px #fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#fffdf4 8%,#fff5de 65%,#ead8b3);border-top:1px solid #c3ac77;border-bottom:5px solid #b9a173;border-left:1px solid #c3ac77;border-right:3px solid #c5ae7d;border-radius:.625rem;width:calc(25% - 6px);height:calc(25% - 12px);min-height:44px;padding:0;font:600 clamp(1.75rem,7vw,2.5rem) Georgia,Times New Roman,serif;position:absolute;box-shadow:inset 0 2px 1px #fffdf8,inset 2px 0 #ffffffa6,inset -2px -2px 3px #b9935938,0 2px 1px #735c3840,1px 4px 6px #304c3938}.mahjong-tile:after,.pair-ghost:after{content:"";pointer-events:none;border:1px solid #c7aa6a70;border-color:#fffdf4 #c7aa6a70 #c7aa6a70 #fffdf4b3;border-radius:.35rem;position:absolute;inset:3px}.mahjong-tile.blocked{color:#5d7059;cursor:default;background:linear-gradient(145deg,#eee9d7,#d6dac3);border-color:#b5b394 #b3b28f #9eaa88 #b5b394;box-shadow:inset 0 1px #fff7e3,inset 1px 0 #fff7e380,0 2px 3px #365b4033}.mahjong-tile.selected{color:#6e4a16;outline-offset:-3px;background:linear-gradient(145deg,#fff9d5,#ffe5a1);border-color:#aa7b26;outline:3px solid #d5a43d;box-shadow:inset 0 2px #fff9e7,0 0 0 2px #fff0bca6,0 4px 8px #75542233}.mahjong-board{isolation:isolate}.mahjong-tile,.pair-ghost{border-bottom-width:5px;border-radius:.55rem;min-width:0;min-height:0;transition:background .18s,border-color .18s,box-shadow .18s}.mahjong-tile.upper,.pair-ghost.upper{border-bottom-width:6px;box-shadow:inset 0 2px 1px #fffdf8,inset 2px 0 #ffffffa6,inset -2px -2px 3px #b9935938,0 3px 1px #6e614b73,1px 7px 8px #294d3e70}.mahjong-tile.upper.blocked{box-shadow:inset 0 1px #fff7e3,inset 1px 0 #fff7e380,0 3px 1px #59654966,1px 6px 6px #294d3e52}.mahjong-tile.upper.selected{box-shadow:inset 0 2px #fff9e7,0 0 0 2px #fff0bca6,0 8px 9px #75542259}.tile-symbol{filter:drop-shadow(0 1px #fff9);pointer-events:none;width:65%;height:65%;margin:auto;display:block}.mahjong-tile.blocked .tile-symbol{opacity:.92;filter:saturate(.8)}.mahjong-tile.selected .tile-symbol{filter:drop-shadow(0 1px #fff)}.tray-slot{color:#6b785b;background:#a8b98e26;border:1px dashed #a9b796;border-radius:.6rem;place-items:center;height:clamp(3.5rem,18vw,5.25rem);min-height:56px;font:1rem Georgia,serif;display:grid}.tray-slot.occupied{background:linear-gradient(145deg,#fffffa,#f8edcf);border:1px solid #cdbb8a;border-bottom:4px solid #c5b785;box-shadow:inset 0 1px #fff,0 3px 5px #37573f20}.tray-slot .tile-symbol{width:65%;height:65%}.mahjong-tile.hinted,.tray-slot.hinted{outline-offset:-4px;outline:4px solid #bd850e;box-shadow:inset 0 0 0 6px #fff0b7,0 0 0 2px #efc75b}.mahjong-tile.hinted:after{border-color:#bd850e}@media (prefers-reduced-motion:reduce){.mahjong-tile.hinted,.tray-slot.hinted{transition:none;animation:none}}@media (width<=22.5rem){#root:has(.large-game){padding-inline:.75rem}}.pair-ghost{pointer-events:none;transform-origin:50%;will-change:transform, opacity;place-items:center;animation:.25s ease-out both pair-vanish;display:grid}.pair-ghost:before{content:"";border-radius:inherit;pointer-events:none;background:#fff0b7;border:2px solid #e5bd5e;animation:.25s ease-out both pair-flash;position:absolute;inset:1px}.tray-slot{position:relative}.pair-ghost.tray-removal{z-index:2;width:100%;height:100%;position:absolute;inset:0}@keyframes pair-vanish{0%,18%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.82)}}@keyframes pair-flash{0%{opacity:0}25%{opacity:.55}to{opacity:0}}@media (prefers-reduced-motion:reduce){.pair-ghost{animation:none;display:none}.pair-ghost:before{animation:none}}@media (width>=22.5rem) and (width<=23.5rem){.game-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=36rem){.game-toolbar .game-button{font-size:.8125rem}}.wisdom-dialog{box-sizing:border-box;color:#294e40;background:#fbf8f0;border:1px solid #cbbb92;border-radius:22px;width:min(36rem,100% - 24px);max-height:calc(100dvh - 32px);padding:0;box-shadow:0 20px 70px #172d3440}.wisdom-dialog::backdrop{background:#203b32a6}.wisdom-dialog-content{overflow-wrap:anywhere;padding:clamp(20px,5vw,36px)}.wisdom-dialog h1{margin:10px 0 18px;font:500 clamp(1.8rem,6vw,2.5rem)/1.15 Georgia,serif}.wisdom-dialog p{line-height:1.65}.victory-mark{color:#967530;font-size:2rem}.victory-new{width:100%}.victory-stats{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;display:grid}.victory-stats div{background:#e7ede3;border-radius:12px;padding:12px}.victory-stats dt{color:#57665d;font-size:.8rem}.victory-stats dd{margin:5px 0 0;font-weight:600}.victory-thought,.wisdom-list li{background:#fffdf7;border:1px solid #ded6bf;border-radius:14px;margin:20px 0;padding:18px}.victory-thought>p,.wisdom-list li>p{font:1.15rem/1.65 Georgia,serif}.victory-actions{gap:12px;display:grid}.victory-actions .game-button,.wisdom-dialog .game-button{white-space:normal;min-height:44px}.victory-actions .secondary{color:#294e40;background:#e7ede3}.wisdom-storage-note{color:#57665d;font-size:.78rem}.victory-thought>.wisdom-storage-note{font:.78rem/1.6 Segoe UI,sans-serif}.wisdom-list{padding:0;list-style:none}.collection-empty{border:1px dashed #b6c4ad;border-radius:14px;padding:20px}.collection-button{color:#294e40;background:#e7ede3;min-height:44px;margin-top:12px}.wisdom-dialog button:focus-visible{outline-offset:4px;outline:3px solid #ad9059}.welcome{border:1px solid var(--stone);background:var(--ivory);width:100%;max-width:72rem;box-shadow:var(--shadow);border-radius:1.5rem;overflow:hidden}h1,h2,h3{overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{letter-spacing:-.035em;margin:0 0 1.25rem;font-size:clamp(2.65rem,6vw,4.75rem);line-height:1.08}p{color:var(--muted);margin:0;font-size:1rem;line-height:1.7}.eyebrow{color:#806b42;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1rem;font-size:.6875rem;font-weight:650}.welcome-intro{color:var(--green);background:linear-gradient(125deg,#f5f4e7,#e3ebdf);grid-template-columns:minmax(0,1fr) 10rem;align-items:center;gap:3rem;padding:clamp(1.75rem,6vw,4.5rem);display:grid;position:relative}.welcome-intro:before{content:"";pointer-events:none;border:1px solid #ad905930;border-radius:1rem;position:absolute;inset:.75rem}.intro-copy{max-width:38rem;position:relative}.intro-copy h1{max-width:13ch}.intro-copy>p:last-child{color:#4f6557;max-width:34rem;font-size:1.0625rem}.temple{color:#8f986d;opacity:.7;padding:1rem 0}.temple-pediment{clip-path:polygon(50% 0,100% 88%,100% 100%,0 100%,0 88%,50% 0,50% 14%,9% 87%,91% 87%,50% 14%);background:currentColor;height:4rem}.temple-columns{border-block:3px double;justify-content:space-around;padding:.6rem .5rem;display:flex}.temple-columns span{background:repeating-linear-gradient(90deg,#0000 0 5px,#8f986d55 5px 6px);border-block:5px double;width:1.5rem;height:7rem;box-shadow:inset 1px 0,inset -1px 0}.temple-steps{border-block:1px solid;height:.65rem;margin:.35rem -.5rem 0}.greek-ornament{opacity:.28;background:repeating-linear-gradient(90deg,var(--gold) 0 1px,transparent 1px 11px,var(--gold) 11px 12px,transparent 12px 24px);border-block:1px solid var(--gold);height:.5rem;margin:1.5rem clamp(1.25rem,5vw,4.5rem) 0}.welcome .free-play{border:1px solid var(--line);background:var(--paper);border-radius:1.125rem;margin:1.5rem clamp(1.25rem,5vw,4.5rem) 0;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 4px 16px #354b3508}.welcome .free-play .eyebrow{margin-bottom:.5rem}.welcome .free-play h2{color:var(--green);margin:0 0 .65rem;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.welcome .free-play>p:not(.eyebrow){max-width:37rem}.welcome .free-play .game-button{min-width:11rem;margin-top:1.25rem}.virtues{padding:clamp(2rem,4vw,3rem) clamp(1.25rem,5vw,4.5rem) clamp(2rem,5vw,4rem)}.virtues h2{color:var(--green);margin:0 0 1.25rem;font-size:clamp(1.4rem,3vw,1.8rem)}.virtue-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem;display:grid}.virtue-card{border:1px solid var(--stone);background:#f6f3e9;border-radius:1rem;padding:1.25rem}.virtue-numeral{color:#80683b;background:#fff9e9;border:1px solid #b99e695c;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;margin-bottom:1rem;font:1rem Georgia,serif;display:grid}.virtue-card h3{color:var(--green);margin:0 0 .5rem;font-size:1.3rem;line-height:1.3}.virtue-card p{font-size:.875rem;line-height:1.6}@media (width<=56rem){.virtue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-intro{grid-template-columns:minmax(0,1fr) 8rem;gap:2rem}}@media (width<=38rem){.welcome-intro{grid-template-columns:minmax(0,1fr)}.temple{display:none}.virtue-grid{grid-template-columns:1fr}.virtue-card{grid-template-columns:2.25rem minmax(0,1fr);column-gap:1rem;display:grid}.virtue-numeral{grid-row:1/3;margin:0}.virtue-card h3,.virtue-card p{grid-column:2}.welcome .free-play .game-button{width:100%}}@media (width>=56rem){.welcome .free-play{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:2rem;display:grid}.welcome .free-play .eyebrow,.welcome .free-play h2,.welcome .free-play>p{grid-column:1}.welcome .free-play .game-button{grid-area:1/2/4;margin:0}}.app-shell{width:100%;min-width:0;max-width:72rem}.app-content{outline:none}.game-page{width:100%}.game-page>.mahjong-view{margin-inline:auto}.app-nav{border:1px solid var(--line);background:#fffdf7ed;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.5rem;display:flex;box-shadow:0 3px 12px #354b3508}.nav-brand{color:#8b7341;align-items:center;gap:.75rem;padding-left:.5rem;font:1.2rem Georgia,serif;display:flex}.nav-brand>span{max-width:8rem;color:var(--green);font:600 .8rem/1.4 Segoe UI,sans-serif}.nav-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;display:grid}.nav-button{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8rem;display:flex}.nav-button svg{flex-shrink:0;width:21px;height:21px}.nav-button[aria-current=page]{color:var(--green);background:var(--sage);border-color:#cad5bd;font-weight:650}.nav-button:hover{background:#edf1e7}.nav-button:focus-visible,.skip-link:focus-visible{outline-offset:2px;outline:3px solid #80612b}.skip-link{background:var(--green);color:#fff;z-index:100;border-radius:.5rem;padding:1rem;position:absolute;top:-10rem}.skip-link:focus{top:.5rem}.library-page,.journey-page{border:1px solid var(--stone);background:var(--ivory);box-shadow:var(--shadow);border-radius:1.5rem;padding:clamp(1.25rem,5vw,3.5rem)}.library-page h1,.journey-page h1{max-width:18ch;color:var(--green);font-size:clamp(2.1rem,5vw,3.5rem)}.library-page>p,.journey-page>p{max-width:42rem}.game-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem;display:grid}.library-card{border:1px solid var(--line);background:var(--paper);border-radius:1.125rem;flex-direction:column;display:flex;overflow:hidden}.library-card.playable{border-color:#a7b89b;box-shadow:0 8px 20px #294e4010}.library-copy{flex-direction:column;flex:1;align-items:start;gap:.75rem;padding:1.4rem;display:flex}.library-copy h2{color:var(--green);margin:.25rem 0 0;font-size:1.65rem}.library-copy p{font-size:.95rem}.library-copy .library-meta{color:#68715e;font-size:.75rem}.library-start{width:100%;margin-top:auto}.game-badge{color:#35553e;background:#e5eddd;border-radius:2rem;padding:.3rem .6rem;font-size:.7rem;font-weight:650}.planned-badge{color:#746348;background:#eee9da}.library-art{background:#e6eddf;place-content:center;gap:6px;height:9rem;display:grid;position:relative}.mahjong-art{background:radial-gradient(at top,#e1ebd8,#b7c9b5);justify-content:center;align-items:center;gap:8px;display:flex}.mahjong-art span{color:#68834e;background:#fff9e8;border:1px solid #b8a477;border-bottom:5px solid #c4baa0;border-radius:10px;place-items:center;width:57px;height:78px;font:2rem Georgia,serif;display:grid;transform:rotate(-10deg);box-shadow:0 5px 7px #294e4020}.mahjong-art span:nth-child(2){color:#b09044;transform:translateY(-6px)}.mahjong-art span:last-child{transform:rotate(10deg)}.blocks-art,.nonogram-art{grid-template-rows:repeat(3,25px);grid-template-columns:repeat(3,25px)}.blocks-art{background:#eee5d7}.blocks-art span{background:#a6b69a;border-radius:5px;box-shadow:inset 0 2px #ffffff60,0 2px #889779}.blocks-art span:nth-child(3n){background:#c1a56e}.blocks-art span:nth-child(5){visibility:hidden}.nonogram-art{background:#e4e8e7;gap:3px}.nonogram-art span{background:#7e9d91;border:1px solid #fff8;border-radius:3px}.nonogram-art span:nth-child(2n){background:#fffaf0}.sort-art{background:#e9e4ed;grid-template-rows:repeat(3,24px);grid-template-columns:repeat(3,24px)}.sort-art span{background:#a48caa;border:2px solid #fff7;border-radius:50%}.sort-art span:nth-child(3n+1){background:#94af9f}.sort-art span:nth-child(3n+2){background:#c3a66f}.journey-lead{color:#846b3f;margin-bottom:1.25rem;font:1.35rem Georgia,serif}.journey-preview{background:linear-gradient(130deg,#fffaf0,#f1ead7);border:1px solid #dfd6bb;border-radius:1rem;max-width:42rem;margin:2rem 0;padding:clamp(1.25rem,4vw,2rem)}.journey-preview>span:first-child{color:#9a8047;font-size:2rem}.journey-preview h2{color:var(--green);margin:.5rem 0 1rem;font-size:1.7rem}.journey-preview .game-badge{margin-top:1.25rem;display:inline-block}.journey-page>.game-button{margin-top:1.5rem}.session-note{border-left:2px solid var(--gold);background:var(--sage);border-radius:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.8rem}.welcome>.collection-button{margin-left:clamp(1.25rem,5vw,4.5rem)}@media (width<=50rem){.nav-brand{display:none}.nav-items{width:100%}.app-nav{gap:0;margin-bottom:.75rem;padding:.25rem}.nav-button{flex-direction:column;gap:.2rem;min-height:56px;padding:.4rem .1rem;font-size:.6875rem;line-height:1.3}.nav-button svg{width:19px;height:19px}}@media (width<=38rem){.game-library{grid-template-columns:1fr}.welcome-intro{padding-block:1.5rem}.welcome-intro h1{font-size:2.5rem}.welcome-intro .eyebrow{margin-bottom:.65rem}.welcome-intro .intro-copy>p:last-child{font-size:1rem}}.app-content h1[tabindex="-1"]:focus{outline:none}.narration-player{background:#edf2e6;border:1px solid #cbd5bf;border-radius:1rem;margin:1rem 0 1.25rem;padding:1rem}.narration-heading{color:#35553e;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.8rem;display:flex}.narration-heading>span{color:#65715f;font-size:.75rem}.narration-heading strong{align-items:center;gap:.5rem;display:flex}.narration-heading svg{flex-shrink:0;width:20px;height:20px}.narration-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.narration-player .game-button{min-height:44px;padding:.65rem .5rem;font-size:.75rem}.narration-controls .game-button:not(:first-child),.audio-settings .game-button{color:#35553e;background:#fffaf0;border-color:#bdc7ac}.narration-player .game-button:disabled{color:#737a6b;background:#e3e8dc}.narration-player p{font-size:.8rem;line-height:1.6}.audio-status{min-height:2.5em;margin-top:.75rem}.audio-unavailable{color:#795528;margin-top:.6rem}.audio-settings summary{cursor:pointer;color:#35553e;min-height:44px;padding:.6rem 0;font-size:.8rem}.audio-settings label{color:#35553e;margin:.85rem 0;font-size:.8rem;display:block}.audio-settings select,.audio-settings input{color:#294e40;width:100%;min-width:0;max-width:100%;min-height:44px;font:inherit;background:#fffdf7;border:1px solid #b7c3a9;border-radius:.5rem;margin-top:.4rem;padding:.5rem;display:block}.audio-settings input{accent-color:#436c50;padding:0}.audio-settings p{margin-top:.75rem}.audio-settings select:focus-visible,.audio-settings input:focus-visible{outline-offset:2px;outline:3px solid #ad9059}@media (width<=38rem){.narration-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}.narration-player{margin:.85rem 0 1rem;padding:.65rem .75rem}.audio-compact-row{align-items:center;gap:.75rem;display:flex}.narration-controls{flex-shrink:0;gap:.35rem;display:flex}.narration-controls .game-button{justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .7rem;display:inline-flex}.narration-controls .game-button[hidden]{display:none}.narration-controls .audio-stop{color:#35553e;background:#fffaf0;width:44px;padding:.5rem}.audio-brief{flex:1;min-width:0}.audio-brief strong{color:#35553e;font-size:.75rem;font-weight:600;display:block}.audio-brief .audio-status{min-height:0;margin:.15rem 0 0;font-size:.7rem;line-height:1.4}.audio-settings summary{min-height:36px;padding-block:.35rem;font-size:.7rem;display:list-item}.audio-timeline{align-items:center;gap:.65rem;margin-top:.45rem;display:flex}.audio-timeline progress{accent-color:#557653;background:#d3ddc8;border:0;border-radius:4px;flex:1;min-width:0;height:4px;overflow:hidden}.audio-timeline progress::-webkit-progress-bar{background:#d3ddc8;border-radius:4px}.audio-timeline progress::-webkit-progress-value{background:#557653;border-radius:4px}.audio-timeline progress::-moz-progress-bar{background:#557653}.audio-time{color:#57665d;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.65rem}.audio-settings .game-button{margin-top:.6rem}.audio-use-recording{min-height:44px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.75rem}@media (width<=38rem){.audio-compact-row{gap:.5rem}.audio-brief strong{font-size:.7rem}.audio-brief .audio-status{font-size:.65rem}.narration-player{padding:.55rem .6rem}}.audio-settings summary{min-height:44px}.audio-brief strong{overflow-wrap:anywhere}.narration-player{border-radius:.8rem;grid-template-columns:minmax(0,1fr);align-items:center;gap:0 .5rem;padding:.25rem .375rem;display:grid;position:relative}.narration-player:has(.audio-settings){padding-inline-end:54px}.recorded-player{grid-template-columns:minmax(0,1fr) minmax(100px,.7fr)}.audio-compact-row{flex-wrap:wrap;gap:.2rem .5rem;min-width:0}.audio-brief{min-width:2.25rem}.audio-brief strong{display:none}.audio-brief .audio-status{margin:0;font-size:.7rem;line-height:1.45}.audio-timeline{gap:.4rem;min-width:0;margin:0}.audio-timeline progress{min-width:20px}.narration-player>.audio-unavailable{grid-column:1/-1}.audio-settings{grid-column:1/-1;min-width:0}.audio-settings[open]{border-top:1px solid #d3ddc7;margin-top:.5rem;margin-right:-48px;padding-top:.5rem}.audio-settings>summary{color:#53694d;border-radius:.6rem;place-items:center;width:44px;height:44px;min-height:44px;padding:0;list-style:none;display:grid;position:absolute;inset-block-start:.25rem;inset-inline-end:.375rem}.audio-settings>summary::-webkit-details-marker{display:none}.audio-settings>summary::marker{content:""}.audio-settings>summary:hover,.audio-settings[open]>summary{background:#dfe8d5}.audio-settings>summary:focus-visible{outline-offset:1px;outline:3px solid #ad9059}.audio-settings>summary svg{width:19px;height:19px}.audio-settings-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=48rem){.recorded-player{grid-template-columns:minmax(0,1fr)}.recorded-player .audio-timeline{grid-column:1/-1;margin-top:.15rem}.audio-compact-row{gap:.2rem .35rem}}.scene-transition-cover{z-index:1000;opacity:0;pointer-events:none;background:#f7f6ef;position:fixed;inset:0}.scene-transition-cover[data-phase=out]{opacity:1;pointer-events:auto;transition:opacity .2s ease-out}.scene-transition-cover[data-phase=waiting]{opacity:1;pointer-events:auto}.scene-transition-cover[data-phase=in]{opacity:0;pointer-events:auto;transition:opacity .3s ease-in}.scene-transition-cover>span{text-align:center;color:#5f6b59;font-size:.85rem;display:none;position:absolute;inset:45% 1rem auto}.scene-transition-cover[data-phase=waiting]>span{visibility:hidden;animation:0s linear .2s forwards scene-loading-label;display:block}@keyframes scene-loading-label{to{visibility:visible}}.scene-managed .chapter-copy{animation:none}.scene-managed .scene-previous{animation:none;display:none}@media (prefers-reduced-motion:reduce){.scene-transition-cover{transition:none!important}.scene-transition-cover[data-phase=waiting]>span{visibility:visible;animation:none}}.elyra-page .chapter-progress{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.elyra-page .chapter-jump{min-height:64px;font-size:.8rem}.elyra-page .chapter-choice{min-height:48px}.elyra-page .chapter-copy p{white-space:pre-line}.elyra-opening>*+*,.elyra-closing>*+*{margin-top:.9rem}.elyra-closing{margin-top:1rem}.elyra-illustration{object-fit:contain;border-radius:.75rem;width:100%;max-width:100%;height:auto;margin:1.25rem 0;display:block}.elyra-prompt{margin-top:1.5rem;font-weight:600}.elyra-hint{background:#eef2f4;border:1px solid #ccd6d8;border-radius:.75rem;padding:1rem}.elyra-followup{background:linear-gradient(130deg,#edf1f4,#fffaf0);border:1px solid #c5d1ca;border-radius:1.2rem;margin:1.25rem 0;padding:clamp(1rem,3vw,1.6rem)}.elyra-followup h2{margin:.5rem 0}.elyra-epilog{margin:1.5rem 0}@media (width>=50rem){.elyra-page .chapter-progress{grid-template-columns:repeat(6,minmax(0,1fr))}}.chapter-page>h1{max-width:23ch;font-size:clamp(2rem,4.8vw,3.3rem)}.chapter-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.chapter-top .eyebrow{margin:0}.chapter-exit{color:#294e40;background:#e7ede3;border-color:#c2ceb8;min-height:44px;font-size:.75rem}.chapter-progress{gap:.5rem;margin:1.5rem 0;padding:0;list-style:none;display:flex}.chapter-progress li{color:#65715f;text-align:center;flex-direction:column;flex:1;align-items:center;gap:.4rem;min-width:0;font-size:.7rem;display:flex}.chapter-progress li>span:first-child{background:#f6f3e9;border:1px solid #c6ceb8;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.chapter-progress li[aria-current]{color:#294e40;font-weight:700}.chapter-progress li[aria-current]>span:first-child{color:#fffaf0;background:#355f49;border-color:#355f49}.chapter-panel,.chapter-panel.journey-preview{background:#fffdf7;border:1px solid #d7d8c5;border-radius:1.25rem;max-width:58rem;margin:0 auto;padding:0;animation:.18s ease-out chapter-arrive;overflow:hidden}.chapter-scene{background:#ede0c3;position:relative}.chapter-scene svg{width:100%;height:clamp(150px,28vw,260px);display:block}.illustrated-scene{border-bottom:1px solid #cbbc9c;height:clamp(160px,30vw,320px);overflow:hidden}.illustrated-scene img{object-fit:cover;object-position:center 30%;width:100%;height:100%;display:block}.illustrated-scene:after{content:"";pointer-events:none;background:linear-gradient(#0000 72%,#263d3026);position:absolute;inset:0}.illustrated-scene>span{z-index:1;border:1px solid #fff9;box-shadow:0 2px 6px #243f3320}.chapter-scene>span{letter-spacing:.04em;color:#4e5b48;background:#fffaf0e8;border-radius:20px;padding:.3rem .6rem;font-size:.65rem;position:absolute;bottom:12px;left:18px}.scene-sun{fill:#d7ac62}.scene-distance{fill:#c8c6a2}.scene-building{fill:#c39b70;stroke:#9f7c56;stroke-width:2px}.scene-lines{stroke:#8b7255;stroke-width:4px;stroke-linecap:round}.scene-columns{stroke:#b08a5a;stroke-width:17px}.scene-boat{fill:#8c6e4b}.scene-sail{fill:#fff3d2;stroke:#967c52;stroke-width:3px}.scene-water{stroke:#789e9b;stroke-width:6px}.modern-scene{background:#dcebea}.modern-scene .scene-sun{fill:#ead2a0}.modern-scene .scene-distance{fill:#b5cfbf}.modern-scene .scene-building{fill:#94b4b5;stroke:#739698}.modern-scene .scene-lines{stroke:#779591}.scene-train{fill:#fff8e6;stroke:#658b83;stroke-width:3px}.scene-windows{fill:#4a7478}.scene-detail{fill:#536e6e}.chapter-copy{padding:clamp(1.25rem,4vw,2.5rem)}.chapter-copy h2{color:#294e40;margin:0 0 1rem;font-size:clamp(1.5rem,3.5vw,2rem)}.chapter-copy h2:focus{outline:none}.chapter-copy>p+p{margin-top:.9rem}.chapter-copy p{max-width:42rem}.chapter-fiction,.chapter-copy .chapter-note{color:#746a51;font-size:.75rem}.chapter-copy .chapter-fiction{margin:-.25rem 0 1rem}.chapter-choices{gap:.75rem;margin:1.5rem 0;display:grid}.chapter-choice{text-align:left;color:#294e40;cursor:pointer;background:#f5f5e9;border:1px solid #c9d3bd;border-radius:.875rem;width:100%;min-height:64px;padding:1rem 1.125rem}.chapter-choice strong,.chapter-choice span{display:block}.chapter-choice strong{margin-bottom:.35rem;font-size:1rem}.chapter-choice span{color:#57665d;font-size:.875rem;line-height:1.6}.chapter-choice[aria-pressed=true]{background:#e6eede;border:2px solid #436c50;padding:calc(1rem - 1px) calc(1.125rem - 1px)}.chapter-choice:focus-visible{outline-offset:3px;outline:3px solid #ad9059}.chapter-reflection{background:#f5efdf;border-left:3px solid #b49b60;border-radius:.5rem;padding:1.125rem}.chapter-reflection small{color:#65715f;margin-top:.75rem;line-height:1.5;display:block}.chapter-thought{background:#f5efdf;border:1px solid #ded2b0;border-radius:1rem;margin:1.5rem 0;padding:1.25rem}.chapter-thought>p{margin-bottom:1rem;font:1.2rem/1.7 Georgia,serif}.chapter-thought>.wisdom-storage-note{margin:.75rem 0 0;font:.75rem/1.6 Segoe UI,sans-serif}.chapter-actions{gap:.75rem;margin:1.5rem 0 1rem;display:flex}.chapter-actions .game-button{flex:1;min-height:48px}.chapter-actions .secondary{color:#35553e;background:#edf1e5;border-color:#c2ceb8}@keyframes chapter-arrive{0%{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}@media (width<=38rem){.chapter-top{align-items:start}.chapter-top .eyebrow{max-width:10rem;font-size:.6rem}.chapter-progress li{font-size:.625rem}.chapter-progress{gap:.2rem}.chapter-copy{padding:1.125rem}.chapter-exit{max-width:10rem;padding:.5rem .625rem}}@media (prefers-reduced-motion:reduce){.chapter-panel,.chapter-panel.journey-preview{animation:none}}.chapter-top-actions{align-items:center;gap:.5rem;display:flex}.chapter-restart{color:#49644e;min-height:44px;box-shadow:none;background:0 0;border-color:#c2ceb8;padding:.5rem .6rem;font-size:.75rem}.chapter-progress{gap:.35rem}.chapter-progress li{display:block}.chapter-jump{color:#52664e;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.75rem;flex-direction:column;justify-content:start;align-items:center;gap:.4rem;width:100%;min-height:76px;padding:.45rem .15rem;font-size:.7rem;line-height:1.4;display:flex}.chapter-jump>span:first-child{background:#e9efdf;border:1px solid #bac8aa;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:relative}.chapter-jump small{color:#355b44;background:#f9f5e8;border-radius:50%;width:14px;height:14px;font-size:.6rem;position:absolute;top:-.3rem;right:-.45rem}.chapter-jump>span:last-child{-webkit-hyphens:auto;hyphens:auto;max-width:100%}.chapter-jump[aria-current=step]{color:#294e40;background:#edf2e5;border-color:#d3ddc7;font-weight:700}.chapter-jump[aria-current=step]>span:first-child{color:#fffaf0;background:#355f49;border-color:#355f49}.chapter-jump:disabled{color:#737568;cursor:default}.chapter-jump:disabled>span:first-child{background:#f4f2e8;border-color:#d5d5c4}.chapter-jump:hover:not(:disabled){background:#edf2e5}.chapter-jump:focus-visible{outline-offset:2px;outline:3px solid #ad9059}.chapter-panel,.chapter-panel.journey-preview{animation:none}.chapter-copy{animation:.24s ease-out chapter-copy-in}.scene-stage{isolation:isolate;background:#ede0c3;height:clamp(160px,30vw,320px);position:relative;overflow:hidden}.scene-current,.scene-previous{position:absolute;inset:0}.scene-current{z-index:1}.scene-previous{z-index:2;pointer-events:none}.scene-stage.is-ready .scene-previous{animation:.36s ease-out forwards scene-dissolve}.scene-stage .chapter-scene,.scene-stage .chapter-scene svg{height:100%}.scene-stage .illustrated-scene img{transform-origin:50% 45%;animation:24s ease-out both scene-camera}@keyframes scene-dissolve{0%{opacity:1}to{opacity:0}}@keyframes scene-camera{0%{transform:scale(1.01)translate(-.1%)}to{transform:scale(1.04)translate(.25%)}}@keyframes chapter-copy-in{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media (width<=38rem){.chapter-top{flex-wrap:wrap;gap:.6rem}.chapter-top-actions{margin-left:auto}.chapter-jump{min-height:82px;font-size:.625rem}.chapter-progress{gap:.15rem}}@media (prefers-reduced-motion:reduce){.chapter-copy,.scene-stage .illustrated-scene img,.scene-stage.is-ready .scene-previous{animation:none;transform:none}.scene-previous{display:none}}.chapter-jump>.progress-label-full,.chapter-jump>.progress-label-short{max-width:100%}.chapter-jump>.progress-label-short{display:none}@media (width<=38rem){.chapter-jump>.progress-label-full{display:none}.chapter-jump>.progress-label-short{display:block}}.chapter-bridge,.chapter-everyday{color:#384d40;background:#f3f1e7;border-left:3px solid #b59a63;border-radius:0 12px 12px 0;margin:1.2rem 0;padding:1rem 1.15rem}.chapter-bridge p,.chapter-everyday p{margin-bottom:0}.chapter-audio-note{color:#626758;font-size:.85rem;line-height:1.6}.scene-placeholder{color:#384d40;background:#eee8d9;flex-direction:column;justify-content:center;gap:.45rem;margin:0;padding:1rem;font-size:.85rem;line-height:1.45;display:flex;position:absolute;inset:0}.scene-placeholder p{margin:0}.scene-error{padding-bottom:2.8rem}.scene-description{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.control-exercise-offer{background:linear-gradient(125deg,#faf5e7,#eef2e6);border:1px solid #d9ceb0;border-radius:1rem;margin-top:1.5rem;padding:1.25rem}.control-exercise-offer .eyebrow{margin-bottom:.65rem;font-size:.625rem}.control-exercise-offer h3{color:#294e40;margin:0 0 .65rem;font-size:1.4rem}.control-exercise-offer>p{font-size:.9rem}.exercise-offer-actions,.exercise-actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.exercise-offer-actions .game-button{flex:10rem}.exercise-offer-actions .exercise-dismiss,.exercise-skip,.exercise-back{color:#355b44;background:#f8f6ea;border-color:#c5cfb8}.control-exercise-offer .exercise-note,.wisdom-dialog .exercise-note{color:#68715e;margin-top:1rem;font:.75rem/1.6 Segoe UI,sans-serif}.exercise-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.exercise-top .eyebrow{margin:0;font-size:.6rem}.wisdom-dialog .exercise-intro{font-size:.875rem}.exercise-progress{color:#65715f;align-items:center;gap:1rem;margin:1.25rem 0;font-size:.75rem;display:flex}.exercise-progress>span{white-space:nowrap}.exercise-progress progress{accent-color:#557653;width:100%;min-width:0;height:5px}.exercise-card{animation:.16s ease-out exercise-arrive}.exercise-card h2,.exercise-complete h2{color:#294e40;margin:0 0 1rem;font-size:1.4rem;line-height:1.35}.exercise-card h2:focus,.exercise-complete h2:focus{outline:none}.wisdom-dialog .exercise-statement{color:#344e3e;background:#f5efde;border-left:3px solid #b89d60;border-radius:.5rem;padding:1rem;font:1.15rem/1.55 Georgia,serif}.exercise-categories{border:0;min-width:0;margin:1.25rem 0;padding:0}.exercise-categories legend{color:#65715f;margin-bottom:.75rem;font-size:.8rem}.exercise-category{color:#35553e;cursor:pointer;background:#f7f7ee;border:1px solid #cbd6bd;border-radius:.75rem;align-items:center;gap:.7rem;min-height:56px;margin:.6rem 0;padding:.85rem;font-size:.9rem;line-height:1.45;display:flex}.exercise-category input{accent-color:#436c50;flex-shrink:0;width:19px;height:19px;margin:0}.exercise-category.selected{background:#e5eedc;border-color:#557653;box-shadow:inset 0 0 0 1px #557653}.exercise-category{transition:background-color .14s,border-color .14s}.exercise-category:focus-within{outline-offset:2px;outline:3px solid #ad9059}.exercise-feedback{background:#edf2e6;border-radius:.75rem;padding:1rem}.wisdom-dialog .exercise-feedback p{font-size:.9rem}.exercise-actions .game-button{flex:7rem}.wisdom-dialog .exercise-skip{width:100%;box-shadow:none;color:#596b50;background:0 0;border-color:#0000;margin-top:.75rem}.exercise-return{width:100%;margin-top:1rem}.wisdom-dialog .exercise-leave{color:#355b44;width:100%;box-shadow:none;background:0 0;border-color:#c5cfb8;margin-top:.5rem}.exercise-complete>p+p{margin-top:1rem}@keyframes exercise-arrive{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.exercise-card{animation:none}.exercise-category{transition:none}}.justice-page .chapter-jump{min-height:76px;font-size:.72rem}.justice-page .chapter-jump>span:last-child{overflow-wrap:anywhere;display:block}.forest-scene{background:#e6e9dc;height:clamp(170px,42vw,470px)}.forest-scene .illustrated-scene{max-width:836px;height:100%;margin-inline:auto}.forest-scene .illustrated-scene img{object-position:center top}.forest-scene.mood-shadow .illustrated-scene img{filter:saturate(.65)brightness(.72)}.forest-scene.mood-shadow .illustrated-scene:after{background:linear-gradient(120deg,#193b6340,#213a592b 65%,#763e4836)}.forest-scene.mood-returning .illustrated-scene img{filter:saturate(.84)brightness(.94)}.forest-loading{background:linear-gradient(135deg,#e6e9dc,#dce3d4 60%,#d2ddcf);position:absolute;inset:0}.mood-shadow .forest-loading{background:linear-gradient(135deg,#d9e1de,#cbd7d5)}.forest-scene .illustrated-scene>span{max-width:calc(100% - 2rem);line-height:1.45}.forest-voice{background:#f6efe0;border-left:3px solid #b39b6a;border-radius:0 12px 12px 0;margin:.8rem 0;padding:.8rem 1rem}.forest-voice>span,.perspective-card>span{color:#59644e;font-size:.76rem}.forest-voice p{margin:.4rem 0 0;font-family:Georgia,serif;font-size:1.1rem}.forest-voice.voice-deer{background:#edf1e4;border-color:#879d77}.forest-perspectives{background:#f3f5ed;border:1px solid #cdd9ce;border-radius:16px;margin:1.5rem 0;padding:1rem}.forest-perspectives fieldset{border:0;min-width:0;margin:0;padding:0}.forest-perspectives legend{margin-bottom:.7rem;font-size:.85rem}.perspective-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.perspective-switch label{cursor:pointer;background:#fffdf7;border:1px solid #bdcdb9;border-radius:12px;align-items:center;gap:.4rem;min-height:48px;padding:.75rem .6rem;font-size:.8rem;display:flex}.perspective-switch input{accent-color:#355f49;flex-shrink:0}.perspective-switch label.selected{background:#dfeada;border-color:#6b8e70}.perspective-switch label:focus-within{outline-offset:2px;outline:3px solid #af915d}.perspective-card{background:#e6eee1;border:1px solid #c2d1c0;border-radius:12px;margin-top:.9rem;padding:1rem;animation:.18s ease-out forest-card-in}.perspective-card[data-perspective=boy]{background:#e4edf0;border-color:#b7cbd5}.perspective-card p{margin:.4rem 0 0;font-family:Georgia,serif;font-size:1.15rem}.forest-choice-prompt{color:#52624c;margin-top:1.4rem}.forest-response{background:#faf6eb;border:1px solid #dfd7bc;border-radius:16px;margin-top:1rem;padding:1rem;animation:.18s ease-out forest-card-in}.forest-response>p{margin-top:0}.forest-response small{color:#5d6957}.justice-page .first-step-award p{margin:.4rem 0 0}@keyframes forest-card-in{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media (width<=38rem){.justice-page .chapter-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.justice-page .chapter-jump{min-height:64px}}@media (width<=25rem){.perspective-switch{grid-template-columns:1fr}.justice-page .chapter-top-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.perspective-card,.forest-response{animation:none}}.festival-page .chapter-progress{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.festival-page .chapter-jump{min-height:64px;font-size:.8rem}.festival-image{aspect-ratio:1672/941;background:linear-gradient(125deg,#dbc68c,#b8c4ad,#e5d6b3);border-bottom:1px solid #d0c2a0;height:auto;overflow:hidden}.festival-picture{width:100%;height:100%;margin:0;position:relative}.festival-picture picture{width:100%;height:100%;display:block}.festival-picture img{object-fit:contain;width:100%;height:100%;transition:opacity .3s;display:block}.festival-picture figcaption{color:#354f40;background:#fffaf0ed;border:1px solid #fff9;border-radius:12px;max-width:calc(100% - 24px);padding:.3rem .65rem;font-size:.7rem;line-height:1.4;position:absolute;bottom:12px;left:12px}.festival-image-error{color:#354f40;background:#eee8d9;place-items:center;padding:1rem;font-size:.85rem;display:grid;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.festival-picture img{transition:none}}.festival-prompt{margin-top:1.5rem;font-weight:600}.festival-response{margin-top:1rem}.festival-finish{margin-top:1.5rem}.festival-page .chapter-choice{min-height:48px}@media (width>=50rem){.festival-page .chapter-progress{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}}.asterion-page .chapter-progress{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.asterion-page .chapter-jump{min-height:64px;font-size:.8rem}.asterion-location{color:#52655f;font-size:.85rem}.asterion-prompt{margin-top:1.5rem;font-weight:600}.asterion-response{margin-top:1rem}.asterion-evidence{background:#eef2ec;border:1px solid #cad5d0;border-radius:14px;margin:1.25rem 0;padding:.85rem}.asterion-now{margin:0 0 .75rem;font-size:.85rem}.asterion-readings{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.asterion-reading{background:#fffdf7;border:1px solid #d6dccc;border-radius:10px;min-width:0;padding:.65rem}.asterion-reading h3{overflow-wrap:anywhere;min-height:2.6em;margin:0 0 .75rem;font-family:inherit;font-size:.75rem;line-height:1.3}.asterion-reading dl,.asterion-reading dd{margin:0}.asterion-reading dl>div+div{margin-top:.6rem}.asterion-reading dt{color:#53655d;font-size:.7rem}.asterion-reading dd{color:#294e40;font-size:.9rem;font-weight:600}.asterion-supply-note{margin:.75rem 0 0;font-size:.75rem}.asterion-page .chapter-choice{min-height:48px}.asterion-followup{background:linear-gradient(130deg,#edf1e8,#fffaf0);border:1px solid #c5d1ca;border-radius:1.2rem;margin:1.25rem 0;padding:clamp(1rem,3vw,1.6rem)}.asterion-followup h2{margin:.5rem 0}@media (width>=50rem){.asterion-page .chapter-progress{grid-template-columns:repeat(6,minmax(0,1fr))}}.asterion-comic{object-fit:contain;border-radius:.75rem;width:100%;max-width:100%;height:auto;margin:1.25rem 0;display:block}.journey-hub>h1{max-width:22ch;font-size:clamp(2rem,4.5vw,3.2rem)}.journey-hub-intro{max-width:65ch}.journey-themes{gap:1rem;margin:1.5rem 0;display:grid}.journey-theme{background:linear-gradient(145deg,#fffdf8,#f2f1e5);border:1px solid #d5d8c7;border-radius:1.3rem;flex-direction:column;align-items:flex-start;padding:1.4rem;display:flex;box-shadow:0 5px 18px #354c3510}.theme-icon{color:#3a6250;background:#e8eee2;border:1px solid #c6cdb6;border-radius:18px;width:58px;height:58px;padding:10px}.theme-icon svg{width:100%;height:100%}.theme-courage .theme-icon{color:#8b6139;background:#f1e7d4;border-color:#dac6a5}.journey-theme h2{margin:.9rem 0 .25rem}.journey-theme>p{margin:.3rem 0 1rem}.theme-story{border-top:1px solid #dedbca;width:100%;margin:.4rem 0 1.2rem;padding-top:1rem}.theme-story h3{margin:.45rem 0;font-family:Georgia,serif;font-size:1.4rem;font-weight:400}.theme-story p,.journey-theme .theme-completed{color:#4b6552;font-size:.8rem}.journey-theme>button{min-height:48px;margin-top:auto}.theme-preparing{color:#696956;border:1px solid #d6d1bd;border-radius:20px;padding:.35rem .75rem;font-size:.8rem}.first-step-page .chapter-jump{min-height:78px;font-size:.72rem}.first-step-page .chapter-jump>span:last-child{overflow-wrap:anywhere;display:block}.mia-dialogue{background:#f4f1e6;border-left:3px solid #b79a63;border-radius:0 12px 12px 0;margin:1.2rem 0;padding:.9rem 1rem}.mia-dialogue>span{color:#68715c;font-size:.75rem}.mia-dialogue p{margin:.4rem 0 0;font-family:Georgia,serif;font-size:1.15rem}.preparation-echo{background:#edf1e7}.first-step-award{color:#745c30;background:#f7efd9;border:1px solid #ddcba4;border-radius:15px;align-items:center;gap:.8rem;margin:1rem 0;padding:1rem;font-size:.8rem;display:flex}.first-step-award>span:first-child{font-size:2rem}.first-step-award strong{margin-top:.3rem;font-family:Georgia,serif;font-size:1.3rem;font-weight:400;display:block}.journey-save-status{color:#5f6b59;font-size:.8rem}.mia-scene{background:#55473e;height:clamp(180px,34vw,340px)}.mia-scene .illustrated-scene{height:100%}.mia-scene .illustrated-scene img{object-position:center top}.mia-inner-thought{background:#edf0e7;border:1px solid #d7decd;border-radius:14px;margin:1.2rem 0;padding:.8rem 1rem}.mia-inner-thought>span{color:#53614f;font-size:.75rem}.mia-inner-thought p{margin:.4rem 0 0;font-style:italic}.first-step-page .mia-dialogue{background:#f6eddf;border-left-color:#a78654}.first-step-page .preparation-echo{background:#edf1e7}.mia-consequence{background:#faf6eb}.mia-consequence .response-dialogue{margin:.8rem 0}.mia-response{animation:.18s ease-out mia-response-in}@keyframes mia-response-in{0%{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mia-response{animation:none}}@media (width>=42rem){.journey-themes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=38rem){.first-step-page .chapter-top-actions{flex-wrap:wrap}}
