@import url("https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");:root{--bg-0:#06060a;--bg-1:#0d0d13;--ink:#f7f7f1;--ink-dim:#b4b4ab;--ink-faint:#76766c;--yellow:#ffe014;--yellow-soft:#fff27a;--on-yellow:#0a0a08;--line:rgba(247,247,241,0.16);--line-soft:rgba(247,247,241,0.09);--line-strong:rgba(247,247,241,0.34);--glass-bg:rgba(10,10,12,0.52);--glass-bg-strong:rgba(7,7,9,0.74);--glass-blur:11px;--glass-radius:16px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--font-jp:"Zen Kaku Gothic New",ui-sans-serif,system-ui,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;--font-mono:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{background:linear-gradient(180deg,var(--bg-0) 0,var(--bg-1) 55%,var(--bg-0) 100%);color:var(--ink);font-family:var(--font-jp);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}#galaxy-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}#galaxy-canvas canvas{display:block;width:100%;height:100%}.stage{z-index:1;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 18px;perspective:1700px;perspective-origin:50% 45%}.panel,.stage{position:relative}.panel{width:min(640px,100%);background:var(--glass-bg);border:1px solid var(--line);border-radius:var(--glass-radius);box-shadow:0 24px 70px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);padding:30px 34px 28px;overflow:hidden}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))) or (-webkit-backdrop-filter:blur(8px)){.panel{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(108%);backdrop-filter:blur(var(--glass-blur)) saturate(108%)}}@supports not (((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))) or (-webkit-backdrop-filter:blur(8px))){.panel{background:var(--glass-bg-strong)}}.panel:before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1.4px) 0 0 /22px 22px,radial-gradient(130% 100% at 50% 22%,transparent 38%,rgba(0,0,0,.42) 100%);pointer-events:none}.panel>*{position:relative}.panel-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);padding-bottom:14px;border-bottom:1px solid var(--line-soft)}.panel-head .brand{display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.04em;font-family:var(--font-jp);color:var(--ink)}.panel-head .brand .spark{color:var(--yellow)}.title{font-weight:900;font-size:clamp(25px,4.8vw,36px);letter-spacing:-.01em;margin:22px 0 6px;color:var(--ink)}.subtitle,.title{text-align:center}.subtitle{color:var(--ink-dim);font-size:13.5px;font-weight:400;margin:0 0 24px}.stepper{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;margin:6px auto 26px;max-width:540px}.step{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;gap:9px}.step .dot{width:12px;height:12px;background:transparent;border:1.5px solid var(--line-strong);transition:all .3s var(--ease-out)}.step.done .dot{background:var(--ink);border-color:var(--ink)}.step.current .dot{background:var(--yellow);border-color:var(--yellow);box-shadow:0 0 0 4px rgba(255,224,20,.16)}.step .lbl{font-size:11px;font-weight:500;color:var(--ink-faint);white-space:nowrap}.step.current .lbl{color:var(--yellow)}.step.done .lbl{color:var(--ink-dim)}.step:after{content:"";position:absolute;top:6px;left:50%;width:100%;height:1.5px;background:var(--line-soft);z-index:-1}.step:last-child:after{display:none}.step.done:after{background:var(--ink)}.section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;text-align:center;font-size:11px;color:var(--ink-dim);margin:2px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px;margin-bottom:8px}.card{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:center;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:8px;padding:16px 8px;color:var(--ink);transition:border-color .15s,background .15s,transform .15s var(--ease-out)}.card:hover{border-color:var(--ink-dim);background:rgba(255,255,255,.05);transform:translateY(-2px)}.card .d-main{font-family:var(--font-mono);font-weight:700;font-size:22px;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card .d-sub{font-size:12px;color:var(--ink-dim);margin-top:3px}.card .d-range{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);margin-top:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card.selected{border-color:var(--yellow);background:rgba(255,224,20,.08)}.card.selected .d-main{color:var(--yellow)}.card.selected:after{content:"";position:absolute;top:0;right:0;border-width:0 12px 12px 0;border-style:solid;border-color:transparent var(--yellow) transparent transparent}.actions{display:flex;gap:10px;justify-content:center;margin-top:24px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;cursor:pointer;font-family:var(--font-jp);font-size:14px;font-weight:700;border-radius:8px;padding:13px 26px;transition:transform .14s var(--ease-out),background .15s,color .15s,box-shadow .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.4;cursor:default}.btn-cta{color:var(--on-yellow);background:var(--yellow);min-width:220px;letter-spacing:.01em;box-shadow:0 4px 0 0 #c9a400}.btn-cta:not(:disabled):hover{background:var(--yellow-soft);transform:translateY(-1px);box-shadow:0 5px 0 0 #c9a400}.btn-cta:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px 0 0 #c9a400}.btn-cta:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.btn-ghost{color:var(--ink-dim);background:transparent;border:1px solid var(--line)}.btn-ghost:not(:disabled):hover{color:var(--ink);border-color:var(--yellow)}.hero{text-align:center;padding:16px 6px 4px}.hero>*{animation:rise .7s var(--ease-out) both}.hero .eyebrow{animation-delay:.06s}.hero h1{animation-delay:.16s}.hero p{animation-delay:.32s}.hero .actions{animation-delay:.46s}@keyframes rise{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.hero .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.32em;color:var(--yellow);text-transform:uppercase;margin-bottom:18px}.hero h1{font-weight:900;font-size:clamp(27px,5.6vw,42px);letter-spacing:-.015em;line-height:1.32;margin:0 0 16px;color:var(--ink)}.hero p{color:var(--ink-dim);font-size:14.5px;line-height:1.8;margin:0 auto 30px;max-width:25em}.field{margin-bottom:16px}.field label{display:block;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--ink-dim);margin-bottom:8px}.field input,.field textarea{width:100%;font-family:var(--font-jp);font-size:15px;color:var(--ink);background:rgba(0,0,0,.32);border:1px solid var(--line);border-radius:6px;padding:12px 14px}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,224,20,.16)}.select-wrap{position:relative}.select-wrap:after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--yellow);border-bottom:2px solid var(--yellow);transform:translateY(-70%) rotate(45deg);pointer-events:none}.field .select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:var(--font-jp);font-size:15px;color:var(--ink);background:rgba(0,0,0,.32);border:1px solid var(--line);border-radius:6px;padding:12px 40px 12px 14px;cursor:pointer}.field .select.placeholder{color:var(--ink-faint)}.field .select:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,224,20,.16)}.field .select option{background:#121212;color:var(--ink)}.win-card .win-time{font-size:16px}.win-card .d-range{margin-top:5px}.cal{display:flex;gap:8px;margin:6px 0 18px}.cal-axis{position:relative;flex:0 0 34px;width:34px;margin-top:40px}.cal-hr{position:absolute;right:2px;transform:translateY(-50%);font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);white-space:nowrap}.cal-days{display:flex;gap:6px;flex:1 1;overflow-x:auto;padding-bottom:6px}.cal-col{flex:1 0 62px;min-width:62px}.cal-col,.cal-head{display:flex;flex-direction:column}.cal-head{height:40px;justify-content:center;align-items:center;gap:1px}.cal-head strong{font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--ink)}.cal-head span{font-size:11px;color:var(--ink-dim)}.cal-track{position:relative;border:1px solid var(--line);border-radius:7px;overflow:hidden}.cal-block{position:absolute;left:3px;right:3px;background:rgba(255,224,20,.16);border:1px solid rgba(255,224,20,.5);border-radius:5px;padding:2px 4px;cursor:pointer;overflow:hidden;transition:background .15s,box-shadow .15s}.cal-block:hover{background:rgba(255,224,20,.26)}.cal-block-t{font-family:var(--font-mono);font-size:9.5px;font-weight:700;color:#ffe87a;white-space:nowrap}.cal-block.selected{border-color:var(--yellow);box-shadow:0 0 0 1.5px var(--yellow);z-index:2}.cal-sel{position:absolute;left:3px;right:3px;background:var(--yellow);border-radius:4px;opacity:.92;pointer-events:none;z-index:3}@media (max-width:520px){.cal-col{flex:1 0 54px;min-width:54px}}.window-hint{font-family:var(--font-mono);font-size:12px;color:var(--ink-dim);text-align:center;margin:0 0 18px}.time-range{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px;align-items:end}.time-range .field{margin-bottom:0}@media (max-width:520px){.time-range{grid-template-columns:1fr}}.review{border:1px solid var(--line);border-radius:10px;padding:6px 18px}.review-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-soft);font-size:14px}.review-row:last-child{border-bottom:none}.review-row .k{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--ink-faint);flex-shrink:0;align-self:center}.review-row .v{color:var(--ink);text-align:right;word-break:break-word}.review-row .v.accent{color:var(--yellow);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.complete{text-align:center;padding:10px 4px}.complete .star{font-size:40px;color:var(--yellow);margin-bottom:14px}.complete h2{font-weight:900;font-size:23px;letter-spacing:-.01em;margin:0 0 8px}.complete .when{font-family:var(--font-mono);color:var(--yellow);font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:6px 0 4px}.complete .note{color:var(--ink-dim);font-size:13px;margin:0 0 24px}.cal-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.cal-links a{text-decoration:none;font-size:13px;font-weight:700;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:8px;padding:11px 18px;transition:border-color .15s,color .15s}.cal-links a:hover{border-color:var(--yellow);color:var(--yellow)}.status-msg{border-radius:8px;padding:13px 15px;font-size:13.5px;border:1px solid var(--line);background:rgba(255,255,255,.03);text-align:center}.status-msg.error{border-color:rgba(255,224,20,.5);border-left:3px solid var(--yellow);color:var(--ink);text-align:left}.empty{text-align:center;color:var(--ink-dim);font-size:14px;padding:28px 0}.skeleton{height:64px;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.03) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.03) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;margin-bottom:10px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.screen{position:relative}.screen.appearing{animation:screen-appear .5s var(--ease-out) both}@keyframes screen-appear{0%{opacity:0;transform:translateX(46px) scale(.965)}to{opacity:1;transform:none}}.panel.shatter{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none;border-color:transparent;overflow:visible}.panel.shatter:before,.panel.shatter>.panel-head,.panel.shatter>.screen,.shards{opacity:0}.shards{position:absolute;inset:0;pointer-events:none;z-index:3;container-type:size;perspective:1100px}.shards.gather,.shards.scatter{opacity:1}.shard{position:absolute;background-repeat:no-repeat;opacity:0;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.shards.scatter .shard{animation:shard-suck 1s var(--ease-in) forwards;animation-delay:var(--sd,0s)}@keyframes shard-suck{0%{opacity:.95;transform:translate(0) rotate(0deg) scale(1)}42%{opacity:.95;transform:translate(var(--bx,0),var(--by,0)) rotate(var(--br,0deg)) scale(1.05)}to{opacity:0;transform:translate(calc(var(--sx) * 100cqw),calc(var(--sy) * 100cqh)) translateZ(var(--dz,-500px)) rotateY(var(--yaw,45deg)) rotate(var(--jr,0deg)) scale(.3)}}.shards.gather .shard{animation:shard-emit .9s var(--ease-out) forwards;animation-delay:var(--gd,0s)}@keyframes shard-emit{0%{opacity:0;transform:translate(calc(var(--gx) * 100cqw),calc(var(--gy) * 100cqh)) translateZ(var(--dz,-500px)) rotateY(calc(-1 * var(--yaw, 45deg))) rotate(var(--jr,0deg)) scale(.3)}55%{opacity:.95;transform:translate(var(--bx,0),var(--by,0)) translateZ(0) rotateY(0deg) rotate(var(--br,0deg)) scale(1.05)}to{opacity:1;transform:translate(0) translateZ(0) rotateY(0deg) rotate(0deg) scale(1)}}@media (prefers-reduced-motion:reduce){.screen.appearing{animation:rm-fade-in .22s linear both}.hero>*,.skeleton{animation:none}@keyframes rm-fade-in{0%{opacity:0}to{opacity:1}}}@media (max-width:520px){.panel{padding:24px 18px 22px}.step .lbl{font-size:10px}}