:root{--ink:#2b2d42;--muted:#6b6f85;--glass:#ffffffb8;--glass-border:#ffffffe6;--pink:#ff7aa2;--pink-dark:#f25c8a;--mint:#a8e6cf;--shadow:0 8px 30px #3c507826;--radius:18px}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#bfe6ff;margin:0;font-family:Fredoka,system-ui,sans-serif;overflow:hidden}#world{position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}.glass,.navbar,.hud,.status,.cam button,dialog{background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.4);border:1px solid var(--glass-border);box-shadow:var(--shadow)}.navbar{z-index:10;border-radius:999px;align-items:center;gap:16px;width:min(1100px,100% - 28px);padding:8px 10px 8px 14px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.brand{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:flex}.logo{background:linear-gradient(135deg,#ffd6e3,#c9f2e1);border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;display:grid}.brand-name{letter-spacing:.2px;font-size:22px;font-weight:700}.ticker{background:var(--mint);color:#1f6b50;border-radius:999px;padding:3px 9px;font-size:13px;font-weight:600}#nav{gap:4px;margin:0 auto;display:flex}#nav a{color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:500;text-decoration:none;transition:background .15s}#nav a:hover{background:#fffc}.actions{align-items:center;gap:6px;display:flex}.ca{background:#fff9;border:1px dashed #c7cbe0;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:14px;font-weight:500;display:flex}.ca:disabled{cursor:default;color:var(--muted)}.ca-label{color:var(--pink-dark);font-size:12px;font-weight:700}.icon-btn{width:36px;height:36px;color:var(--ink);background:#ffffffb3;border:0;border-radius:50%;place-items:center;text-decoration:none;transition:transform .15s;display:grid}.icon-btn[hidden]{display:none}.icon-btn:hover{transform:translateY(-1px)}.buy{background:var(--pink);color:#fff;box-shadow:0 4px 0 var(--pink-dark);white-space:nowrap;border-radius:999px;padding:9px 18px;font-weight:600;text-decoration:none;transition:transform .1s,box-shadow .1s}.buy:hover{box-shadow:0 3px 0 var(--pink-dark);transform:translateY(1px)}.menu{font-size:18px;display:none}.hud{border-radius:var(--radius);z-index:5;min-width:250px;padding:14px 16px;position:fixed;bottom:16px;left:16px}.hud-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;display:flex}.hud-title{font-weight:600}.clock{font-variant-numeric:tabular-nums;background:var(--ink);color:#fff;border-radius:999px;padding:3px 12px;font-size:18px;font-weight:700}.clock[data-state=urgent]{background:var(--pink-dark);animation:1s ease-in-out infinite pulse}.clock[data-state=complete]{background:#2f9e6e}.clock[data-state=failed]{background:#8b8fa3}@keyframes pulse{50%{transform:scale(1.06)}}.goal{grid-template-columns:22px 1fr 44px;align-items:center;gap:8px;padding:3px 0;display:grid}.goal-icon{font-size:16px}.bar{background:#2b2d421a;border-radius:999px;height:8px;overflow:hidden}.bar i{border-radius:inherit;background:var(--pink);width:0;height:100%;transition:width .4s;display:block}.goal.met .bar i{background:#3dbb85}.goal-count{text-align:right;font-variant-numeric:tabular-nums;font-size:14px}.goal-icon{display:inline-block}.goal.pop .goal-icon{animation:.5s ease-out pop}.hud-note{color:var(--muted);max-width:220px;margin:8px 0 0;font-size:12px}.mission-end{z-index:6;background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.4);border:1px solid var(--glass-border);width:min(520px,100% - 32px);box-shadow:var(--shadow);border-radius:20px;align-items:center;gap:14px;padding:14px 20px;display:flex;position:fixed;top:92px;left:50%;transform:translate(-50%)}.mission-end[hidden]{display:none}.mission-end b{font-size:18px;display:block}.mission-end span{color:var(--muted);font-size:14px}.end-emoji{font-size:34px}.hud-row{color:var(--muted);justify-content:space-between;gap:16px;padding:2px 0;font-size:14px;display:flex}.hud-row b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}@keyframes pop{40%{transform:scale(1.35)}}.status{opacity:0;z-index:5;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-weight:500;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%,12px)}.status.show{opacity:1;transform:translate(-50%)}#status-emoji{font-size:20px}.cam{z-index:5;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;bottom:16px;right:16px}.cam button{border-radius:999px;padding:9px 14px;font-weight:500}.hint{color:#2b2d42b3;font-size:12px}dialog{width:min(520px,100% - 32px);max-height:calc(100% - 120px);color:var(--ink);background:#ffffffeb;border-radius:24px;padding:26px 28px}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#283c5a40}dialog h2{margin:0 0 12px;font-size:28px}dialog p{line-height:1.55}#panel-close{background:#f1f2f8;border:0;border-radius:50%;width:34px;height:34px;position:absolute;top:14px;right:14px}.muted{color:var(--muted);font-size:14px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:linear-gradient(135deg,#fff0f5,#effbf6);border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex}.stat span{color:var(--muted);font-size:13px}.stat b{font-size:22px}.steps,.roadmap{padding-left:20px;line-height:1.55}.steps li,.roadmap li{margin-bottom:10px}.roadmap li.done::marker{content:"✅ "}#loader{z-index:50;background:#bfe6ff;place-content:center;justify-items:center;gap:12px;font-size:18px;font-weight:500;transition:opacity .6s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;pointer-events:none}.loader-bot{font-size:56px;animation:1s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-10px)rotate(-6deg)}}@media (width<=860px){.navbar{border-radius:24px;flex-wrap:wrap;gap:8px}.menu{display:grid}#nav{flex-direction:column;order:10;width:100%;margin:0;display:none}#nav.open{display:flex}.actions{margin-left:auto}.ca{display:none}.hud{min-width:0;padding:10px 12px;bottom:12px;left:12px}.hud-row{font-size:13px}.status{font-size:14px;top:84px;bottom:auto}.hint{display:none}}@media (width<=420px){.ticker{display:none}}#nl-badge-frame{display:none!important}
