*,*:before,*:after{box-sizing:border-box}:root{color-scheme:dark;--bg:#0d0a07;--panel:rgba(24,18,12,.86);--ink:#eadcc3;--ink-soft:#a8977c;--line:#4a3c2b;--accent:#c9a45c;--bad:#d0613f;--memo:#3a3020;--memo-ink:#f0dfab;--f-display:"Dela Gothic One","Hiragino Sans","Yu Gothic",sans-serif;--f-body:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.7;box-sizing:border-box;padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}#stage{position:relative;height:100%;max-width:1100px;margin:0 auto;border-radius:18px;overflow:hidden;border:1.5px solid var(--line);background:#1b150e;touch-action:none;-webkit-user-select:none;user-select:none}#stage canvas{display:block;width:100%;height:100%}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pill{position:absolute;left:14px;top:14px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-weight:700;font-size:13px;letter-spacing:.06em}.meter{position:absolute;left:14px;right:14px;top:50px;height:5px;border-radius:3px;background:#ffffff14}.meter i{display:block;height:100%;width:0;border-radius:3px;background:var(--accent)}.count{position:absolute;right:14px;top:14px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:13px;font-variant-numeric:tabular-nums}.toast{position:absolute;left:50%;bottom:18px;transform:translate(-50%);width:min(520px,calc(100% - 28px));background:var(--memo);color:var(--memo-ink);border-radius:12px;padding:10px 14px;font-size:14px;box-shadow:0 8px 24px #00000080}.toast b{display:block;font-size:12px;letter-spacing:.08em}.toast.warn{background:#4a1f14;color:#ffd9c8}.toast.past{background:#1f2a2c;color:#cfe4e6}.caption{position:absolute;left:50%;top:58%;transform:translate(-50%);width:min(600px,calc(100% - 28px));text-align:center;font-family:var(--f-display);font-size:clamp(20px,4vw,30px);text-shadow:0 2px 12px #000;line-height:1.4}.caption.rare-caption{top:auto;bottom:84px;width:min(540px,calc(100% - 28px));padding:9px 12px;border-radius:12px;background:linear-gradient(90deg,transparent,rgba(8,17,24,.72) 14%,rgba(8,17,24,.72) 86%,transparent);font-size:clamp(15px,3.3vw,24px);text-shadow:0 2px 8px #000}.fork-guide{position:absolute;left:50%;top:91px;transform:translate(-50%);width:min(560px,calc(100% - 30px));padding:9px 14px 11px;border:1px solid rgba(234,220,195,.55);border-radius:14px;background:#0e1414d4;box-shadow:0 7px 24px #0000005c;text-align:center}.fork-guide-title{font-size:13px;font-weight:700;color:#f3e2ba}.fork-guide-ways{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:700}.fork-guide-ways span{width:48%;text-align:left}.fork-guide-ways span:last-child{text-align:right}.fork-guide-ways .active{color:#ffe49a;text-shadow:0 0 12px rgba(255,220,120,.7)}.fork-guide-track{height:4px;margin:5px 3px 3px;border-radius:4px;background:linear-gradient(90deg,#9fd0d8 0,#9fd0d8 48%,#c9a45c 52%,#c9a45c);position:relative}.fork-guide-track i{position:absolute;top:50%;left:50%;width:14px;height:14px;border:2px solid #1c1c18;border-radius:50%;background:#fff4cf;box-shadow:0 0 12px #fff2bc;transform:translate(-50%,-50%);transition:left .1s}.fork-guide-help{font-size:11px;color:#d8d2c4}.flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffbe8;opacity:0;transition:opacity .25s}.logo{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;pointer-events:none}.logo div{font-family:var(--f-display);font-size:clamp(40px,9vw,88px);letter-spacing:.04em;color:#2a1c0e;line-height:1}.logo p{font-size:15px;color:#4a3519;margin-top:10px;font-weight:700}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0a07049e;padding:16px;overflow:auto}.overlay.side{place-items:center end;background:linear-gradient(90deg,transparent 30%,rgba(10,7,4,.75))}.overlay.side:before{content:"プレビュー";position:absolute;left:20px;top:20px;padding:5px 12px;border:1px solid rgba(234,220,195,.45);border-radius:999px;background:#18120c94;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.08em;pointer-events:none}.card{max-width:440px;width:100%;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:12px}h1,h2{font-family:var(--f-display);font-weight:400;margin:0;line-height:1.25;text-wrap:balance}h1{font-size:40px;letter-spacing:.03em}h2{font-size:24px}p{margin:0}.soft{color:var(--ink-soft);font-size:13px}.bad{color:var(--bad)}ul{margin:0;padding-left:1.2em;font-size:13px;color:var(--ink-soft)}button,.btn{font:inherit;font-weight:700;font-size:15px;cursor:pointer;padding:11px 16px;border-radius:12px;border:2px solid var(--accent);background:transparent;color:var(--ink);text-align:center;text-decoration:none;display:block}button.primary,.btn.primary{background:var(--accent);color:#1a1209}button.link{border:none;padding:4px;font-size:13px;color:var(--ink-soft);text-decoration:underline;font-weight:500}button:focus-visible,.btn:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1 1 140px}.keys{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}.keys span{border:1px solid var(--line);border-radius:6px;padding:1px 8px}.field{display:grid;gap:6px}.field label,.field .lab{font-size:12px;letter-spacing:.08em;color:var(--ink-soft);font-weight:700}.field input[type=text]{font:inherit;padding:9px 12px;border-radius:10px;border:1.5px solid var(--line);background:#120d08;color:var(--ink)}.field input[type=range]{width:100%;accent-color:var(--accent)}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{flex:1 1 0;padding:7px 8px;font-size:13px;border-width:1.5px;border-color:var(--line)}.seg button[aria-pressed=true]{border-color:var(--accent);background:#c9a45c2e}.past-line{background:#1f2a2c;color:#cfe4e6;border-radius:10px;padding:8px 12px;font-size:13px}.end-name{font-family:var(--f-display);font-size:32px;color:var(--accent);line-height:1.2}.end-name.bad{color:var(--bad)}.result-head{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:start}.result-copy{min-width:0;display:grid;gap:8px;align-content:start}.result-portrait{width:112px;aspect-ratio:1;margin:0;border:1px solid rgba(234,220,195,.25);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #00000047}.result-portrait svg{display:block;width:100%;height:100%}.result-portrait.gold{border-color:#ffe285;box-shadow:0 0 20px #ffcd5773}.life{position:absolute;left:14px;top:66px;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 12px 4px 10px;font-size:12px;font-weight:700;letter-spacing:.06em}.life i{display:block;width:120px;height:8px;border-radius:4px;background:#ffffff1a;overflow:hidden}.life b{display:block;height:100%;width:100%;background:#8fa65a;transition:width .2s}.life b.low{background:var(--bad)}.hurt{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 120px 30px #be2814a6;opacity:0;transition:opacity .35s}.skipbtn{position:absolute;right:14px;bottom:14px;padding:6px 14px;font-size:13px;background:var(--panel)}.choices{display:grid;gap:10px}.choices button{text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.choices .num{grid-row:span 2;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--accent);display:grid;place-items:center;font-size:13px}.choices small{font-weight:500;color:var(--ink-soft);font-size:12px}.fork{font-size:12px;letter-spacing:.12em;color:var(--accent);font-weight:700}.stars{color:var(--accent);letter-spacing:.08em;font-weight:700;font-size:14px}.stars.r4{color:#ffd76a;text-shadow:0 0 12px rgba(255,200,80,.55)}.new{display:inline-block;background:var(--bad);color:#fff;border-radius:6px;padding:0 7px;font-size:11px;margin-left:6px;letter-spacing:.06em}.zk{max-height:58vh;overflow:auto;display:grid;gap:12px;padding-right:4px}.zk h3{margin:0;font-size:12px;letter-spacing:.1em;color:var(--ink-soft)}.zk .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}.zk .cell{border:1px solid var(--line);border-radius:10px;padding:6px 8px;font-size:12px;line-height:1.4;min-width:0}.zk .cell b{display:block;font-size:11px;color:var(--accent);font-variant-numeric:tabular-nums}.zk .cell.off{color:var(--ink-soft);opacity:.6}.zk .cell.r4.on{border-color:#ffd76a}.admin{max-width:1040px;max-height:calc(100% - 8px);overflow:auto}.admin .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.admin .kpi{border:1px solid var(--line);border-radius:12px;padding:8px 12px}.admin .kpi b{display:block;font-size:22px;font-family:var(--f-display);font-weight:400;font-variant-numeric:tabular-nums}.admin .kpi span{font-size:12px;color:var(--ink-soft)}.admin fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.admin legend{font-size:12px;color:var(--ink-soft);padding:0 6px;letter-spacing:.08em}.admin label{display:grid;gap:2px;font-size:12px;color:var(--ink-soft)}.admin input,.admin select{font:inherit;font-size:14px;padding:6px 8px;border-radius:8px;border:1.5px solid var(--line);background:#120d08;color:var(--ink);min-width:0}.admin .filters{display:flex;gap:8px;flex-wrap:wrap}.admin .filters>*{flex:1 1 140px}.admin .tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.admin table{border-collapse:collapse;width:100%;font-size:13px;min-width:760px}.admin th,.admin td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.admin th{position:sticky;top:0;background:#1d160f;font-size:12px;color:var(--ink-soft);font-weight:700}.admin td.num{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.admin td .st{color:var(--accent)}.admin tr.r4 td .st{color:#ffd76a}.admin .chip{display:inline-block;font-size:11px;border-radius:999px;padding:1px 8px;border:1px solid var(--line)}.admin .chip.on{border-color:#8fa65a;color:#bcd58a}.admin button.sm{padding:5px 10px;font-size:12px;border-width:1.5px;white-space:nowrap}.admin .chip{white-space:nowrap}.admin .tools{display:flex;gap:8px;flex-wrap:wrap}.admin .tools button{flex:0 1 auto}@media(max-width:680px){.result-head{grid-template-columns:minmax(0,1fr) 92px;gap:8px}.result-portrait{width:92px;border-radius:14px}.result-copy .end-name{font-size:clamp(22px,6vw,32px)}.overlay.side{place-items:end center;background:linear-gradient(180deg,#0a070405,#0a07041f 38%,#0a0704c2 58%)}.overlay.side>.card{width:min(100%,440px);max-height:62%;overflow-y:auto}}@media(prefers-reduced-motion:reduce){.flash,.hurt{transition:none}}
