:root{font-family:Segoe UI,Inter,system-ui,sans-serif;color:#17392f;background:#f6f4eb;font-synthesis:none;--ink: #17392f;--border: #dcded1;--muted: #59665c;--paper: #fffdf5;--accent: #e8b84f}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;min-width:44px;padding:.55rem .95rem;border:1px solid var(--border);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer;font-size:.88rem;font-weight:620}button:hover:enabled{background:#e8ecde}button:disabled{opacity:.52;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd6b17;outline-offset:3px}a{color:inherit}svg{flex-shrink:0}p{line-height:1.55}h1,h2,h3,p{margin-top:0}.app{max-width:1920px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;padding:0 max(24px,3vw) max(8px,env(safe-area-inset-bottom))}.mast,footer,.mast nav,.brand,.actions,.dock,.walking,.scene-top,.collection-tools,.backup,.tabs,.panel-head,.place-row,.mast button,footer div,.drop-id{display:flex;align-items:center}.mast{justify-content:space-between;min-height:82px;gap:12px;padding-top:env(safe-area-inset-top)}.brand{gap:10px;font-weight:760;font-size:1.5rem;letter-spacing:-1.4px}.brand-light{font-weight:470}.brand img{border-radius:11px}.mast nav{gap:8px}.mast nav button{background:transparent;border-color:transparent}.mast nav button:first-child{border:1px solid #cdd3c6;background:#fdfcf5}.mast .help-icon{padding:8px}.count{font-size:.75rem;border-radius:20px;background:#e1e8d8;padding:2px 7px}main{flex:1;display:flex;flex-direction:column}.stage{position:relative;isolation:isolate;overflow:hidden;flex:1;min-height:310px;border-radius:19px 19px 0 0;background:#b4c7b7}.google-canvas,.landscape,.scene-shade{position:absolute;inset:0;width:100%;height:100%}.landscape{touch-action:none}.scene-shade{pointer-events:none;background:linear-gradient(0deg,rgba(12,30,23,.78),rgba(12,30,23,.32) 21%,transparent 52%)}.scene-top{pointer-events:none;position:absolute;left:clamp(18px,2.3vw,38px);right:clamp(18px,2.3vw,38px);top:24px;justify-content:space-between;align-items:flex-start}.mode-tag,.drop-id,.bearing{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:720}.mode-tag{display:inline-flex;align-items:center;gap:9px;border:1px solid #dfece04d;background:#224b41d9;color:#fcf6e5;padding:9px 13px;border-radius:24px}.dot,.foot-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#efd18d}.bearing{color:#214b43;display:grid;justify-items:center;gap:4px}.bearing span{font-size:.72rem}.intro,.caption{position:absolute;bottom:clamp(23px,4.6vw,70px);left:clamp(19px,3.8vw,64px);right:24px;color:#fffcf0;pointer-events:none}.intro h1,.caption h1,.panel h2,.empty strong{font-family:Georgia,Times New Roman,serif;font-weight:400}.intro h1{font-size:clamp(3.2rem,6.4vw,7.2rem);letter-spacing:-.065em;line-height:1;margin-bottom:12px}.intro p{font-size:clamp(.97rem,1.4vw,1.22rem);margin:0}.caption h1{font-size:clamp(2.2rem,4vw,4.8rem);line-height:1.05;letter-spacing:-.038em;margin:10px 0;overflow-wrap:anywhere}.caption>span{font-size:.85rem;color:#f8f6e5}.drop-id{gap:7px}.dock{justify-content:space-between;gap:14px;background:var(--paper);border:1px solid var(--border);border-radius:0 0 19px 19px;padding:15px clamp(14px,2.15vw,36px)}.scope{background:transparent;border-color:transparent;text-align:left;gap:12px;padding:3px;min-width:0}.scope>span:nth-child(2){display:grid;min-width:0}.scope strong{font-size:1.05rem;line-height:1.3;overflow-wrap:anywhere}.scope small{font-size:.69rem;color:var(--muted);font-weight:550}.scope-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#e9edde}.actions{gap:8px;flex-shrink:0}.actions button{min-height:47px}.primary{background:var(--ink);color:#fffdf2;padding-inline:1.4rem;border-color:var(--ink);font-weight:670}.primary:hover:enabled,.solid:hover:enabled{background:#285b47}.primary svg:last-child{color:#f2d084}.save:disabled{opacity:.6}.marked{background:#e2ebdd}.icon{padding:6px}.walking{justify-content:center;gap:clamp(10px,2vw,24px);padding:10px 12px 0}.walking button{background:#fffdf5;border-color:#d7dccf}.walking button:hover:enabled{background:#e5e8db}.walk-copy{display:grid;gap:2px;max-width:270px;color:var(--muted);font-size:.72rem;line-height:1.35}.walk-copy strong{color:var(--ink);font-size:.82rem}.walk-pad{display:grid;grid-template-columns:repeat(3,minmax(48px,auto));grid-template-rows:repeat(2,44px);gap:4px}.walk-pad button{min-width:48px;min-height:44px;padding:4px 9px;gap:6px;font-size:.75rem}.walk-pad .walk-forward{grid-column:2}.walk-pad .walk-left{grid-column:1;grid-row:2}.walk-pad .walk-back{grid-column:2;grid-row:2}.walk-pad .walk-right{grid-column:3;grid-row:2}.walk-pad button.moving{color:#fffdf5;background:#285b47;border-color:#285b47}.walk-pad kbd{display:grid;place-items:center;min-width:19px;min-height:19px;padding:0 4px;border:1px solid currentColor;border-radius:4px;font-family:inherit;font-size:.65rem;line-height:1;opacity:.72}.walk-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.walk-tools .icon{width:44px;padding:6px}.feedback{font-size:.87rem;line-height:1.5}.feedback.shown{padding:8px 12px;border-left:3px solid #ab7c28;margin-top:8px;background:#ebe9da;color:#253e33}.feedback button{margin-left:8px}footer{justify-content:space-between;gap:14px;font-size:.75rem;color:var(--muted);min-height:50px}footer div{gap:8px}.foot-dot{background:#587e56;width:6px;height:6px}.separator{color:#8f988a;margin:0 4px}footer a,footer button{font-size:inherit;font-weight:500}footer button{padding:0;border:0;background:transparent;color:inherit}footer a{text-decoration:none}footer a:hover,footer button:hover{text-decoration:underline}.panel{border:1px solid #c6cec1;background:var(--paper);color:var(--ink);border-radius:20px;padding:clamp(19px,3vw,32px);width:min(530px,calc(100vw - 40px));max-height:85dvh;box-shadow:0 25px 90px #0e251e44;overscroll-behavior:contain}.panel::backdrop{background:#172d2675}.panel-head{justify-content:space-between;gap:16px;margin-bottom:16px}.panel h2{font-size:2.1rem;letter-spacing:-.055em;margin:0}.panel-head button{border:0;background:transparent}.panel h3{display:flex;align-items:center;gap:8px;font-size:1rem;margin:20px 0 6px}.panel p,.panel details{font-size:.9rem;color:#556057}.panel details{margin:14px 0}.panel summary{cursor:pointer;min-height:44px;padding:12px 0}.panel a{font-size:.85rem}.panel code{overflow-wrap:anywhere}.search,input,textarea,select{min-height:44px;border:1px solid #cbd1c4;border-radius:8px;background:#fffefa;color:var(--ink)}.search{display:flex;align-items:center;gap:7px;padding:0 11px}.search input{width:100%;border:0;background:transparent;min-width:0}.search input:focus-visible{outline-offset:0}.tabs{gap:4px;margin:12px 0;flex-wrap:wrap}.tabs button{flex:1;white-space:nowrap;background:transparent;border-color:transparent}.tabs button[aria-pressed=true]{background:#e5ebdd;border-color:#c9d4c3}.world-row,.region-list button,.history-row{width:100%;justify-content:space-between}.world-row{margin-top:12px;justify-content:flex-start}.region-list{max-height:34dvh;overflow:auto;overscroll-behavior:contain;border-block:1px solid var(--border)}.region-list button,.history-row{border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;text-align:left}.region-list button[aria-pressed=true]{background:#eaf1e2}.small{font-size:.78rem!important;margin:12px 0 0}.collection-tools{gap:7px}.collection-tools .search{flex:1;min-width:0}select,input,textarea{padding:7px}.place-row{border-bottom:1px solid var(--border);padding:6px 0;gap:3px}.place-row>div{flex:1;min-width:0;overflow-wrap:anywhere}.place-row .icon{border:0;background:transparent}.place-row small,.place-row p{display:block;color:var(--muted);font-size:.78rem;margin:0 0 8px}.text-button{border:0;padding:0;background:transparent;justify-content:flex-start;text-align:left;overflow-wrap:anywhere;max-width:100%}.empty{display:grid;text-align:center;justify-items:center;gap:8px;padding:30px 8px}.empty strong{font-size:1.55rem}.empty p{margin:0}.backup{gap:8px;flex-wrap:wrap;margin:14px 0}.panel form{display:grid;gap:8px;margin:12px 0}.panel form label{display:grid;gap:4px;font-size:.8rem;font-weight:600}.solid{background:var(--ink);color:#fff}.notice{padding:12px;background:#e8edde;border-radius:8px}.panel [role=status]{font-size:.9rem;margin-top:10px}@media(min-width:670px){.stage{min-height:clamp(310px,calc(100dvh - 255px),1100px)}.app:has(.walking) .stage{min-height:clamp(255px,calc(100dvh - 365px),1050px)}}@media(max-width:669px){.app{padding:0 12px max(6px,env(safe-area-inset-bottom))}.mast{min-height:65px;flex-wrap:wrap}.brand{font-size:1.17rem;letter-spacing:-.8px;gap:6px}.brand img{width:31px;height:31px}.mast nav{gap:1px}.mast nav button{padding:6px 8px}.mast .help-icon{padding:5px}.wide{display:none}.stage{min-height:clamp(275px,calc(100svh - 266px),800px);border-radius:14px 14px 0 0}.app:has(.walking) .stage{min-height:clamp(210px,calc(100svh - 382px),725px)}.scene-top{top:14px}.dock{flex-wrap:wrap;padding:9px 12px 12px;gap:6px}.scope{width:100%}.scope-icon{height:34px;width:34px}.scope>span:nth-child(2){flex:1}.scope strong{font-size:.95rem}.actions{width:100%;flex-wrap:wrap;gap:6px}.actions .primary,.save{flex:1}.actions button{padding:7px 8px;min-height:44px}.intro,.caption{bottom:24px}.scene-shade{background:linear-gradient(0deg,#102c24db,transparent 62%)}.bearing svg{width:28px}.panel{width:100%;max-width:100%;max-height:88dvh;margin:auto 0 0;border-radius:20px 20px 0 0;padding-bottom:max(22px,env(safe-area-inset-bottom))}.panel h2{font-size:1.85rem}.walking{display:grid;grid-template-columns:1fr auto;gap:7px 10px;padding:8px 2px 0}.walk-copy{max-width:none;align-self:center}.walk-copy span{font-size:.68rem}.walk-pad{grid-row:span 2}.walk-pad button{padding:4px}.walk-pad button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.walk-tools{justify-content:flex-start}.history-link{padding-inline:8px}.feedback.shown{font-size:.8rem}footer{gap:4px;flex-wrap:wrap;font-size:.66rem;min-height:40px}footer div{gap:4px}.separator{margin:0 1px}.mode-tag{font-size:.6rem}.backup button{flex:1}}@media(max-height:500px)and (orientation:landscape){.mast{min-height:48px}.stage,.app:has(.walking) .stage{min-height:48dvh}.dock{padding:5px 10px}.intro h1{font-size:2.5rem}.intro,.caption{bottom:12px}.scene-top{top:8px}.walking{display:flex;flex-wrap:nowrap;padding:3px 0 0}.walk-copy{display:none}.walk-pad{display:flex;gap:2px}.walk-pad button{min-height:44px}.walk-tools{flex-wrap:nowrap}.panel{max-height:94dvh}}@media(pointer:coarse){.walk-pad kbd{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
