@font-face{font-family:Shift;src:local('Avenir Next'),local('Segoe UI')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Shift,Arial,sans-serif;color:#263830;background:#dee8d9;font-size:16px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d89940;outline-offset:4px}button:disabled{opacity:.4;cursor:default}button,a{color:inherit}button{border:0}button:not(.item):not(.choice):not(.cell):not(.map-node):active{transform:translateY(1px)}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#game-shell{position:fixed;inset:0}#world.loading{opacity:.5}.load-note{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#fff;padding:12px 20px;border-radius:30px;z-index:20}.hud{position:absolute;inset:20px 24px auto;display:flex;gap:16px;justify-content:space-between;align-items:flex-start;pointer-events:none}.objective,.hud-actions,.bottom-bar{pointer-events:auto}.objective{background:#fffdf4f2;backdrop-filter:blur(12px);border:1px solid #fff9;box-shadow:0 8px 32px #273b1d17;border-radius:20px;padding:18px 22px;width:min(450px,55vw)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}.objective h2{margin:8px 0 6px;font-size:23px;line-height:1.15}.objective p{margin:0;font-size:13px;line-height:1.5;color:#607064}.progress{height:5px;background:#dce5da;border-radius:5px;margin-top:14px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);transition:width .4s}.hud-actions{display:flex;gap:8px}.soft,.primary,.secondary{border-radius:13px;min-height:46px;padding:12px 18px;font-weight:750;transition:background .15s,box-shadow .15s}.soft{background:#fffdf3ed;border:1px solid #fff9;box-shadow:0 3px 12px #17351d12}.primary{background:var(--accent);color:white;box-shadow:0 5px 14px color-mix(in srgb,var(--accent),transparent 70%)}.primary:hover{filter:brightness(1.08)}.secondary{background:#e8ece3;color:#344637}.soft:hover,.secondary:hover{background:#fdfdf7}.bottom-bar{position:absolute;bottom:22px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.controls-tip{background:#fffdf3eb;border-radius:15px;padding:13px 18px;font-size:12px;color:#5c6a5c;backdrop-filter:blur(8px)}kbd{background:#fff;border:1px solid #d4dcd1;border-radius:4px;padding:2px 4px}.interaction{max-width:360px;display:flex;gap:10px;align-items:center}.interaction .primary{min-width:150px}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--light);border-radius:30px;color:var(--accent);font-size:12px;font-weight:750}.menu-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#f5f2e6f2 0%,#f5f2e6d9 30%,#f5f2e620 65%,#f5f2e600 100%);display:flex;align-items:center;padding:42px 7vw;overflow:auto}.menu-card{width:470px;max-width:100%;padding:10px 0}.menu-card h1{font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-.055em;margin:24px 0}.menu-card .lead{font-size:20px;line-height:1.5;max-width:410px}.menu-card p{line-height:1.65;color:#596452}.menu-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.menu-tags span{font-size:12px;background:#fff9;padding:8px 12px;border-radius:8px}.menu-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 16px}.menu-card .primary{padding:17px 27px;font-size:17px}.back-link{text-decoration:none;font-size:13px;font-weight:700;color:#69705e}.back-link:hover{text-decoration:underline}.demo-note{font-size:11px;max-width:390px}.modal-wrap{position:fixed;inset:0;z-index:30;background:#1b2a26a8;backdrop-filter:blur(7px);display:grid;place-items:center;padding:24px}.modal{background:#fffcf3;width:min(980px,100%);max-height:calc(100dvh - 48px);overflow:auto;border-radius:27px;box-shadow:0 24px 80px #07150b55;position:relative;padding:32px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.modal h2{font-size:30px;letter-spacing:-.035em;margin:7px 0 0}.close{width:42px;height:42px;flex:none;border-radius:50%;background:#e8ebe2;font-size:24px}.brief{font-size:15px;line-height:1.7;color:#607064;margin:0 0 22px;max-width:800px}.mission-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px}.mentor{background:var(--light);border-radius:20px;padding:20px;text-align:center;align-self:start}.mentor img{height:155px;max-width:100%;object-fit:contain}.mentor strong{display:block;font-size:13px;margin:10px 0}.mentor p{font-size:12px;line-height:1.6;color:#607064}.mini-content{min-width:0}.mini-content h3{font-size:20px;margin:0 0 14px}.mini-content p{line-height:1.6}.instruction{padding:14px 16px;background:#eaf0e3;border-radius:12px;font-size:13px;line-height:1.6;margin-bottom:18px}.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.item{background:white;border:2px solid #dce3d6;border-radius:16px;padding:13px;text-align:center;position:relative;min-height:125px;transition:border-color .15s,background .15s}.item:hover{border-color:var(--accent)}.item.selected{background:var(--light);border-color:var(--accent)}.item img{height:74px;width:85px;max-width:100%;object-fit:contain;display:block;margin:0 auto 8px}.item strong{display:block;font-size:13px;line-height:1.4}.item small{display:block;color:#6b7867;line-height:1.5;font-size:11px;margin-top:5px}.item .count{position:absolute;right:7px;top:7px;background:var(--accent);color:white;border-radius:20px;padding:3px 7px;font-size:12px}.row-card{background:white;border:1px solid #dce3d6;border-radius:15px;padding:16px;margin-bottom:10px;display:flex;align-items:center;gap:14px}.row-card img{height:62px;width:65px;object-fit:contain}.row-card .row-body{flex:1;min-width:0}.row-card strong{font-size:14px;display:block}.row-card p{font-size:12px;color:#687463;margin:5px 0}.row-card select,.field select,.field input{width:100%;padding:10px;background:#f6f7f0;border:1px solid #c9d3c2;border-radius:9px;font-size:14px;margin-top:8px}.row-card select{max-width:240px}.feedback{padding:16px 18px;border-radius:13px;margin:18px 0 0;line-height:1.65;font-size:14px;background:#fff1d4;color:#795522}.feedback.good{background:#e3efdf;color:#2a603d}.feedback:empty{display:none}.mini-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.choice{display:block;text-align:left;background:white;width:100%;border:2px solid #dde4d8;padding:15px 17px;margin:10px 0;border-radius:14px;line-height:1.6;font-size:14px}.choice:hover{background:var(--light);border-color:var(--accent)}.dialog-speaker{display:flex;align-items:center;gap:14px;background:var(--light);padding:14px;border-radius:16px;margin-bottom:18px}.dialog-speaker img{height:85px;width:65px;object-fit:contain}.dialog-speaker blockquote{margin:0;line-height:1.6;font-weight:600}.register{display:grid;grid-template-columns:1fr 1fr;gap:18px}.receipt{padding:19px;background:white;border:1px dashed #bdc9b4;border-radius:8px}.receipt h3{font-size:16px;text-align:center}.receipt-line{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px dotted #d8dece}.receipt-total{display:flex;justify-content:space-between;font-weight:bold;margin:18px 0}.phone{max-width:340px;margin:auto;background:#f3f5ed;border:8px solid #293b34;border-radius:30px;padding:20px 17px;min-height:370px;box-shadow:0 8px 25px #10271d16}.phone-top{display:flex;justify-content:space-between;font-size:11px;color:#617260;margin-bottom:28px}.phone h3{font-size:23px}.phone .choice{padding:12px}.phone p{font-size:13px}.route-map{position:relative;background:#ecf0df;border-radius:18px;min-height:280px;margin:10px 0;padding:20px}.route-map svg{position:absolute;inset:0;width:100%;height:100%}.route-map line{stroke:#b5c0a2;stroke-width:5}.route-map line.blocked{stroke:#cf8d7b;stroke-dasharray:8 7}.map-node{position:absolute;transform:translate(-50%,-50%);background:#fffdf4;border:2px solid #bdc9b3;border-radius:14px;padding:10px 12px;font-size:12px;font-weight:700;z-index:1}.map-node.selected{background:var(--accent);border-color:var(--accent);color:white}.map-node:disabled{opacity:.6}.map-cost{position:absolute;font-size:11px;color:#63745e;background:#f5f5e7;border-radius:8px;padding:3px 6px;z-index:1}.route-summary{font-weight:650;font-size:14px;margin:14px 0}.grid-storage{display:grid;grid-template-columns:35px repeat(4,1fr);gap:8px;align-items:center;text-align:center}.grid-storage .cell{padding:18px 5px;background:#e9dfc8;border:2px solid #c3b18c;border-radius:9px;color:#55492c}.grid-storage .cell.selected{border-color:var(--accent);background:var(--light)}.field{margin:12px 0}.field label{font-size:13px;font-weight:700}.result-score{font-size:72px;letter-spacing:-.06em;color:var(--accent);font-weight:850;line-height:1}.result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:24px 0}.result-cell{padding:16px 12px;background:var(--light);border-radius:12px}.result-cell strong{display:block;font-size:24px;margin-bottom:8px}.result-cell span{font-size:12px;line-height:1.5;display:block}.journal-list{list-style:none;padding:0}.journal-list li{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid #e3e7dc}.journal-list .num{width:30px;height:30px;background:var(--light);color:var(--accent);border-radius:50%;display:grid;place-items:center;flex:none}.journal-list strong{display:block}.journal-list p{font-size:13px;color:#75816f;line-height:1.6;margin:6px 0 0}.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:#293d33;color:white;padding:13px 23px;border-radius:14px;font-size:14px;z-index:50;max-width:90vw;text-align:center}.counter-label{font-size:12px;color:#677363}.menu-card .counter-label{margin-top:12px}.reset-confirm{padding:18px;background:#fff1d4;border-radius:12px;margin:14px 0}.app-table{width:100%;border-collapse:collapse;background:white;font-size:13px}.app-table th,.app-table td{padding:12px;text-align:left;border-bottom:1px solid #dce4d2}.app-table th{background:#e9efe2}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}@media(max-width:700px){.hud{inset:12px 12px auto;gap:8px}.objective{width:calc(100% - 52px);padding:14px 15px;border-radius:16px}.objective h2{font-size:18px}.objective p{font-size:12px}.objective .eyebrow{font-size:9px}.hud-actions{flex-direction:column}.hud-actions .soft{width:42px;height:42px;padding:0;min-height:42px}.hud-actions .button-label{display:none}.bottom-bar{bottom:14px;left:12px;right:12px;align-items:flex-end}.controls-tip{max-width:145px;padding:10px 12px;font-size:10px}.controls-tip .desktop-hint{display:none}.interaction{max-width:185px;flex-direction:column;align-items:stretch}.interaction .secondary{font-size:12px;padding:11px}.interaction .primary{font-size:13px;padding:12px;min-width:0}.menu-scrim{padding:28px;background:linear-gradient(90deg,#f6f3e7f5,#f6f3e7db 80%,#f6f3e790)}.menu-card h1{font-size:49px}.menu-card .lead{font-size:18px}.menu-card p{font-size:14px}.modal-wrap{padding:10px}.modal{padding:22px 18px;border-radius:20px;max-height:calc(100dvh - 20px)}.modal h2{font-size:25px}.mission-layout{display:block}.mentor{display:none}.items{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.item{min-height:120px;padding:10px}.item img{height:65px}.row-card{padding:12px;gap:10px;flex-wrap:wrap}.row-card img{height:50px;width:42px}.row-card select{max-width:none}.register{grid-template-columns:1fr}.receipt{order:2}.result-grid{grid-template-columns:repeat(2,1fr)}.brief{font-size:13px}.route-map{min-height:260px}.map-node{font-size:10px;padding:9px}.map-cost{font-size:10px}.app-table th,.app-table td{padding:8px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.menu-scrim{background:linear-gradient(90deg,#f5f2e6fc 0%,#f5f2e6f9 37%,#f5f2e6cc 47%,#f5f2e610 68%,#f5f2e600 100%)}.menu-card{position:relative}.menu-card .lead{max-width:390px}.mini-content>.mini-actions{position:sticky;bottom:-32px;background:#fffcf3;padding:12px 0;z-index:2}@media(max-width:700px){.menu-scrim{background:linear-gradient(90deg,#f5f2e6fa,#f5f2e6ed 80%,#f5f2e6bb)}.mini-content>.mini-actions{bottom:-22px}}
.sort-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.dropzone{min-height:150px;background:#ebeede;border:2px dashed #c0cbb2;border-radius:15px;padding:8px}.dropzone:has(.item){border-style:solid;background:var(--light)}.zone-assign{background:#fffdf5;width:100%;font-size:12px;font-weight:750;line-height:1.5;padding:12px 8px;border-radius:10px;color:var(--accent);min-height:48px}.zone-assign:hover{background:#fff}.zone-items{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding-top:8px}.zone-items .item{min-height:100px;flex:1 1 80px;padding:7px;max-width:140px}.zone-items .item img{height:48px;width:60px;margin-bottom:5px}.zone-items .item strong{font-size:11px}.zone-items .item small{font-size:10px}.sort-source:empty{display:none}.sort-card[draggable]{cursor:grab}.sort-card[draggable]:active{cursor:grabbing}@media(max-width:700px){.sort-zones{gap:6px}.dropzone{padding:5px;min-height:130px}.zone-assign{font-size:10px;padding:9px 4px}.zone-items .item{min-height:90px}.zone-items .item img{height:42px}.zone-items .item small{display:none}}
