:root{font:13px/1.7 Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#e8e4d6;background:#1b303e;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #f0c686;outline-offset:3px}[hidden]{display:none!important}#world{position:fixed;inset:0}#world canvas{width:100%;height:100%;display:block}.vignette{position:fixed;pointer-events:none;inset:0;background:linear-gradient(180deg,#09192377,transparent 17%,transparent 56%,#09131e9c);box-shadow:inset 0 0 120px #07142040}header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:23px 32px;gap:16px}.edition{text-decoration:none;font-family:Georgia,serif;letter-spacing:3px;font-size:16px}.edition span{font-family:inherit;display:block;font-size:10px;letter-spacing:2px;color:#abbec0;margin-top:2px}.top-actions{display:flex;gap:15px}.top-actions button{border:0;background:transparent;min-height:44px;font-size:11px;letter-spacing:1px;padding:7px 10px}.top-actions button:hover{background:#203541a8}.scene-title{position:fixed;left:42px;bottom:245px;pointer-events:none;text-shadow:0 3px 20px #06151c}.scene-title p:first-child{font-size:10px;letter-spacing:3px;color:#afbdbe;margin:0 0 8px}.scene-title h1{font:400 43px/1.5 Hiragino Mincho ProN,Yu Mincho,serif;letter-spacing:10px;margin:0}.scene-title p:last-child{font-size:11px;letter-spacing:1.6px;line-height:2;color:#bfc8c4;margin:8px 0}.weather{position:fixed;right:36px;top:110px;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:2px;color:#c9d6d4}.dot{width:5px;height:5px;border-radius:50%;background:#d2b379;box-shadow:0 0 12px #edbd67}footer{position:fixed;bottom:25px;left:50%;transform:translate(-50%);width:min(830px,calc(100% - 64px))}nav{display:flex;gap:4px;margin:0 0 10px;background:#10222b91;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #8daba426;width:max-content;border-radius:3px}nav button{border:0;border-bottom:2px solid transparent;background:none;min-height:44px;padding:10px 19px;font-size:11px;letter-spacing:.7px;color:#9eb6b6}nav button small{font:9px Georgia,serif;margin-right:8px}nav button[aria-pressed=true]{border-color:#d8b678;color:#f0e5ca;background:#51656633}.voyage{background:#0f222dc9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #a1bbb02b;box-shadow:0 8px 40px #07172344;border-radius:4px;padding:12px 17px 9px}.route-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.2px;color:#a9bcbb;margin-bottom:8px}.gate-row{display:flex;align-items:center;gap:13px}.gate-row>button{flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:0 8px;min-height:57px;position:relative}.gate-row button small{display:block;font-size:8px;color:#8eacab;letter-spacing:1px}.gate-row button b{font-size:12px;font-weight:400;letter-spacing:1px}.gate-row button span{display:block;font-size:9px;color:#c3b18a}.gate-row>button:hover{background:#8ca99a12}.gate-row>button.passed{opacity:.55}.gate-row>i{font-size:12px;font-style:normal;color:#758f8c}.sail-actions{display:flex;gap:8px;margin-left:6px}#sail{background:#d8c6a0;color:#243d42;min-height:48px;padding:8px 25px;border:0;border-radius:3px;font-size:12px;letter-spacing:1px;min-width:147px}#reset{border:1px solid #a4b6a947;border-radius:3px;background:none;width:43px;min-height:48px;font-size:23px}.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}#status{font-size:10px;color:#c1d0c7;margin:0;min-height:20px}.status-row button{border:0;background:transparent;padding:3px 0;white-space:nowrap;font-size:9px;color:#a6bcb9;min-height:28px}.progress{height:1px;background:#84999335;margin-top:7px}.progress i{display:block;height:1px;background:#d2b984;width:0;transition:width .2s}#markers{position:fixed;inset:0;pointer-events:none}.gate-marker{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;pointer-events:auto;border:0;background:transparent;border-radius:50%;color:#efddb7;font:11px Georgia,serif;isolation:isolate}.gate-marker:before{content:"";position:absolute;inset:7px;border:1px solid #dfca9866;border-radius:50%;background:#18303ebd;z-index:-1}.boat-label{position:absolute;transform:translate(-50%,-100%);padding:2px 9px;color:#f2e6c7;background:#2036459e;border-radius:2px;font-size:9px;white-space:nowrap}.boat-label:after{content:"";position:absolute;border:4px solid transparent;border-top-color:#d9c38b;bottom:-8px;left:calc(50% - 4px)}#settings{position:fixed;right:26px;top:86px;width:285px;background:#112632ee;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #a2b6ab33;padding:20px;z-index:20;border-radius:5px}.settings-head{display:flex;align-items:center;justify-content:space-between;color:#e6d9bb;font-family:Yu Mincho,serif}.settings-head button{font-size:22px;background:none;border:0;width:44px;height:44px}.row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #839ca526;padding:6px 0;font-size:11px}.row>span{color:#a9babc}.row button{border:0;background:none;min-height:44px;min-width:85px}#record{border:1px solid #baa77c66;background:#5e655033;border-radius:3px;padding:12px 8px;width:100%;margin-top:12px}#settings p{font-size:10px;color:#8fa6a9;line-height:1.9}#settings>a{display:block;font-size:11px;padding:8px 0}#arrival{position:fixed;left:50%;top:22%;transform:translate(-50%);text-align:center;pointer-events:none;text-shadow:0 3px 30px #10202c;width:90%}#arrival p{font-size:9px;letter-spacing:4px;color:#d4c9b0}#arrival h2{font-family:Yu Mincho,serif;font-weight:400;letter-spacing:5px;font-size:28px;margin:12px}#arrival span{font-size:11px;color:#c2cfca;letter-spacing:1px}dialog{background:#192f39;color:#e4dbc6;border:1px solid #6d8073;border-radius:5px;padding:28px;max-width:750px;width:calc(100% - 40px)}dialog::backdrop{background:#061721ab;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}dialog h2{font-family:Yu Mincho,serif;font-weight:400;letter-spacing:3px}dialog img{width:100%;max-height:60vh;object-fit:contain}dialog a{display:inline-block;padding:12px;margin:12px 12px 0 0;border:1px solid #bfad7c66;text-decoration:none}#close-image{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;background:none;font-size:24px}#notice{position:fixed;top:85px;left:50%;transform:translate(-50%);background:#183540ed;padding:12px 20px;border:1px solid #a6c3b559;border-radius:4px;z-index:30;text-align:center}#notice a{display:block;padding:10px;color:#f2d39a}#fallback{position:fixed;inset:0;z-index:50;background:#152d3c;display:grid;align-content:center;justify-items:center;text-align:center;padding:30px}#fallback button{padding:12px 30px;border:0;margin:20px}@media(max-width:760px){header{padding:12px 15px}.edition{font-size:13px;letter-spacing:2px}.edition span{font-size:8px;letter-spacing:1px}.top-actions{gap:0}.top-actions button{font-size:9px;padding:6px 8px}.top-actions #audio{font-size:8px;padding:6px 4px}.weather{top:88px;right:18px;font-size:7px;letter-spacing:1px}.scene-title{left:21px;bottom:278px}.scene-title h1{font-size:28px;letter-spacing:6px}.scene-title p:first-child{font-size:8px;letter-spacing:2px}.scene-title p:last-child{font-size:9px;line-height:1.9;letter-spacing:.7px}footer{width:calc(100% - 24px);bottom:14px}nav{width:100%;gap:0;justify-content:space-around;margin-bottom:7px}nav button{font-size:9px;padding:8px;min-height:44px}nav button small{display:none}.voyage{padding:10px 11px}.gate-row{gap:2px;flex-wrap:wrap}.gate-row>button{padding:2px 3px;min-height:52px}.gate-row>i{font-size:9px}.gate-row button b{font-size:10px;letter-spacing:.3px}.gate-row button span{font-size:8px}.gate-row button small{font-size:7px}.sail-actions{width:100%;margin:7px 0 0;gap:7px}#sail{flex:1;min-height:44px;padding:8px 10px;font-size:11px}#reset{min-height:44px}.route-head{font-size:8px;margin-bottom:5px}#status{font-size:9px;line-height:1.6;min-height:28px}.status-row{gap:7px;margin-top:6px}.status-row button{font-size:8px}.gate-marker{font-size:10px}.boat-label{font-size:8px}#arrival{top:24%}#arrival h2{font-size:20px;letter-spacing:2px}#arrival span{font-size:9px}#settings{right:12px;top:70px;max-height:calc(100dvh - 90px);overflow:auto}.vignette{background:linear-gradient(180deg,#09192377,transparent 15%,transparent 48%,#09131ebf)}dialog{padding:22px}#notice{top:70px;width:calc(100% - 30px);font-size:11px}}@media(max-height:550px)and (min-width:761px){.scene-title{bottom:190px}.scene-title p:last-child{display:none}footer{bottom:10px}.voyage{padding:8px 13px}header{padding:12px 22px}}#boat-locate{position:fixed;right:32px;bottom:240px;border:1px solid #b3bc9b55;border-radius:3px;background:#132c36ba;padding:10px 14px;min-height:44px;color:#dccb9e;font-size:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:760px){#boat-locate{right:15px;bottom:277px;max-width:46%;font-size:9px;padding:8px}}#arrival{width:max-content;max-width:90%;padding:12px 28px;background:#102733bd;border:1px solid #9eb4a32b;border-radius:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
