:root{color-scheme:light;font-family:Palatino,"Palatino Linotype","Noto Serif",Georgia,serif;color:#34433d;background:#e8dfcc;font-variant-numeric:lining-nums tabular-nums}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}canvas,.vignette{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#bridge{pointer-events:none}.vignette{pointer-events:none;box-shadow:inset 0 0 120px #67573620}button,input{font:inherit}button{min-height:42px;min-width:42px;padding:10px 17px;border:1px solid #61776929;border-radius:100px;background:#ffffff35;color:inherit;cursor:pointer;transition:background .2s,transform .2s}button:hover{background:#fff9}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid #477969;outline-offset:3px}.primary{background:#42685b;color:#fff9eb;border-color:transparent}.primary:hover{background:#345548}.glass{background:#f7f1e4bd;backdrop-filter:blur(22px);border:1px solid #fff9;box-shadow:0 10px 40px #413c3015;border-radius:20px}
.panel,.album-panel{position:absolute;right:max(16px,env(safe-area-inset-right));top:82px;bottom:140px;width:350px;padding:22px;overflow:auto}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel h2,.album-panel h2{font-weight:400;font-size:23px;margin:0}.panel h3{font-weight:400;margin:24px 0 8px}.panel p{font-size:14px;line-height:1.65}.settings{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.settings button{font-size:13px;padding:9px}.settings label{grid-column:span 2;margin:10px 0;display:flex;gap:8px;align-items:center}.muted{opacity:.55;font-size:12px!important}.album-panel{width:min(620px,calc(100% - 32px));}.album-page{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;margin:8px 0;border-radius:12px;padding:12px;background:#fff4}.album-page .mini{width:35px;height:32px;clip-path:polygon(0 100%,38% 0,62% 65%,80% 29%,100% 100%);background:linear-gradient(125deg,#e4deca 20%,#60766a 21%,#c4cabc 70%)}.album-page small{font-size:11px;opacity:.6}.completion{position:absolute;width:min(380px,calc(100% - 32px));left:50%;top:50%;transform:translate(-50%,-50%);padding:30px;text-align:center}.completion h2{font-size:24px;font-weight:400}.completion p{line-height:1.5}.completion button{margin:4px}.seal{display:inline-grid;place-items:center;width:35px;height:35px;color:#a34634;border:1px solid #a34634;font-size:23px}.toast{position:absolute;top:max(138px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:min(480px,calc(100% - 32px));padding:12px 20px;font-size:13px;text-align:center;pointer-events:none}.gl-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:24px;text-align:center} [hidden]{display:none!important}

/* One quiet surface holds the fold controls, route guidance and four actions. */
#ui:has(#welcome:not([hidden])) .hud{display:none}
.hud{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(660px,calc(100% - 32px));padding:8px;border-radius:22px;background:#f7f1e4ad}
.hud-fold{display:flex;align-items:center;gap:16px;padding:0 5px 8px}
.hud-fold:has(.fold-control[hidden]){display:none}
.fold-control{position:static;transform:none;display:flex;flex:none;gap:5px;padding:0;background:none;border:0;box-shadow:none;border-radius:0}
.fold-control div{display:grid;text-align:center;min-width:66px;gap:1px;font-size:11px}
.fold-control strong{font-size:19px;font-weight:400}
.fold-control button{width:42px;height:42px;padding:0;background:#ffffff30;border:1px solid #61776920;font-size:24px}
.guidance{pointer-events:none;position:static;transform:none;flex:1;width:auto;text-align:left;text-shadow:none;min-width:0}
.guidance p{margin:0 0 3px;font-size:13px;line-height:1.35}
.guidance span{display:block;font-size:11px;line-height:1.3;opacity:.65}
.dock{position:static;transform:none;display:grid;grid-template-columns:1.35fr 1fr 1.2fr 1fr;gap:6px;padding:0;max-width:none;width:auto;white-space:normal}
.dock button{font-size:13px;line-height:1.25;padding:9px 12px;min-height:42px;overflow-wrap:normal}
.welcome{position:absolute;top:auto;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(520px,calc(100% - 32px));padding:17px 20px;display:flex;align-items:center;gap:20px;line-height:1.4;background:#f7f1e49e}
.welcome div{flex:1;min-width:0}.welcome h2{font-weight:400;font-size:21px;margin:0 0 5px;letter-spacing:.03em}.welcome p{font-size:13px;margin:0;line-height:1.4}.welcome button{flex:none;font-size:14px}
.corner{position:absolute;top:max(74px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));text-align:right;pointer-events:none;opacity:.8}.corner h1{font-weight:400;font-size:21px;margin:5px 0;letter-spacing:.03em}.corner span{opacity:.7;font-size:11px;letter-spacing:.03em}

@media(max-width:600px){
 .hud{width:calc(100% - 24px);bottom:max(12px,env(safe-area-inset-bottom));padding:7px;border-radius:20px}
 .hud-fold{gap:10px;padding:0 2px 7px}.fold-control{gap:2px}.fold-control div{min-width:54px;font-size:10px}.fold-control strong{font-size:17px}
 .guidance p{font-size:11px;line-height:1.3;margin-bottom:3px}.guidance span{font-size:10px}
 .dock{gap:4px}.dock button{font-size:12px;padding:7px 5px;min-height:46px;min-width:42px;white-space:normal}
 .welcome{left:50%;bottom:max(20px,env(safe-area-inset-bottom));width:calc(100% - 24px);padding:14px;gap:14px}.welcome h2{font-size:18px}.welcome p{font-size:12px}.welcome button{font-size:13px;padding:9px 15px}
 .corner{top:max(74px,env(safe-area-inset-top));right:18px}.corner h1{font-size:17px}.corner span{font-size:10px}
 .panel,.album-panel{top:auto;bottom:154px;right:12px;width:calc(100% - 24px);max-height:calc(100% - 232px);padding:18px}.panel p{font-size:13px}.completion{padding:20px}
 html[lang=de] .dock #undo{font-size:11px;padding-inline:4px}
}
@media(max-height:500px){
 .hud{bottom:max(8px,env(safe-area-inset-bottom));padding:6px;width:min(660px,calc(100% - 24px))}.hud-fold{padding-bottom:5px}.guidance p{font-size:11px}.guidance span{font-size:10px}.dock button{min-height:42px;padding-block:6px}
 .welcome{position:absolute;top:auto;left:50%;bottom:max(12px,env(safe-area-inset-bottom));width:min(480px,calc(100% - 24px));padding:12px 16px}.welcome h2{font-size:18px}.welcome p{font-size:12px;margin:0}
 .corner{top:70px;right:18px}.corner h1{font-size:16px}.corner span{font-size:10px}.panel,.album-panel{top:74px;bottom:134px;max-height:none}.toast{top:74px}.completion{padding:14px}.completion h2{font-size:19px;margin:10px 0}.completion p{font-size:12px;margin:10px 0}
}
@media(max-width:320px){
 .hud-fold{gap:7px;padding-inline:0}.fold-control div{min-width:42px}.fold-control{gap:0}.guidance p{font-size:10px}.guidance span{display:none}.dock{gap:3px;grid-template-columns:1.2fr 1fr 1.2fr 1fr}.dock button{font-size:10px;padding:5px 3px;min-height:42px}.welcome{padding:12px;gap:10px}.welcome h2{font-size:15px}.welcome p{font-size:11px}.welcome button{font-size:12px;padding:8px 10px}.corner{display:none}.completion .seal{display:none}
 html[lang=de] .dock{grid-template-columns:1.1fr 1.3fr 1.1fr .95fr}html[lang=de] .dock #undo{font-size:10px;padding-inline:2px}
}

.gesture-cue{position:absolute;color:#966444;font:28px Georgia,serif;pointer-events:none;text-shadow:0 1px 7px #fff;transform:translate(-50%,-110%)}button{touch-action:manipulation}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
