html,body{overflow:hidden}.study{min-height:360px;isolation:isolate}#goods{position:absolute;inset:0;pointer-events:none;z-index:4}#ui{position:absolute;inset:0}.hud,.toolbar,.reason,.intro{z-index:15}.slot{cursor:pointer;outline-offset:-2px}.slot::before,.slot::after{display:none}.slot.selected::after,.slot.drop::after{display:block}.slot[aria-disabled="true"]{cursor:default}.shelf{touch-action:none}.board{z-index:auto}.platform-reserve{visibility:hidden}.depth-mark{z-index:10}.modal-shade{z-index:20}.modal-zone{z-index:21}.shelf.fx-clear{outline:2px solid #6da36a;outline-offset:2px}.shelf.fx-promote{box-shadow:inset 2px 0 #efd6ad,inset -2px 0 #ba8b58,0 0 0 2px #82a478}.tool[aria-disabled="true"]{opacity:.7}.runtime-status{position:absolute;inset:92px 16px auto;text-align:center;z-index:20}.runtime-status p{line-height:22px}.runtime-status .action{max-width:300px;margin:16px auto}.collection-good{width:44px;height:44px}.collection-item canvas{width:44px;height:44px}.intro p{white-space:pre-line}.toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.initial .toolbar[data-learned="true"]{display:grid}.panel{max-height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.collection-panel{overflow:hidden}.collection-scroll{touch-action:pan-y}.reason{overflow:hidden;text-overflow:ellipsis}.receipt-message{color:#315f36}.runtime-busy{position:absolute;z-index:25;left:8px;right:8px;bottom:58px;text-align:center;pointer-events:none;font-size:13px}.initial .toolbar:empty{display:none}
@media(min-aspect-ratio:3/2){.toolbar{grid-template-columns:1fr}.runtime-busy{left:auto;width:192px;right:16px;bottom:8px}}
@media(prefers-reduced-motion:reduce){.shelf.fx-clear,.shelf.fx-promote{transition:none}}
.slot.runtime-hint-source::after,.slot.runtime-hint-target::after,.slot.invalid::after{display:block}.slot.runtime-hint-source::after,.slot.runtime-hint-target::after{border-color:#478854;animation:hint-sweep 350ms ease-out}.slot.runtime-hint-target::after{animation-delay:100ms;animation-duration:250ms}.slot.invalid::after{border-color:#b44838}.discovery-icon{width:28px;height:28px;position:absolute;top:0;left:calc(50% - 14px);pointer-events:none}.discovery-hidden{visibility:hidden}.unlock-shutter{position:absolute!important;inset:0!important;margin:0!important;z-index:6;pointer-events:none}.shelf:has(.unlock-shutter) .depth-mark{visibility:hidden}@keyframes hint-sweep{from{opacity:.35}to{opacity:1}}@media(prefers-reduced-motion:reduce){.slot.runtime-hint-source::after,.slot.runtime-hint-target::after{animation:none}}
.initial .reason:not(:empty){display:block}

.reason{pointer-events:none}
@media(max-height:559px) and (max-aspect-ratio:3/2){.board{grid-auto-rows:clamp(48px,calc((100vh - 150px)/5),54px)}.shelf{height:clamp(48px,calc((100vh - 150px)/5),54px)}.cells{top:clamp(3px,calc(100vh - 414px),6px)}}

@media(min-width:464px) and (max-height:559px) and (aspect-ratio < 3/2){.board{grid-template-columns:repeat(3,minmax(0,1fr))}}

.home-emblem>svg{width:44px;height:44px;flex:none;align-self:center}

/* Title progress uses the same paper, wood and teal language as the cabinet. */
.title-card{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 12px;border:1px solid #d7bd94;border-radius:12px;background:linear-gradient(120deg,#f3e4c6,#fbf1df);margin:0 0 10px}.title-badge{display:block;width:54px;height:54px;flex:none}.title-card-copy{flex:1;min-width:0}.title-card-copy strong{display:block;font-size:17px;line-height:22px}.title-card-copy>span{font-size:13px;line-height:18px;color:#735f41}.title-card-copy small{display:block;margin-top:4px;font-size:12px;line-height:16px;color:#746247}.title-meter{height:6px;margin:5px 0 0;border-radius:6px;background:#d9c9a9;overflow:hidden}.title-meter i{display:block;height:100%;border-radius:inherit;background:#659b78}.title-card-button{position:relative;display:block;width:100%;padding:0;color:inherit;font:inherit;text-align:left;border:0;background:transparent;cursor:pointer}.title-card-button .title-card{margin:0;padding-bottom:28px}.title-card-link{position:absolute;right:12px;bottom:9px;color:#267c77;font-size:12px;line-height:16px;font-weight:700}.title-home .panel-head,.title-result .panel-head,.title-route-panel .panel-head{margin-bottom:10px}.panel.title-home{height:auto;max-height:100%;display:flex;flex-direction:column;gap:8px}.title-home .panel-head,.title-home>.action.primary,.title-home .home-stats,.title-home .actions-row{position:static;width:100%;height:auto;margin:0}.title-home .actions-row{padding:0;border:0}.title-home .actions-row .action{display:flex;flex-direction:row;gap:5px;border:1px solid #cfb38f;background:#fff8ec;padding:6px 8px;min-height:44px}.title-home .home-stats{padding-top:8px;margin-top:0}.panel .title-award{margin:0 0 8px;text-align:center;font-size:14px;color:#4c7657}.title-award strong{font-size:21px;line-height:24px}.title-award.new-title{color:#956a23}.title-route-button{margin:0 0 10px;background:#f5ead7;color:#47755f;min-height:44px}.title-result-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;margin-top:10px;flex:none}.title-result-actions .action+.action{margin-top:0}.title-result,.title-route-panel{touch-action:pan-x pan-y}.title-route-scroll{min-width:0;width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:#bfa176 #ecddc2;border:1px solid #dfcaa7;border-radius:12px;background:#f5ead7;padding:10px 0 7px}.title-route-list{position:relative;display:flex;align-items:stretch;gap:0;width:max-content;min-width:100%;padding:0 10px;margin:0;list-style:none}.title-node{position:relative;flex:none;width:98px;text-align:center;padding:0 5px;color:#95826a}.title-node:before{content:"";position:absolute;left:-49px;right:49px;top:24px;border-top:3px solid #d2bfa2;z-index:0}.title-node:first-child:before{display:none}.title-node.earned:before{border-color:#709773}.title-node .title-badge{position:relative;width:46px;height:46px;margin:0 auto 5px;z-index:1;opacity:.5}.title-node.earned .title-badge{opacity:1}.title-node.current .title-badge{filter:drop-shadow(0 0 2px #d4a248);outline:2px solid #d0a050;outline-offset:2px;border-radius:50%}.title-node strong{position:relative;display:block;font-size:12px;line-height:16px;min-height:32px}.title-node>span{display:block;font-size:12px;line-height:17px}.title-node small{display:inline-block;font-size:10px;line-height:16px}.title-node.current{color:#704f20}.title-node.current small{background:#e4c06e;border-radius:6px;padding:0 5px}.panel .title-route-tip{margin:4px 0 0;text-align:center;font-size:11px;line-height:16px;color:#887257}.title-earned>.title-card>.title-badge{animation:title-received 360ms ease-out 1}.study.passive{touch-action:pan-x pan-y}@keyframes title-received{from{transform:scale(.82) rotate(-6deg);opacity:.4}to{transform:scale(1) rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.title-earned>.title-card>.title-badge{animation:none}}
@media(max-height:559px){.panel.title-home,.panel.title-result,.panel.title-route-panel{padding:12px}.title-home .panel-head,.title-result .panel-head,.title-route-panel .panel-head{margin-bottom:6px}.title-card{padding:6px 9px;gap:8px;margin-bottom:7px}.title-badge{width:44px;height:44px}.title-card-copy strong{font-size:15px;line-height:19px}.title-card-copy small{font-size:11px;line-height:14px}.title-card-button .title-card{padding-bottom:23px}.title-card-link{bottom:6px}.title-home .panel-head p,.title-result .panel-head p,.title-route-panel .panel-head p{font-size:12px;line-height:16px;margin-top:4px}.title-result .panel-head h1,.title-route-panel .panel-head h1{font-size:20px;line-height:24px}.title-route-scroll{padding:7px 0 5px}.title-node{width:88px}.title-node:before{top:19px;left:-44px;right:44px}.title-node .title-badge{width:38px;height:38px}.title-node strong{font-size:11px;line-height:14px;min-height:28px}.title-node>span{font-size:11px;line-height:15px}.panel .title-award{margin-bottom:5px;line-height:20px}.title-award strong{font-size:18px;line-height:20px}.title-result-actions{margin-top:7px}.title-home .home-stats{font-size:12px;line-height:16px;padding-top:6px}.panel.title-home{gap:6px}}

/* Runtime shelf visual v2. Each bay remains one actual three-slot shelf. */
.board{--columns:2;--rows:var(--rows-2);--cabinet-space:calc(100vw - 24px);--cabinet-height:calc(100vh - 144px);--post-space:12px;--row-space:12px;--cell:clamp(44px,min(calc((var(--cabinet-space)/var(--columns) - var(--post-space))/3),calc(var(--cabinet-height)/var(--rows) - var(--row-space))),64px);--bay-width:calc(var(--cell)*3 + var(--post-space));--bay-height:calc(var(--cell) + var(--row-space));width:calc(var(--bay-width)*var(--columns));left:50%;right:auto;top:72px;transform:translateX(-50%);grid-template-columns:repeat(var(--columns),var(--bay-width));grid-auto-rows:var(--bay-height);gap:0;filter:drop-shadow(5px 7px 0 #87664224)}
.board::after{content:"";position:absolute;left:0;right:0;top:-6px;height:6px;background:linear-gradient(#c7975d,#dab17c);clip-path:polygon(1% 0,99% 0,100% 100%,0 100%);border-top:1px solid #e4c28f;pointer-events:none}
.shelf{height:var(--bay-height);border-radius:0;border:0;border-left:5px solid #e7c18a;border-right:4px solid #c18e53;background:#ecddc5;box-shadow:inset 0 4px 0 #f0d49f,inset 0 8px 6px -5px #91623388,inset -3px 0 0 #b88a5524}
.shelf::before{inset:6px 0 6px;background:linear-gradient(90deg,#bea68120,transparent 15%,transparent 86%,#aa8e6925);border:0;box-shadow:inset 0 3px 4px #81664616}
.shelf::after{left:-5px;right:-4px;bottom:0;height:7px;border-radius:0;background:linear-gradient(#e8c695 0 2px,#d8ab72 2px 4px,#bd8950 4px 6px,#aa7543 6px);box-shadow:0 1px 0 #f0d5a6;pointer-events:none}
.cells{left:50%;top:calc(var(--row-space) - 5px);gap:0}
.slot{width:var(--cell);height:var(--cell)}
.depth-mark{bottom:0;z-index:10}
.shelf.locked{background:repeating-linear-gradient(0deg,#a98257 0 9px,#c6a276 9px 10px,#96704c 10px 11px);box-shadow:inset 0 5px 7px #75523255}
.shelf.blocked{background:#b9976b}
@media(min-height:560px) and (max-aspect-ratio:3/2){.board{--cabinet-space:min(calc(100vw - 40px),600px);--cabinet-height:calc(100vh - 220px);--post-space:18px;--row-space:20px;top:max(102px,calc(45vh - var(--bay-height)*var(--rows)/2))}.shelf{border-left-width:7px;border-right-width:6px}.shelf::after{left:-7px;right:-6px;height:10px;background:linear-gradient(#f0d4a8 0 3px,#dcb17d 3px 6px,#c4935d 6px 9px,#ac7747 9px)}.cells{top:10px}.board::after{height:9px;top:-9px}.depth-mark{bottom:2px}}
@media(min-width:520px) and (min-height:560px) and (max-aspect-ratio:3/2){.board[data-wide-columns="3"]{--columns:3;--rows:var(--rows-3)}}
@media(min-aspect-ratio:3/2){.board{--columns:2;--rows:var(--rows-2);--cabinet-space:calc(100vw - 192px);--cabinet-height:calc(100vh - 96px);left:8px;right:auto;top:76px;transform:none;--row-space:12px}}
@media(min-width:640px) and (min-aspect-ratio:3/2){.board{--columns:3;--rows:var(--rows-3);left:16px}}
@media(min-width:740px) and (min-aspect-ratio:3/2){.board{--cabinet-space:calc(100vw - 248px)}}

.shelf:not(.locked):not(.blocked)::before{background:linear-gradient(0deg,#d8b585 0 8px,#e7c799 8px 14px,#ae885743 14px 15px,transparent 15px),linear-gradient(90deg,#bea68120,transparent 15%,transparent 86%,#aa8e6925);box-shadow:inset 0 3px 4px #81664616}

.hint-guidance{position:absolute;inset:0;z-index:8;pointer-events:none}.hint-route{position:absolute;inset:0;overflow:visible}.hint-source-corners,.hint-target-corners{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.hint-source-corners{stroke:#c48a24}.hint-target-corners{stroke:#217f79}.hint-target-wash{fill:#55b7a926;stroke:#217f79;stroke-width:1.5;stroke-dasharray:4 3}.hint-route-under,.hint-route-line{fill:none;stroke-linecap:round}.hint-route-under{stroke:#fff9e9;stroke-width:5;opacity:.8}.hint-route-line{stroke:#217f79;stroke-width:2.5;stroke-dasharray:6 6;animation:hint-direction .8s linear 3}.hint-place{position:absolute;transform:translateX(-50%);padding:1px 6px;border-radius:8px;font-size:11px;line-height:16px;font-weight:700;white-space:nowrap;border:1px solid #fff7e2;box-shadow:0 1px 1px #493a2d22}.hint-pick{background:#f2d37b;color:#614116}.hint-drop{background:#217f79;color:#fffdf4}.study[data-dragging="true"] .hint-guidance{visibility:hidden}.runtime-hint-source::after,.runtime-hint-target::after{animation:none!important}@keyframes hint-direction{to{stroke-dashoffset:-24}}@media(prefers-reduced-motion:reduce){.hint-route-line{animation:none}}

@media(min-width:456px) and (max-height:559px) and (aspect-ratio < 3/2){.board[data-wide-columns="3"]{--columns:3;--rows:var(--rows-3)}}
@media(max-height:419px) and (aspect-ratio < 3/2){.board{--row-space:clamp(3px,calc((100vh - 370px)/5),12px)}.cells{top:max(0px,calc(var(--row-space) - 5px))}}
.panel.title-result{display:flex;flex-direction:column;overflow:hidden}.title-result-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}.title-earned>.title-result-body>.title-card>.title-badge{animation:title-received 360ms ease-out 1}@media(max-height:559px){.title-result .panel-head p{display:none}}@media(prefers-reduced-motion:reduce){.title-earned>.title-result-body>.title-card>.title-badge{animation:none}}
@media(max-height:559px){.title-result-actions .action{font-size:13px;line-height:17px;min-height:44px;padding:8px 6px;gap:4px}.title-result .title-route-tip{font-size:10px;line-height:12px;margin-top:2px}.title-result .title-node small{line-height:14px}.title-result .title-node .title-badge{width:34px;height:34px}.title-result .title-node:before{top:17px}.title-result .title-card{padding-top:4px;padding-bottom:4px}}
.tutorial-card{position:absolute;z-index:15;left:16px;right:16px;max-width:420px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;background:#fff8ecd9;border:1px solid #d0b58d;border-radius:13px;box-shadow:0 2px 0 #ac855520}.tutorial-copy strong{display:block;font-size:15px;line-height:20px;color:#654c2d}.tutorial-copy p{margin:4px 0 0;font-size:13px;line-height:19px;color:#746047}.tutorial-card button{min-width:48px;min-height:44px;padding:8px;border:1px solid #c7af8b;border-radius:9px;background:#f8efdf;color:#6d5a40;font-size:12px}.slot.tutorial-source::before,.slot.tutorial-target::before{content:"";display:block;position:absolute;inset:1px;z-index:6;height:auto;border:2px solid #c48a24;border-radius:8px;background:none;box-shadow:none;pointer-events:none}.slot.tutorial-target::before{border-color:#217f79;background:#55b7a917;border-style:dashed}.study[data-dragging="true"] .slot.tutorial-source::before,.study[data-dragging="true"] .slot.tutorial-target::before{display:none}@media(max-height:559px){.tutorial-card{left:12px;right:12px;padding:10px 11px;gap:8px}.tutorial-copy strong{font-size:14px;line-height:18px}.tutorial-copy p{font-size:12px;line-height:17px}}@media(min-aspect-ratio:3/2){.tutorial-card{left:auto;right:12px;max-width:192px;grid-template-columns:1fr;gap:4px;padding:8px}.tutorial-card button{min-height:44px}.tutorial-copy strong{font-size:13px;line-height:17px}.tutorial-copy p{font-size:12px;line-height:16px}}

/* Achievement cabinet finish. Board, shelf, cell and tutorial placement stay upstream. */
.hud::before{content:"";position:absolute;inset:-3px -7px -4px 50px;border:1px solid #dcc9a8;border-radius:12px;background:linear-gradient(110deg,#fff9efed,#f6e9d2da);box-shadow:inset 0 1px #fffdf4,0 2px 0 #a4814e0b;pointer-events:none}
.pause-button{border-color:#bea079;border-radius:13px;background:linear-gradient(#fffaf0,#f4e8d4);box-shadow:inset 0 1px #fff,0 2px 0 #b08b5929;color:#6e5b42}
.level{color:#594b35;letter-spacing:.1px}.objective{color:#807052;font-size:12px}.timer{color:#426f64;font-size:20px}.timer svg{color:#8b7956}.timer.urgent{color:#b94538}.progress{background:#dfd0af;box-shadow:inset 0 1px 1px #95744430}.progress span{background:linear-gradient(90deg,#8cbaa2,#357e71);box-shadow:inset 0 1px #ffffff40}
.tool,.action,.close-button{border-color:#c2a77e;background:linear-gradient(#fffaf0,#f6ebd8);box-shadow:inset 0 1px 0 #fffef6,0 2px 0 #ac895527}
.tool{border-radius:12px;color:#526e5e}.tool::before{content:"";position:absolute;inset:3px;border:1px solid #eadbc3;border-radius:8px;pointer-events:none}.tool svg{color:#3d7d70;filter:drop-shadow(0 1px #fff8e9)}.tool-label{color:#64543d}.tool .badge{left:auto;right:7px;top:4px;background:#e2eddc;color:#386f55;border-color:#9fbd98;box-shadow:inset 0 1px #faffed;font-size:12px}.tool[aria-disabled="true"]{filter:saturate(.5)}
.action{border-radius:12px;color:#655239}.action.primary{border-color:#2a7167;background:linear-gradient(#428f81,#2b786d);box-shadow:inset 0 1px #8fbdaa,0 3px 0 #215d54;color:#fff9e9;text-shadow:0 1px #22564b40}.action:active,.tool:active,.pause-button:active{box-shadow:inset 0 2px 3px #856c4520}.actions-row .action svg{color:#7a8c71}
.modal-shade{background:#5a49364d}.panel{border-color:#bca079;background:radial-gradient(ellipse at 20% 0,#fffdf5 0,transparent 60%),linear-gradient(#fff8e9,#f8edda);box-shadow:0 3px 0 #ac895545,0 10px 24px #6551361f;border-radius:21px}.panel::before{content:"";position:absolute;inset:5px;border:1px solid #e8d7b9;border-radius:16px;pointer-events:none}.panel-head{position:relative}.panel-head h1{color:#574631;letter-spacing:-.5px}.panel-head p{color:#8b7656}.title-home .panel-head h1{font-size:25px;line-height:30px}.title-home .panel-head p{letter-spacing:1.3px;font-size:12px;line-height:18px}.title-home .home-stats{border-top:1px dashed #d5bea0;color:#8a7657}.title-home .actions-row .action{background:linear-gradient(#fffaf0,#f4e7d0);border-color:#d2ba96}.panel.title-home{gap:10px;padding:24px}.title-home .panel-head{padding:0 0 5px}.title-home .panel-head::after{content:"";display:block;width:42px;height:3px;margin:9px auto 0;background:linear-gradient(90deg,transparent,#bd9d61,transparent);border-radius:2px}
.title-card{--title-accent:#9b7751;--title-tint:#f0dfc2;position:relative;isolation:isolate;gap:15px;padding:17px 16px;border-color:#cbb18a;border-radius:15px;background:linear-gradient(125deg,#fff5df,#f0dfc0);box-shadow:inset 0 1px #fffdf0,0 2px 0 #ad8a5120;overflow:hidden;min-height:142px}.title-card[data-title-chapter="1"]{--title-accent:#4f8778;--title-tint:#dce7d6;background:linear-gradient(125deg,#f7f3de,#e0ead8);border-color:#a5b99a}.title-card[data-title-chapter="2"]{--title-accent:#98732e;--title-tint:#f1dfb1;background:linear-gradient(125deg,#fff5d9,#efdfb7)}.title-card[data-title-chapter="3"]{--title-accent:#367c6d;--title-tint:#d8e4d0;background:linear-gradient(125deg,#f8f0d9,#dfe8d5);border-color:#b0b999}
.title-card::before{content:"";position:absolute;z-index:-1;left:9px;top:17px;bottom:17px;width:96px;background:radial-gradient(ellipse,#fff9e6 0 43%,#bd99562b 44% 45%,transparent 46% 58%,#bd995620 59% 60%,transparent 61%);pointer-events:none}.title-card::after{content:"";position:absolute;inset:5px;border:1px solid #fffcdf99;border-radius:11px;pointer-events:none}.title-card>.title-badge{width:86px;height:86px;filter:drop-shadow(0 3px 0 #89704822)}.title-card-copy{position:relative}.title-card-copy .title-overline{display:flex;align-items:center;gap:7px;color:var(--title-accent);font-size:10px;font-weight:700;line-height:16px;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.title-overline i{display:block;width:14px;height:1px;background:currentColor;opacity:.5}.title-card-copy strong{font-size:21px;line-height:25px;color:#594932;letter-spacing:-.35px}.title-card-copy .title-score{display:block;margin-top:5px;font-size:11px;color:#8a7554;line-height:22px}.title-score b{font-size:23px;font-weight:700;letter-spacing:-.7px;color:var(--title-accent);margin-right:3px;font-variant-numeric:tabular-nums}.title-meter{height:7px;margin-top:7px;background:#cbbba040;border:1px solid #b49d7438;box-shadow:inset 0 1px 1px #a3876025}.title-meter i{background:linear-gradient(90deg,#a2c5a8,#4b8d73);box-shadow:inset 0 1px #ffffff55}.title-next{margin-top:6px!important;font-size:11px!important;line-height:15px!important;color:#8c7859!important}.title-next span,.title-next b{display:block}.title-next b{font-weight:600;color:var(--title-accent);font-size:11px}.title-card-button{border-radius:15px}.title-card-button .title-card{padding-bottom:35px;min-height:172px}.title-card-link{right:16px;bottom:11px;font-size:11px;line-height:16px;color:#648471;letter-spacing:.4px}.title-home .title-card>.title-badge{width:98px;height:98px}
.title-route-panel{display:flex;flex-direction:column;overflow:hidden}.title-route-panel>.panel-head,.title-route-panel>.title-card,.title-route-panel>.title-route-tip,.title-route-panel>.action{flex:none}.title-route-panel>.action{margin-top:10px}.title-route-scroll{flex:none;border-color:#dbc6a2;border-radius:15px;background:linear-gradient(#f6eddc,#eee0c5);padding:10px 0 9px;box-shadow:inset 0 1px 4px #9e784415}.title-route-list{padding:0 11px}.title-node{width:108px;padding:0 6px 4px;color:#a39174}.title-node:before{left:-54px;right:54px;top:47px;border-top-width:4px;border-color:#d9c7a8}.title-node.earned:before{border-color:#87ac8b}.title-node.next:before{border-top-style:dashed;border-color:#a6b894}.title-node .title-node-phase{display:block;height:18px;line-height:14px;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#ac936c;font-weight:700}.title-node .title-badge{width:58px;height:58px;margin:0 auto 7px;opacity:.38;filter:saturate(.5)}.title-node.earned .title-badge{filter:none}.title-node.current .title-badge{outline:0;border-radius:0;filter:drop-shadow(0 3px 0 #9a784d25);opacity:1}.title-node.current:after{content:"";position:absolute;top:14px;left:20px;width:68px;height:68px;border:1px solid #bf9956;border-radius:50%;box-shadow:0 0 0 4px #c2a26d15;z-index:0;pointer-events:none}.title-node.next .title-badge{opacity:.74;filter:saturate(.8)}.title-node strong{font-size:12px;line-height:16px;min-height:32px;z-index:1}.title-node .title-node-threshold{font-size:11px;line-height:17px;color:#aa9576}.title-node.earned{color:#786243}.title-node.current{color:#755422}.title-node.current .title-node-threshold{color:#9c7741;font-weight:700}.title-node.next{color:#647d65}.title-node small{font-size:9px;line-height:16px;margin-top:3px;padding:0 6px;color:#9c896c}.title-node.current small{background:#d0ad68;color:#fffaf0;border-radius:8px;box-shadow:inset 0 1px #eed394}.title-node.next small{border:1px solid #aec0a1;border-radius:8px;background:#f0f2e1;color:#64835f;line-height:14px}.panel .title-route-tip{font-size:10px;line-height:16px;color:#9a835e;margin-top:6px}.title-route-tip>span{font-size:16px;color:#b19462;padding:0 4px}.title-route-button{background:linear-gradient(#f7efdf,#ecdfc8);border-color:#d4bf9e;color:#73876b}.title-result-actions{padding-top:8px;border-top:1px solid #dfcbaa}.panel .title-award{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:0 auto 12px;padding:5px 13px;border:1px solid #c6d2ad;border-radius:20px;background:#eef1db;line-height:20px;font-size:11px;color:#71865c}.title-award .title-award-caption{margin-right:5px;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.title-award strong{font-size:23px;line-height:25px;color:#65874b}.panel .title-award.new-title{border-color:#ddc181;background:#faf0d3;color:#9d8045}.title-award.new-title strong{color:#a98230}.title-result.title-earned .panel-head{text-align:center}.title-result.title-earned .panel-head h1{color:#8b6a30}.title-result.title-earned .title-card{border-color:#c6aa73}
.tutorial-card{border-color:#cbb58e;background:linear-gradient(115deg,#fffaf0ed,#f8edd8ec);box-shadow:inset 0 1px #fffef4,0 2px 0 #a7834f1c;border-radius:14px}.tutorial-card::after{content:"";position:absolute;inset:4px;border:1px solid #e7d8bb;border-radius:10px;pointer-events:none}.tutorial-copy strong{color:#537d68}.tutorial-copy p{color:#8b7451}.tutorial-card button{border-color:#d2be9d;background:linear-gradient(#fff9ed,#f1e4cc);color:#8c7959;box-shadow:inset 0 1px #fffdf4}.help-rows svg{color:#5c8c74}.reward-card{background:linear-gradient(#f4ebd6,#e8dcc1);box-shadow:inset 0 1px #fff9e7;border-color:#d4bd96}
@media(min-aspect-ratio:3/2){.tool .badge{right:11px;top:13px}}
@media(max-height:559px){
 .panel.title-home,.panel.title-result,.panel.title-route-panel{padding:11px;border-radius:18px}.panel.title-home{gap:6px}.title-home .panel-head{padding:0}.title-home .panel-head h1{font-size:21px;line-height:25px}.title-home .panel-head p{font-size:10px;line-height:14px;margin-top:2px;letter-spacing:.6px}.title-home .panel-head::after{height:2px;margin-top:4px}.title-home .home-stats{font-size:11px;line-height:16px;padding-top:6px}.title-home .actions-row .action{font-size:12px}
 .title-card{gap:10px;padding:8px 10px;min-height:94px;margin-bottom:7px;border-radius:12px}.title-card::before{left:7px;top:9px;bottom:9px;width:61px}.title-card>.title-badge,.title-home .title-card>.title-badge{width:58px;height:58px}.title-card-copy .title-overline{font-size:8px;line-height:11px;letter-spacing:.5px;gap:5px;margin-bottom:2px}.title-card-copy strong{font-size:16px;line-height:19px;letter-spacing:-.25px}.title-card-copy .title-score{margin-top:2px;font-size:10px;line-height:19px}.title-score b{font-size:18px}.title-meter{height:5px;margin-top:3px}.title-next{margin-top:3px!important;font-size:9px!important;line-height:12px!important}.title-next b{font-size:9px}.title-card-button .title-card{padding-bottom:24px;min-height:118px}.title-card-link{right:11px;bottom:6px;font-size:9px;line-height:13px}.title-route-panel .panel-head h1,.title-result .panel-head h1{font-size:19px;line-height:23px}.title-route-panel .panel-head p{font-size:10px;line-height:13px;margin-top:2px}
 .title-route-scroll{padding:5px 0 4px;border-radius:12px}.title-node{width:88px;padding:0 4px 2px}.title-node:before{left:-44px;right:44px;top:31px;border-top-width:3px}.title-node .title-node-phase{height:12px;font-size:7px;line-height:10px;letter-spacing:.3px}.title-node .title-badge,.title-result .title-node .title-badge{width:40px;height:40px;margin-bottom:4px}.title-node.current:after{top:9px;left:21px;width:46px;height:46px;box-shadow:0 0 0 2px #c2a26d15}.title-node strong{font-size:10px;line-height:12px;min-height:24px}.title-node .title-node-threshold{font-size:9px;line-height:13px}.title-node small,.title-result .title-node small{font-size:8px;line-height:12px;margin-top:2px;padding:0 4px}.title-node.next small{line-height:10px}.panel .title-route-tip,.title-result .title-route-tip{font-size:9px;line-height:12px;margin-top:3px}.title-route-tip>span{font-size:13px}.title-route-panel>.action{margin-top:6px}.title-result .title-node:before{top:31px}.title-result .title-card{padding-top:6px;padding-bottom:6px;min-height:90px}.title-result-actions{padding-top:5px;margin-top:5px}.panel .title-award{margin-bottom:6px;padding:2px 10px;font-size:9px;line-height:17px;gap:4px}.title-award .title-award-caption{font-size:8px;margin-right:3px}.title-award strong{font-size:19px;line-height:21px}
}
@media(prefers-reduced-motion:reduce){.title-earned>.title-card>.title-badge,.title-earned>.title-result-body>.title-card>.title-badge{animation:none}.title-card,.title-badge,.title-node{transition:none}}
@media(max-height:559px){.title-route-panel .title-next>span{display:none}.title-route-panel .title-card{min-height:92px}.title-node .title-node-phase{height:10px}.title-node .title-badge,.title-result .title-node .title-badge{width:36px;height:36px;margin-bottom:3px}.title-node{padding-bottom:1px}.title-node:before,.title-result .title-node:before{top:28px}.title-node.current:after{top:7px;left:23px;width:42px;height:42px}.title-route-panel>.action.primary{margin-top:5px}.title-route-panel>.title-card{flex-shrink:0}}
@media(max-height:559px){.title-node .title-node-phase{display:none}.title-node:before,.title-result .title-node:before{top:18px}.title-node.current:after{top:-3px}}
@media(max-height:559px){.title-result .title-overline,.title-result .title-next>span,.title-result .title-route-tip{display:none}.title-result .title-card{min-height:80px}.title-result .title-card-copy strong{font-size:16px;line-height:19px}}

/* The HUD and tool medallions add material contrast within existing hit regions. */
.study{background:radial-gradient(ellipse at 48% 21%,#fff8e877,transparent 66%),linear-gradient(180deg,#f8efdf 0,#f4e8d3 68%,#e7d4b5 100%)}
.hud::before{background:linear-gradient(110deg,#fff8eaf5 0,#f7eddaeb 58%,#eef0deda);border-bottom-color:#c8b58e;box-shadow:inset 0 1px #fffdf4,0 2px 0 #a4814e12}
.level{top:1px;padding:1px 7px;border:1px solid #d7be87;border-radius:6px;background:linear-gradient(#f6e9be,#edddb1);box-shadow:inset 0 1px #fff5d9;font-size:12px;line-height:18px;color:#826338;letter-spacing:.1px}
.timer{top:0;padding:1px 7px;border:1px solid #b5cbb1;border-radius:9px;background:linear-gradient(#f0f5e5,#dfead6);box-shadow:inset 0 1px #fbffeF;font-size:18px;line-height:24px;gap:4px;color:#36766a}.timer svg{color:#9e874e;width:17px;height:17px}.timer.urgent{color:#b94538;border-color:#d9b7a0;background:linear-gradient(#fff0db,#f0d4bd)}
.pause-button{color:#477c6d;background:linear-gradient(#fff9ec,#edf0dc);border-color:#bac3a1;box-shadow:inset 0 1px #fffdf0,0 2px 0 #9b9c732a}
.tool>svg{position:relative;z-index:1;background:#e1ecd8;border-radius:5px;box-shadow:0 0 0 3px #e1ecd8;filter:none}.tool[data-control="hint"]>svg{background:#f1e4ba;box-shadow:0 0 0 3px #f1e4ba;color:#9a7939}.tool[data-control="collection"]>svg{background:#e5e9d9;box-shadow:0 0 0 3px #e5e9d9;color:#768969}.tool .tool-label{position:relative;z-index:1}.tool .badge{z-index:2;border-color:#91b28b;background:linear-gradient(#f2f7e8,#dcebcf);color:#4b7751}

/* Release viewport fit: keep Home and the title route complete in the short
   review iframe and phone landscape without changing any gameplay surface. */
@media(min-width:400px) and (max-height:600px){.panel.title-home{padding:12px;gap:5px}.title-route-panel>.title-card{display:none}}
@media(min-aspect-ratio:3/2) and (max-height:559px){.title-home .title-card-button{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #cfb38f;border-radius:12px;background:#fff8ec}.title-home .title-card-button .title-card{display:none}.title-home .title-card-link{position:static;font-size:12px;line-height:18px}}
