@charset "UTF-8";
:root{--ink:#203c31;--green:#28513f;--paper:#faf8ef;--gold:#c4953e;--line:#dcdccd;--muted:#727b70;--font:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:var(--font);color:var(--ink);background:#cbd3cf}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #dfae4a;outline-offset:3px}button{border:0}button,a,input{-webkit-tap-highlight-color:transparent}button:not(.text-btn){min-height:44px}button{color:inherit}input{width:100%;border:1px solid #d4d8cb;background:#fffef9;border-radius:6px;padding:11px 12px;font-size:16px;color:var(--ink)}label{display:block;font-size:13px;font-weight:600;line-height:1.8}label+label{margin-top:9px}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(242,240,225,.94),rgba(240,237,224,.83) 30%,rgba(240,237,224,0) 68%)}body.playing #shade{background:linear-gradient(180deg,rgba(17,34,26,.3),transparent 35%,transparent 70%,rgba(17,34,26,.25))}#topbar{position:fixed;z-index:5;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:22px 32px;gap:12px;pointer-events:none}#topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:20px;font-weight:500;letter-spacing:-.6px;line-height:1.05}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:6px;font-weight:500}.brand-mark{display:grid;place-content:center;width:42px;height:42px;background:var(--green);border-radius:9px;color:var(--paper);font:600 33px Georgia,serif;position:relative}.brand-mark>span{position:absolute;font:20px Georgia;right:5px;top:0}.top-actions{display:flex;gap:7px}.glass{background:rgba(250,248,239,.94);backdrop-filter:blur(10px);border:1px solid #f8f8f18c;border-radius:6px;font-size:12px;padding:9px 13px}.welcome{position:fixed;top:113px;left:6vw;bottom:18px;width:425px;max-width:calc(100% - 32px);overflow-y:auto;scrollbar-width:thin;padding:0 5px 20px 0}.intro-tag{font-size:11px;font-weight:600;letter-spacing:2px;color:#536657}h1{font-size:clamp(30px,3.1vw,45px);font-weight:700;letter-spacing:-1px;line-height:1.5;margin:17px 0 12px}h1 em{font-style:normal;font-weight:500}.intro{font-size:14px;line-height:1.9;color:#5b6759}.facts{display:flex;gap:17px;font-size:11px;letter-spacing:.5px;margin:20px 0}.facts span+span{border-left:1px solid #b8c1b3;padding-left:17px}.entry-card{padding:20px 23px;background:rgba(253,251,242,.96);border:1px solid #fff;border-radius:10px;box-shadow:0 12px 44px #253c3015}.mode-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:12px;gap:16px}.mode-tabs button{background:none;padding:0 2px 10px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.mode-tabs button.selected{color:var(--green);border-bottom-color:var(--green);font-weight:700}.muted{color:var(--muted);font-weight:400}.primary{background:var(--green);color:#fffdf4;border:1px solid var(--green);border-radius:5px;padding:13px 20px;font-weight:600;font-size:15px;line-height:1.5}.primary:hover{background:#193e2b}.wide{width:100%;margin-top:14px}.secondary{border:1px solid var(--line);border-radius:5px;background:#f1f0e6;padding:12px 17px;font-size:14px}.text-btn{background:none;color:var(--green);text-decoration:underline;text-underline-offset:4px;font-size:13px;padding:9px}.fine{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0}.teacher-link{background:none;text-decoration:underline;text-underline-offset:4px;font-size:12px;padding:15px 0}.load-status{display:block;color:var(--muted);font-size:11px}.error{color:#a1452f;font-size:14px;line-height:1.6;margin:8px 0 0}.mission{position:fixed;top:98px;left:30px;width:360px;max-width:calc(100% - 60px);background:rgba(250,248,239,.96);padding:17px 18px;display:flex;align-items:center;justify-content:space-between;border-radius:6px;box-shadow:0 4px 20px #142f2d14}.mission small{display:block;color:#8b7144;font-size:10px;letter-spacing:1px;margin-bottom:7px}.mission strong{display:block;font-size:19px;line-height:1.4}.mission p{font-size:11px;margin:7px 0 0;line-height:1.6;color:var(--muted)}#routeBtn{background:none;display:grid;align-items:center;min-width:70px;font-size:29px;line-height:1}#routeBtn span{font-size:10px;margin-top:8px}.stats{position:fixed;right:30px;top:100px;display:flex;align-items:center;gap:14px;background:rgba(250,248,239,.96);padding:10px 14px;border-radius:6px;font-size:12px}.stats strong{font-variant-numeric:tabular-nums;font-size:19px}.stats small{font-weight:400;font-size:10px;color:var(--muted)}.stats button{background:none;border-left:1px solid var(--line);padding:0 0 0 12px;font-size:12px}#modeBadge{color:#8b7144;font-size:10px}#clock{font-variant-numeric:tabular-nums}.progress-track{position:fixed;bottom:0;left:0;right:0;height:5px;background:#ffffff50}.progress-track i{display:block;height:100%;background:var(--gold);transition:width .4s}#crosshair{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:#fff9;font:18px sans-serif;pointer-events:none;text-shadow:0 1px 4px #0008}#controls{position:fixed;inset:0;pointer-events:none}#controls>*{pointer-events:auto}#joystick{position:absolute;left:35px;bottom:38px;width:100px;height:100px;border:1px solid #ffffff90;border-radius:50%;background:#f5f2e532;backdrop-filter:blur(3px);touch-action:none}#stick{position:absolute;width:43px;height:43px;border:1px solid #fff;border-radius:50%;background:#f7f5e5b0;left:27.5px;top:27.5px;pointer-events:none}#joystick small{position:absolute;top:108px;width:100%;text-align:center;font-size:10px;color:#fff;text-shadow:0 1px 4px #000}.interact{position:absolute;bottom:43px;left:50%;transform:translateX(-50%);border-radius:32px;background:var(--paper);color:var(--ink);border:2px solid var(--gold);padding:15px 26px;box-shadow:0 8px 32px #18352540;font-size:14px;font-weight:600;white-space:nowrap}.interact span{margin-left:15px;color:#967341}.look-help{position:absolute;bottom:42px;right:32px;color:#fff;font-size:11px;text-align:right;line-height:1.8;text-shadow:0 1px 4px #0008;pointer-events:none!important}.look-help span{font-size:9px;opacity:.8}#toast{position:fixed;left:50%;bottom:155px;transform:translateX(-50%);background:#193c2cf2;color:#fff;padding:12px 20px;border-radius:6px;z-index:30;max-width:90vw;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}.modal{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#142b2055;backdrop-filter:blur(5px);padding:20px}.panel{width:590px;max-width:100%;max-height:calc(100dvh - 40px);background:var(--paper);box-shadow:0 25px 100px #09271750;border:1px solid #fff9;border-radius:10px;display:flex;flex-direction:column;outline:none}.panel-head{padding:24px 26px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.panel-head small{font-size:10px;color:#95723f;letter-spacing:1px}.panel h2{font-size:24px;letter-spacing:-.5px;font-weight:600;margin:9px 0 0;line-height:1.5}.close{flex-shrink:0;font-size:28px;font-weight:300;background:none;width:44px;border:1px solid #d6dccf;border-radius:50%}.panel-body{overflow:auto;padding:22px 26px;overscroll-behavior:contain}.panel-foot{padding:15px 26px 21px;border-top:1px solid var(--line);display:flex;gap:9px;flex-wrap:wrap}.panel-foot:empty{display:none}.panel-foot .primary{flex:1}.panel-foot .secondary{flex:0 0 auto}.english{font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1.65;letter-spacing:.1px;color:#213d33;margin:8px 0}.zh{font-size:14px;line-height:1.7;color:#707b6c;margin:7px 0}.clue{padding:15px 18px;background:#eceddf;border-left:3px solid #758a62;margin:8px 0 17px}.clue .english{font-size:20px}.lang-tools{display:flex;gap:7px;margin:11px 0;flex-wrap:wrap}.lang-tools button{font-size:12px;background:#eeeee3;border:1px solid var(--line);border-radius:4px;padding:7px 12px}.word{border:0!important;border-bottom:1px dotted #7f934f!important;background:none!important;padding:0!important;min-height:0!important;font:inherit!important;line-height:inherit!important;color:inherit!important;text-underline-offset:5px}.quiz-pips{display:flex;gap:6px;margin-bottom:16px}.quiz-pips i{height:4px;background:#dddcca;flex:1}.quiz-pips .done{background:var(--green)}.quiz-pips .current{background:var(--gold)}.options{display:grid;gap:10px;margin-top:15px}.option{width:100%;border:1px solid #d6d9cc;border-radius:5px;background:#fffdf5;text-align:left;padding:13px 15px;display:flex;align-items:center;gap:12px;min-height:60px!important}.option .letter{border:1px solid #d9dbc9;border-radius:50%;height:27px;width:27px;flex:0 0 27px;display:grid;place-items:center;font:13px Georgia,serif}.option .en{font-family:Georgia,serif;font-size:19px;line-height:1.4;display:block}.option .zh{display:block;font-size:13px;margin:4px 0 0}.option.selected{border-color:var(--gold);box-shadow:0 0 0 2px #ccaa5b40;background:#f7f2dc}.option.correct{background:#e2eddf;border-color:#678e60}.option.wrong{border-color:#b56c43}.feedback{background:#e2ecdc;border-left:3px solid #64845a;margin-top:15px;padding:12px 15px}.feedback.bad{background:#fff1df;border-color:#c0934a}.feedback .english{font-size:19px}.feedback .zh{margin:3px 0;font-size:13px}.tipline{font-size:13px;color:var(--muted);line-height:1.7}.receipt{border:1px solid #e0dbc9;background:#fffdf6;padding:20px;margin:12px 0;font-size:14px;line-height:1.9;position:relative}.receipt:after{content:"";position:absolute;bottom:-6px;left:0;right:0;height:7px;background:linear-gradient(135deg,#fffdf6 25%,transparent 25%) -4px 0,linear-gradient(225deg,#fffdf6 25%,transparent 25%) -4px 0;background-size:12px 12px}.receipt-head{text-align:center;font:24px Georgia,serif}.receipt-row{display:flex;justify-content:space-between;border-bottom:1px dashed #d5d4c4;padding:7px 0}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.product{background:#fffdf5;border:1px solid var(--line);border-radius:7px;padding:14px;display:flex;align-items:center;gap:13px}.pack{width:51px;height:65px;flex:0 0 51px;border-radius:4px;background-image:url('/product-atlas.png');background-size:400% 400%;box-shadow:3px 3px 8px #283a251c}.product strong{display:block;font-family:Georgia,serif;font-size:19px}.product small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.product.chosen{border:2px solid var(--green);padding:13px;background:#eaf0e3}.total-line{font-size:13px;color:var(--muted)}.shelf-diagram{position:relative;padding:14px 70px 10px 12px;background:#edece2;border-radius:5px;margin:14px 0;overflow:hidden}.shelf-row{height:46px;border-bottom:6px solid #c8cbbd;display:flex;gap:12px;align-items:flex-end;padding-left:30px;position:relative}.shelf-row span{display:block;background:#d79b58;border:1px solid #a27d44;width:26px;height:35px;border-radius:3px;box-shadow:2px 2px 0 #5d6b511a}.shelf-row:nth-child(2) span{background:#c76644}.shelf-row:nth-child(3) span{background:#b2cccf;height:31px;border-radius:5px 5px 2px 2px}.eye-line{position:absolute;right:8px;top:78px;left:0;height:1px;border-top:2px dashed #b28b46;pointer-events:none}.eye-line span{position:absolute;right:4px;top:-15px;font-size:12px;background:#edece2;padding:4px}.child-diagram .eye-line{top:123px}.visibility-diagram{display:flex;justify-content:space-around;gap:20px;background:#ebece1;padding:23px 15px;margin:15px 0}.visibility-diagram span{height:60px;width:45px;background:#be6743;border-radius:5px;position:relative}.visibility-diagram span:first-child:after,.visibility-diagram span:last-child:after{content:"";position:absolute;inset:-5px 0 0 -10px;background:#bab7a6;transform:translate(12px,15px)}.visibility-diagram span:last-child:after{inset:-10px -10px -10px -5px}.offer-sign{background:#f2dba6;padding:18px;text-align:center;font:26px Georgia,serif;border:1px solid #cfad62;margin:12px 0}.order-slots{background:#e8ecdf;padding:12px;border-radius:4px;font-family:Georgia,serif;line-height:1.8;font-size:18px;min-height:55px}.match-zone{padding:13px 0;border-bottom:1px solid var(--line)}.match-zone>strong{font-family:Georgia,serif;font-size:18px;font-weight:400}.match-zone .options{gap:6px;margin-top:8px}.match-zone .option{padding:9px 12px;min-height:44px!important}.match-zone .en{font-size:17px}.password-digits{display:flex;gap:12px;justify-content:center;margin:20px}.password-digits span{border:1px solid #d5bd7b;background:#f1e7c8;display:grid;place-items:center;width:58px;height:66px;font:35px Georgia,serif}.station-card{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:15px 17px;background:#edeee3;border:1px solid var(--line);border-radius:5px;margin:10px 0;text-align:left}.station-card strong{font-size:16px;display:block}.station-card small{font-size:12px;color:var(--muted);display:block;margin-top:6px}.station-card:disabled{cursor:not-allowed}.finish-badge{margin:0 auto 15px;border:2px solid #b59650;border-radius:50%;height:92px;width:92px;display:grid;place-items:center;font:42px Georgia,serif;color:#a18442;box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6px #c4ad74}.finish-title{text-align:center;font:28px Georgia,serif}.metric-row{display:flex;justify-content:center;gap:35px;padding:15px}.metric-row strong{display:block;font:30px Georgia,serif}.metric-row span{font-size:11px;color:var(--muted)}.board-wrap{overflow-x:auto}.board{width:100%;border-collapse:collapse;font-size:13px;min-width:310px}.board th{color:var(--muted);font-size:11px;text-align:left;font-weight:500;padding:12px 8px;border-bottom:1px solid var(--line)}.board td{padding:13px 8px;border-bottom:1px solid #e3e4d8;font-variant-numeric:tabular-nums}.board tr.me{background:#e8eddd}.board td:first-child{width:45px;font-size:20px}.board td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.admin-room{padding:15px;background:#eeeee2;border:1px solid var(--line);border-radius:5px;margin:12px 0}.admin-room .code{font:31px Georgia,serif;letter-spacing:6px}.admin-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.admin-actions button{font-size:12px;padding:8px 11px}.word-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.word-entry{background:#eeeee2;padding:12px;font-family:Georgia,serif;font-size:18px}.word-entry small{display:block;font:12px var(--font);color:var(--muted);margin-top:5px}.room-wait{text-align:center;line-height:1.8}.room-wait strong{font:34px Georgia,serif;letter-spacing:6px}.notice{font-size:13px;padding:12px;background:#f4e8c8;color:#735c33;border-radius:4px;line-height:1.7}.mini-label{font-size:10px;color:#967744;letter-spacing:1px}.panel-foot .text-btn{flex:0 0 auto}.tutorial-grid{display:grid;gap:12px}.tutorial-grid div{padding:14px;background:#eceddf}.tutorial-grid strong{display:block;font-size:16px}.tutorial-grid p{font-size:14px;line-height:1.8;margin:6px 0 0;color:var(--muted)}.evidence{font-size:12px;line-height:1.8;color:var(--muted)}
@media(max-width:900px){.stats{top:auto;bottom:163px;left:20px;right:auto;max-width:calc(100% - 40px);gap:11px;padding:7px 12px}.mission{top:89px;left:20px;max-width:calc(100% - 40px);width:330px}.welcome{left:25px}.look-help{right:20px;font-size:10px}.look-help span{display:none}}
@media(max-width:600px){#topbar{padding:14px 16px;align-items:center}.brand{font-size:16px;gap:8px}.brand-mark{width:35px;height:35px;font-size:27px}.brand small{font-size:8px;letter-spacing:1px}.top-actions{gap:4px}.glass{font-size:10px;padding:6px 8px}.top-actions button{min-height:38px!important}#shade{background:linear-gradient(90deg,#f4f1e7ee,#f4f1e7d9 65%,#f4f1e760)}.welcome{top:90px;left:20px;width:calc(100% - 40px);bottom:10px;padding-right:0}h1{font-size:30px;margin:12px 0 8px;line-height:1.4}.intro{font-size:13px;margin:9px 0}.intro-tag{font-size:10px;letter-spacing:1px}.facts{margin:14px 0;gap:12px;font-size:10px}.facts span+span{padding-left:12px}.entry-card{padding:14px 17px}label{font-size:12px}input{padding:9px 10px}.entry-card .wide{margin-top:10px}.fine{font-size:10px}.teacher-link{padding:10px 0}.mission{top:76px;left:14px;max-width:calc(100% - 28px);width:auto;right:14px;padding:12px 15px}.mission small{font-size:9px;margin-bottom:3px}.mission strong{font-size:17px}.mission p{font-size:10px;margin-top:3px}#routeBtn{font-size:25px;min-width:58px}.stats{left:14px;right:14px;bottom:150px;max-width:none;justify-content:space-between;gap:7px;font-size:11px}.stats strong{font-size:16px}.stats small{font-size:9px}.stats button{font-size:11px;padding-left:9px}.stats #modeBadge{display:none}#joystick{width:86px;height:86px;left:20px;bottom:35px}#stick{width:38px;height:38px;left:23px;top:23px}#joystick small{top:91px}.interact{bottom:50px;left:auto;right:17px;transform:none;padding:14px 17px;font-size:13px}.look-help{bottom:24px;right:26px;font-size:9px}.modal{padding:10px}.panel{border-radius:9px;max-height:calc(100dvh - 20px)}.panel-head{padding:16px 18px 13px}.panel h2{font-size:21px;margin-top:6px}.panel-body{padding:16px 18px}.panel-foot{padding:12px 18px 16px}.english{font-size:22px;line-height:1.6}.clue{padding:11px 14px}.clue .english{font-size:19px}.option .en{font-size:18px}.option{padding:12px}.product{padding:11px;gap:8px}.product.chosen{padding:10px}.pack{width:40px;flex-basis:40px;height:56px}.product strong{font-size:17px}.password-digits{margin:15px}.word-list{gap:6px}.word-entry{font-size:16px}.panel-foot .primary{font-size:14px;padding:12px}.notice{font-size:12px}}
@media(max-height:550px) and (min-width:600px){.welcome{top:83px;width:360px}.welcome h1{font-size:26px}.welcome .intro,.welcome .facts{display:none}.entry-card{padding:10px 17px}.entry-card label{display:inline-block;width:48%;vertical-align:top}.entry-card label+label{margin-top:0;margin-left:2%}.entry-card #roomField{width:100%;margin:5px 0}.mission{top:76px;padding:10px 15px}.mission p{display:none}.stats{bottom:110px;left:20px}.interact{bottom:25px}#joystick{bottom:20px;width:75px;height:75px}#stick{top:16px;left:16px}#joystick small{display:none}.look-help{bottom:27px}.panel{max-height:calc(100dvh - 20px)}.panel-head{padding:12px 20px}.panel h2{font-size:20px}.panel-body{padding:12px 20px}.panel-foot{padding:10px 20px}}
.shelf-row .shelf-cup{width:26px;height:31px;background:#faf8ef;border:1px solid #b4b6a6;border-radius:2px 2px 7px 7px;position:relative;margin-left:5px}.shelf-row .shelf-cup:after{content:"";position:absolute;right:-9px;top:5px;width:10px;height:15px;border:3px solid #b8bba9;border-left:0;border-radius:0 7px 7px 0}.shelf-row .shelf-product{display:block;width:26px;height:36px;flex:0 0 26px;background-image:url('/product-atlas.png');background-size:400% 400%;border:1px solid #bdbb9c;box-shadow:2px 2px 4px #37422818;border-radius:2px}.shelf-row .shelf-cookies{background-position:66.6667% 0}.shelf-row .shelf-water{background-position:100% 33.3333%;border-radius:6px 6px 2px 2px;height:34px;width:22px;flex-basis:22px}.shelf-row .shelf-item-label{height:auto;width:auto;background:none!important;border:0;box-shadow:none;align-self:center;font:11px var(--font);color:#52634f;margin-left:auto;padding-right:6px}.manager-placement .shelf-row{width:100%;background:transparent;border-radius:0;text-align:left;border-bottom:6px solid #c8cbbd;cursor:pointer}.manager-placement .shelf-row.selected{background:#e2e7ca;box-shadow:inset 0 0 0 2px #a8853f}.placement-hint{font:12px var(--font);color:#756743;margin:8px 0}.manager-placement .shelf-item-label{font-size:12px}.shelf-diagram .eye-line{z-index:2}
.shelf-diagram .shelf-row .shelf-product{background-image:url('/product-atlas.png');background-size:400% 400%;background-color:#f7f3e7}.shelf-diagram .shelf-row .shelf-cookies{background-position:66.6667% 0}.shelf-diagram .shelf-row .shelf-water{background-position:100% 33.3333%}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* v1.2: responsive roster, compact task cards and walking guidance. */
.profile-fields{display:grid;grid-template-columns:74px 63px minmax(0,1fr);gap:8px;align-items:end}
.profile-fields>label{width:auto!important;margin:0!important;min-width:0}
.profile-fields input{min-width:0;margin-top:4px}
.partner-toggle{margin:4px 0;padding:7px 0}
#partnerFields{border-top:1px dashed var(--line);padding-top:8px;margin:2px 0 10px}
#roomField{margin-top:7px}
.interact:not(.near){background:#f7f4e5eb;border-color:#c8c6ae;font-weight:500}
.interact.near{background:#f9e9bc;border-color:#d6a644}
.nav-hint{position:absolute;left:50%;transform:translateX(-50%);bottom:116px;padding:8px 13px;display:flex;gap:9px;align-items:center;background:#254736ef;color:#fff9e6;border:1px solid #d8b46b;border-radius:6px;font-size:12px;white-space:nowrap;pointer-events:none!important}
.nav-arrow{display:grid;place-items:center;width:23px;height:23px;font-size:19px;color:#ffcc78;transform-origin:center}
.walk-map{display:block;width:100%;max-height:320px}
.map-label{font:12px var(--font);fill:#2f4a39}
.panel.wide-question{width:min(900px,100%)}
.panel.wide-admin{width:min(980px,100%)}
.wide-question .panel-head{padding:15px 23px 12px}
.wide-question .panel h2,.wide-question h2{font-size:22px;margin-top:4px}
.wide-question .panel-body{padding:16px 23px}
.wide-question .panel-foot{padding:12px 23px 15px}
.question-layout{display:grid;gap:17px;align-items:start}
.question-visual,.question-work{min-width:0}
.question-layout.no-visual .question-work{width:min(100%,710px);margin-inline:auto}
.question-layout .english{font-size:21px;margin:4px 0;line-height:1.43}
.question-layout .zh{margin:4px 0;font-size:13px;line-height:1.5}
.question-layout .clue{margin:0 0 8px;padding:9px 12px}
.question-layout .clue .english{font-size:17px}
.question-layout .lang-tools{gap:5px;margin:8px 0}
.question-layout .lang-tools button{padding:5px 9px}
.question-layout .options{gap:6px;margin-top:8px}
.question-layout .option{min-height:46px!important;padding:8px 11px}
.question-layout .option .en{font-size:17px}
.question-layout .shelf-diagram,.question-layout .offer-sign{margin:0 0 9px}
.question-layout .feedback-slot:empty{display:none}
.question-layout .feedback{margin-top:9px;padding:8px 11px}
.question-layout .feedback .english{font-size:17px}
.answer-done{padding:12px 3px 5px;display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:center}
.answer-done .feedback{grid-column:1/-1;margin-top:3px}
.answer-check{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#dce9d8;color:#28513f}
.cipher-puzzle,.receipt-puzzle,.placement-plan{background:#edece0;border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:8px}
.cipher-puzzle .mini-label{display:block;margin-bottom:4px}
.cipher-row{min-height:39px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;border-bottom:1px solid #d7d8ca;font-size:13px}
.cipher-step{font-size:16px;font-weight:700;color:#365c47}
.price-tag{background:#faecc6;color:#604c2c;border:1px solid #d4b977;border-radius:4px;min-width:29px;padding:3px 7px;text-align:center;font-size:13px}
.cipher-box-row{padding-top:8px}
.cipher-box{width:100%;min-height:44px;padding:8px 10px;border:2px solid #805520;border-radius:6px;background:#ffe1a0;color:#463018;text-align:left;font:700 14px/1.3 var(--font);cursor:pointer}
.cipher-box:not([aria-disabled="true"]):hover{background:#ffd17c}
.cipher-box[aria-disabled="true"]{border-color:#64896a;background:#dbe9d8;color:#28513f;cursor:default}
body:not(.free-walk) #joystick,body:not(.free-walk) .look-help{display:none}
.mission:has(#compareControls:not([hidden])){flex-wrap:wrap}
#compareControls:not([hidden]){flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
#compareControls button{min-height:40px;font-size:12px;padding:6px 9px}
#compareControls button[aria-pressed="true"]{background:#dfebdb;border-color:#8aac8e;color:#274936}
#compareControls .primary:disabled{opacity:.55}
@media(max-width:600px){
 body.checkout-compare .stats{display:none}
 body.checkout-compare:not(.free-walk) .mission{top:auto;bottom:14px}
}
.code-entry{display:grid;justify-items:start;gap:5px;margin-top:10px}
.code-entry input{width:106px;margin:0;letter-spacing:.27em;text-align:center;font-size:21px}
.receipt-puzzle{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.shopping-note,.shopping-bag{padding:7px;background:#fffdf1;border-radius:4px}
.shopping-note strong,.shopping-bag strong{display:block;font-size:10px;margin-bottom:4px}
.shopping-note span{font-size:14px}
.shopping-bag .pack{display:inline-block;width:26px;height:37px;margin:0 3px}
.receipt-puzzle .receipt{grid-column:1/-1;margin:0;padding:8px 10px}
.receipt-puzzle .receipt-head{font-size:16px}
.receipt-puzzle .receipt-row{font-size:13px;padding:4px}
.receipt-gap{background:#f5e7ba}
.question-layout .option .pack{width:30px;height:38px;flex-basis:30px}
.placement-plan{display:grid;gap:6px;text-align:center}
.window-band{background:#e1e9d5;padding:8px;font-size:13px}
.floor-aisle,.plan-door{font-size:11px;color:var(--muted);padding:3px}
.place-window{background:#fff9dd;border:1px dashed #c28d46;border-radius:4px;font-size:12px;padding:6px}
.place-window.placed{background:#dce9d2;border-style:solid}
.placement-objects{display:grid;gap:5px;margin-top:7px}
.object-choice{display:flex;align-items:center;text-align:left;gap:7px;padding:7px 9px;background:#fffdf4;border:1px solid var(--line);border-radius:4px;font-size:14px}
.object-choice small{font-size:11px;color:var(--muted)}
.object-choice.selected{background:#f8efd1;border-color:#bc914b}
.object-icon{min-width:42px;font-size:16px}
.compact-match{display:grid;gap:6px;margin-top:8px}
.match-line{display:grid;grid-template-columns:minmax(125px,.9fr) minmax(0,1.2fr);gap:9px;align-items:center;padding:6px 8px;background:#eeefe3;border-radius:4px}
.match-line+.match-line{margin:0}
.match-label{font:16px/1.35 Georgia,serif}
.match-label small{display:block}
.match-line select{min-width:0;width:100%;min-height:44px;border:1px solid #c7cebb;background:#fffdf4;color:var(--ink);border-radius:4px;font:15px var(--font);padding:5px 6px}
.admin-identity{font-size:17px;font-weight:700;margin:0 0 5px}
.admin-row-actions{white-space:nowrap}
.admin-row-actions .text-btn{padding:8px 5px}
.board.attempts td:first-child{font-size:13px;width:auto;min-width:150px}
.board.attempts td:nth-child(3){min-width:100px}
.attempt-correct{color:#286049;font-weight:700}
.attempt-wrong{color:#9a4b33;font-weight:700}
@media(min-width:740px){.question-layout:not(.no-visual){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
@media(max-width:600px){
 .profile-fields{grid-template-columns:62px 56px minmax(0,1fr)}
 .nav-hint{bottom:116px;left:auto;right:16px;transform:none}
 .interact{max-width:calc(100% - 121px);white-space:normal;line-height:1.3}
 .wide-question .panel-head{padding:12px 15px 10px}
 .wide-question h2{font-size:19px}
 .wide-question .panel-body{padding:12px 15px}
 .wide-question .panel-foot{padding:10px 15px 12px}
 .question-layout{gap:7px}
 .question-layout .english{font-size:19px}
 .question-layout .option .en{font-size:16px}
 .match-line{grid-template-columns:1fr;gap:4px}
 .match-label{font-size:15px}
}
@media(max-height:535px) and (min-width:600px){
 .nav-hint{bottom:85px}
 .wide-question .panel-head{padding:9px 18px}
 .wide-question .panel-body{padding:10px 18px}
 .wide-question .panel-foot{padding:8px 18px}
}
