:root{--night:#070d1f;--ink:#f1f5ff;--mute:#a9b7d4;--line:rgba(190,208,255,.18);--glass:rgba(9,15,34,.66);--warm:#ffb454;--red:#ff7676;--blue:#8cc1ff;--ok:#7be0ae}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--night);color:var(--ink);font:16px/1.55 Segoe UI,system-ui,-apple-system,Roboto,sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased}a{color:inherit}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}#backdrop{position:fixed;inset:0;width:100%;height:100%;display:none;background:linear-gradient(#050a1a,#142450 45%,#4a629b 80%,#8ea3cc)}.no3d #scene{display:none}.no3d #backdrop{display:block}#veil{position:fixed;inset:0;background:#aebbd8;opacity:0;pointer-events:none;transition:opacity .5s ease}#veil.on{opacity:1}#labels{position:fixed;inset:0;pointer-events:none;overflow:hidden}.label{position:absolute;left:0;top:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:var(--glass);border:1px solid var(--line);white-space:nowrap;backdrop-filter:blur(6px)}.label.active{color:#1b1200;background:var(--warm);border-color:var(--warm);font-weight:700}.label.failed{color:var(--red);border-color:var(--red)}.label.waiting{color:var(--mute)}.label.done{color:var(--ok);border-color:var(--ok)}.label.summit{background:none;border:0;backdrop-filter:none;letter-spacing:.3em;color:#fff;opacity:.8;font-size:11px}.top{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;z-index:3;pointer-events:none}.top a{pointer-events:auto;text-decoration:none}.brand{display:flex;align-items:baseline;gap:10px}.brand b{font-size:20px;letter-spacing:.34em;font-weight:800}.brand span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.top nav a{font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:var(--glass);backdrop-filter:blur(8px)}.top nav a:hover{border-color:var(--warm)}:focus-visible{outline:2px solid var(--warm);outline-offset:3px;border-radius:6px}#ui{position:fixed;inset:0;z-index:2;pointer-events:none}body[data-view=home] #ui:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 0% 75%,rgba(5,10,26,.82),transparent 70%)}#ui>*{pointer-events:auto}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--mute);letter-spacing:.1em;text-align:center;padding:0 24px}.kicker{margin:0 0 6px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--warm);font-weight:600}h1{margin:0;font-size:clamp(26px,3.4vw,44px);line-height:1.08;letter-spacing:-.02em;font-weight:800;text-wrap:balance}h2{margin:26px 0 10px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-weight:600}.lead{color:#d5def2;margin:12px 0 0;max-width:46ch}.mute{color:var(--mute);font-size:14px}.alt{display:flex;align-items:center;gap:14px;margin-top:14px}.alt b{font-size:clamp(52px,7vw,92px);line-height:.9;font-weight:200;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 34px rgba(255,180,84,.35)}.alt span{color:var(--mute);font-size:14px;line-height:1.4}.hero{position:absolute;left:22px;bottom:176px;max-width:min(520px,calc(100vw - 44px));text-shadow:0 2px 18px rgba(5,10,26,.8)}.last{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;padding:9px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--line);text-decoration:none;font-size:14px;backdrop-filter:blur(8px);text-shadow:none}.last:hover{border-color:var(--warm)}.last time{color:var(--mute);font-size:12px}.hint{margin:12px 0 0;font-size:12px;color:var(--mute);letter-spacing:.04em}.tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--mute);white-space:nowrap}.tag.active,.tag.advance,.tag.milestone{color:var(--warm);border-color:#ffb45499}.tag.failed,.tag.fail{color:var(--red);border-color:#ff767699}.tag.plan_change{color:var(--blue);border-color:#8cc1ff99}.tag.done{color:var(--ok);border-color:#7be0ae99}.range{position:absolute;left:0;right:0;bottom:0;display:flex;gap:10px;overflow-x:auto;padding:14px 22px calc(16px + env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:var(--line) transparent;background:linear-gradient(transparent,#050a1ad1 55%)}.range a{flex:0 0 150px;display:grid;grid-template-columns:44px 1fr;grid-template-areas:"peak code" "peak pct" "name name" "plan plan";column-gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--line);text-decoration:none;backdrop-filter:blur(8px);transition:border-color .2s,transform .2s}.range a:hover{border-color:var(--warm);transform:translateY(-3px)}.range a.on{border-color:var(--warm);background:#281c08b8}.peak{grid-area:peak;width:44px;height:34px;color:#dfe8fb}.r-code{grid-area:code;font-size:11px;letter-spacing:.16em;color:var(--mute)}.r-pct{grid-area:pct;font-size:20px;font-weight:300;font-variant-numeric:tabular-nums}.r-name{grid-area:name;font-size:13px;font-weight:600;line-height:1.25;margin-top:6px;min-height:2.5em}.r-plan{grid-area:plan;font-size:11px;color:var(--mute);letter-spacing:.06em}.range a.no_route .r-plan{color:var(--red)}.range a.summit .r-plan{color:var(--ok)}.panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100vw);overflow-y:auto;padding:76px 24px 190px;background:linear-gradient(90deg,#070d1f8c,#070d1fe6 22%);backdrop-filter:blur(10px);border-left:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line) transparent}.back{display:inline-block;margin-bottom:18px;font-size:13px;color:var(--mute);text-decoration:none;letter-spacing:.04em}.back:hover{color:var(--warm)}body[data-view=mountain] .range,body[data-view=diary] .range{right:min(440px,100vw)}.plan{border:1px solid var(--line);border-radius:14px;margin:8px 0;background:#0c142c8c}.plan.active{border-color:#ffb4548c}.plan.failed{border-color:#ff767666}.plan.failed .plan-name{text-decoration:line-through;text-decoration-color:#ff7676b3}.plan summary{display:flex;gap:8px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}.plan summary::-webkit-details-marker{display:none}.plan summary b{font-weight:400;font-variant-numeric:tabular-nums}.plan .code{flex:0 0 26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#bed0ff24;font-weight:700;font-size:13px}.plan.active .code{background:var(--warm);color:#1b1200}.plan-name{flex:1;font-weight:600;min-width:0}.plan>p{margin:0 14px 10px}.why{font-size:14px;color:#ffd0d0;border-left:2px solid var(--red);padding-left:10px}.steps{list-style:none;margin:0;padding:0 14px 12px}.steps li{display:flex;gap:10px;padding:8px 0;border-top:1px solid rgba(190,208,255,.1);font-size:14px}.steps .ico{flex:0 0 18px;text-align:center;color:var(--mute)}.steps .done .ico,.steps .doing .ico{color:var(--warm);text-shadow:0 0 10px rgba(255,180,84,.9)}.steps .failed .ico{color:var(--red)}.steps .done .st{color:#fff}.steps .todo .st{color:#c9d3ea}.steps .skipped .st,.steps .failed .st{text-decoration:line-through;color:var(--mute)}.steps small{display:block;color:var(--mute);font-size:12.5px;line-height:1.45;margin-top:2px}.steps small.note{color:#ffe2b5}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.metric{margin:12px 0}.metric-head{display:flex;justify-content:space-between;gap:10px;font-size:14px}.metric-head b{font-weight:400;font-variant-numeric:tabular-nums}.metric small{color:var(--mute);font-size:12px}.bar{height:5px;border-radius:9px;background:#bed0ff29;overflow:hidden;margin:6px 0 4px}.bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#ff9a3d,var(--warm));box-shadow:0 0 12px #ffb454b3}.timeline{list-style:none;margin:0;padding:0 0 0 16px;border-left:1px solid var(--line)}.ev{position:relative;padding:0 0 18px 6px}.ev:before{content:"";position:absolute;left:-21px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--mute)}.ev.advance:before,.ev.milestone:before{background:var(--warm);box-shadow:0 0 12px var(--warm)}.ev.fail:before{background:var(--red);box-shadow:0 0 12px var(--red)}.ev.plan_change:before{background:var(--blue);box-shadow:0 0 12px var(--blue)}.ev-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--mute);margin-bottom:3px}.ev-head a{color:var(--mute)}.ev p{margin:3px 0 0;color:#c9d3ea;font-size:14px}@media (max-width:760px){.top{padding:12px 14px}.brand span{display:none}.hero{left:16px;bottom:160px;max-width:calc(100vw - 32px)}.hero .lead,.hint{display:none}body[data-view=home] #ui:before{background:linear-gradient(transparent 40%,#050a1ae6 70%)}.range{padding:10px 16px calc(12px + env(safe-area-inset-bottom));gap:8px}.range a{flex-basis:132px;padding:8px 10px}.r-name{font-size:12px}.panel{top:auto;left:0;width:100%;height:56vh;padding:18px 16px 150px;border-left:0;border-top:1px solid var(--line);border-radius:20px 20px 0 0;background:#070d1fe6}body[data-view=mountain] .range,body[data-view=diary] .range{right:0}.label{font-size:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
