:root{--sumi:#14110f;--sumi-a:#14110fc7;--shu:#c8402c;--kin:#c9a75b;--kinari:#efe6d2;--kinari-dim:#efe6d29e;--mincho:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--gothic:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif}html,body{height:100%;color:var(--kinari);font-family:var(--mincho);background:#05070d;margin:0;overflow:hidden}.kg-key{font-family:var(--gothic)}#game{outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}.kg-ui{pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.kg-ui button{pointer-events:auto}.kg-screen{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:none;position:absolute;inset:0}.kg-screen.kg-on{display:flex}.kg-btn{font-family:var(--mincho);letter-spacing:.12em;color:var(--sumi);background:var(--kinari);border:1px solid var(--kin);cursor:pointer;min-width:220px;padding:10px 30px;font-size:18px;transition:background .15s,color .15s}.kg-btn:hover,.kg-btn:focus-visible{background:var(--kin);outline:none}.kg-btn-ghost{color:var(--kinari);background:0 0;border-color:#c9a75b8c}.kg-btn-ghost:hover,.kg-btn-ghost:focus-visible{color:var(--kinari);background:#c9a75b2e}.kg-h2{font-family:var(--mincho);letter-spacing:.3em;margin:0;font-size:30px;font-weight:600}.kg-sub,.kg-hint{color:var(--kinari-dim);letter-spacing:.08em;font-size:13px}.kg-panel{background:var(--sumi-a);border-top:2px solid var(--kin);border-bottom:2px solid var(--kin);box-sizing:border-box;flex-direction:column;align-items:center;gap:14px;max-width:min(560px,92vw);padding:28px 44px;display:flex}.kg-panel-wide{max-width:min(800px,94vw)}.kg-title{background:radial-gradient(at 50% 70%,#05070d00 0%,#05070d8c 70%)}.kg-title-box{flex-direction:column;align-items:center;gap:12px;display:flex}.kg-title-sub{font-family:var(--mincho);letter-spacing:.2em;color:var(--kinari-dim);font-size:16px}.kg-logo{font-family:var(--mincho);letter-spacing:.2em;text-shadow:0 0 24px #000c,0 2px #c8402ca6;margin:0 0 0 .2em;font-size:clamp(64px,11vw,132px);font-weight:600;line-height:1.1}.kg-title-en{font-family:var(--mincho);letter-spacing:.9em;color:var(--kin);margin-bottom:18px;font-size:13px}.kg-title-goal{letter-spacing:.1em;text-align:center;text-wrap:balance;text-shadow:0 2px 10px #05070d;max-width:90vw;margin-bottom:10px;font-size:clamp(16px,2.2vw,22px);line-height:1.6}.kg-card-mission{border-top:1px solid #c9a75b59;margin:16px 0;padding-top:12px;font-size:13px;line-height:1.7}.kg-card-objective{color:var(--kinari);margin-bottom:6px;font-size:20px}.kg-card-clear{color:var(--kin);margin-top:8px}.kg-select{background:#05070d9e;justify-content:flex-start;overflow-y:auto}.kg-select>.kg-h2{margin-top:auto}.kg-select>.kg-btn{flex-shrink:0;margin-bottom:auto}.kg-cards{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:18px;max-width:100%;margin:10px 0 8px;display:flex}.kg-card{text-align:left;background:var(--sumi-a);width:280px;min-height:300px;color:var(--kinari);cursor:pointer;font-family:var(--mincho);box-sizing:border-box;border:1px solid #c9a75bb3;flex-direction:column;gap:8px;padding:22px 22px 54px;display:flex;position:relative}.kg-card:hover:not(:disabled),.kg-card:focus-visible{border-color:var(--kin);box-shadow:0 0 0 1px var(--kin), 0 0 24px #c9a75b40;outline:none}.kg-card:disabled{cursor:default}.kg-soon{border-color:#c9a75b66}.kg-card-era{color:var(--kin);letter-spacing:.08em;font-size:13px}.kg-card-name{font-family:var(--mincho);letter-spacing:.1em;font-size:26px;font-weight:600}.kg-card-place{color:var(--kinari-dim);font-size:13px}.kg-card-rule{border-top:1px solid #efe6d233;margin-top:10px;padding-top:10px}.kg-card-rulename{font-family:var(--mincho);color:var(--kinari);margin-bottom:6px;font-size:16px}.kg-card-ruletext{color:var(--kinari-dim);text-wrap:pretty;font-size:13px;line-height:1.7}.kg-card-badge{font-family:var(--mincho);letter-spacing:.2em;color:var(--kinari-dim);font-size:14px;position:absolute;bottom:14px;right:16px}.kg-card-badge.kg-go{color:var(--sumi);background:var(--kin);padding:4px 14px}.kg-briefing{background:#05070db8}.kg-brief-box{pointer-events:auto;flex-direction:column;align-items:center;gap:10px;width:min(960px,96vw);max-height:94vh;display:flex;overflow:auto}.kg-brief-box>.kg-btn{flex-shrink:0;position:sticky;bottom:0;box-shadow:0 -6px 22px #05070dd9}.kg-brief-date{font-family:var(--mincho);letter-spacing:.25em;color:var(--kin);font-size:16px}.kg-brief-tagline{font-family:var(--mincho);letter-spacing:.22em;text-shadow:0 2px #c8402cb3;margin:4px 0 0 .22em;font-size:clamp(40px,6.5vw,72px);font-weight:600}.kg-brief-objective{font-family:var(--mincho);letter-spacing:.2em;color:var(--kinari);border-top:1px solid var(--shu);border-bottom:1px solid var(--shu);padding:4px 22px;font-size:20px}.kg-brief-body{font-family:var(--mincho);text-align:center;color:var(--kinari);font-size:16px;line-height:1.9}.kg-brief-body p{text-wrap:balance;margin:0}.kg-brief-role{color:var(--kin)}.kg-mission{box-sizing:border-box;background:var(--sumi-a);border:1px solid #c9a75b73;width:100%;padding:12px 18px}.kg-mission h3{color:var(--kin);letter-spacing:.12em;margin:0 0 10px;font-size:16px}.kg-mission-steps{flex-wrap:wrap;gap:12px 28px;margin:0;padding-left:22px;display:flex}.kg-mission-steps li{flex:210px;padding-left:2px;font-size:13px;line-height:1.6}.kg-mission-steps li::marker{color:var(--kin)}.kg-mission-steps strong,.kg-mission-steps span{display:block}.kg-mission-steps strong{margin-bottom:3px;font-size:16px}.kg-mission-clear{color:var(--kin);margin:12px 0 4px;font-size:17px}.kg-mission-note{margin:2px 0;font-size:13px;line-height:1.6}.kg-brief-cols{flex-wrap:wrap;justify-content:center;gap:24px;width:100%;margin:6px 0 10px;display:flex}.kg-brief-cols section{background:var(--sumi-a);border-left:2px solid var(--kin);box-sizing:border-box;flex:360px;max-width:420px;padding:12px 18px}.kg-brief-cols h3{font-family:var(--mincho);letter-spacing:.2em;color:var(--kin);margin:0 0 8px;font-size:16px}.kg-brief-cols .kg-brief-scout{flex-basis:470px;max-width:500px}.kg-scout-row{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.kg-brief-scout ul{flex:200px;margin:0;padding:0;font-size:13.5px;line-height:1.6;list-style:none}.kg-brief-scout li{margin-bottom:7px}.kg-scout-place{color:var(--kin);letter-spacing:.12em;font-weight:600;display:block}.kg-scout-line{display:block}.kg-brief-map{flex:none;margin:2px 0 0}.kg-brief-map canvas{border:1px solid #c9a75b73;display:block}.kg-brief-map figcaption{color:var(--kinari-dim);letter-spacing:.15em;text-align:center;margin-top:3px;font-size:11px}.kg-brief-controls dl{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:13.5px;line-height:1.5;display:grid}.kg-brief-controls dt{color:var(--kin);white-space:nowrap;font-size:13px}.kg-brief-controls dd{margin:0}.kg-hud{display:none;position:absolute;inset:0}.kg-hud.kg-on{display:block}.kg-hud-tl{background:linear-gradient(90deg, var(--sumi-a), #14110f00);border-left:2px solid var(--shu);padding:8px 28px 8px 14px;position:absolute;top:16px;left:20px}.kg-objective{font-family:var(--mincho);letter-spacing:.18em;font-size:19px}.kg-objective-detail,.kg-objective-clear{font-size:13px;line-height:1.7}.kg-mission-stage{color:#dcc184;letter-spacing:.07em;margin-top:12px;font-size:15px}.kg-mission-hint{color:#d7d0bf;max-width:285px;margin-top:5px;font-size:13px;line-height:1.7}.kg-mission-message{color:#f5e3b4;max-width:285px;margin-top:8px;font-size:13px;line-height:1.7}.kg-mission-message:empty{display:none}.kg-objective-detail{margin-top:5px}.kg-objective-clear{color:var(--kin)}.kg-time{color:var(--kinari-dim);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px}.kg-hud-tr{position:absolute;top:14px;right:18px}.kg-radar{display:block}.kg-radar-cap{letter-spacing:.08em;color:var(--kinari);font-variant-numeric:tabular-nums;text-shadow:0 0 6px #000000e6;justify-content:center;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.kg-nb-ico{border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:9px solid var(--shu);filter:drop-shadow(0 0 1px #e8c77a);width:0;height:0}.kg-hud-tc{background:var(--sumi-a);border-top:2px solid var(--kin);white-space:nowrap;align-items:baseline;gap:16px;padding:6px 26px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.kg-hud-tc.kg-hidden{display:none}.kg-phase-name{font-family:var(--mincho);letter-spacing:.4em;font-size:24px}.kg-phase-left{color:var(--kinari-dim);font-variant-numeric:tabular-nums;font-size:13px}.kg-phase[data-phase=alert]{border-top-color:var(--shu);background:#460e08d1;transition:background-color .2s,border-color .2s}.kg-phase[data-phase=alert] .kg-phase-name{color:#ff8a6e}.kg-phase[data-phase=alert] .kg-phase-left{color:#ffd3b0}.kg-phase[data-phase=alert][data-watch=unseen]{border-top-color:var(--kin);background:#10121adb}.kg-phase[data-phase=alert][data-watch=unseen] .kg-phase-name{color:var(--kinari)}.kg-phase[data-phase=alert][data-watch=unseen] .kg-phase-left,.kg-phase[data-phase=evasion] .kg-phase-name{color:var(--kin)}.kg-alert-tip{letter-spacing:.12em;color:#ffd3b0;border-bottom:1px solid var(--shu);white-space:nowrap;opacity:0;background:#14110fd1;padding:5px 20px;font-size:16px;transition:opacity .35s;position:absolute;top:66px;left:50%;transform:translate(-50%)}.kg-alert-tip.kg-on{opacity:1}.kg-hud-bl{background:linear-gradient(90deg, var(--sumi-a), #14110f00);align-items:flex-end;gap:14px;padding:10px 26px 10px 14px;display:flex;position:absolute;bottom:18px;left:20px}.kg-stance{font-family:var(--mincho);letter-spacing:.15em;min-width:4.6em;font-size:22px}.kg-stance[data-stance=run]{color:#ffb08f}.kg-stance[data-stance=crouch]{color:var(--kin)}.kg-meter{flex-direction:column;gap:4px;display:flex}.kg-meter-label{color:var(--kinari-dim);letter-spacing:.15em;font-size:11px}.kg-meter-bar{border:1px solid #efe6d259;width:240px;height:18px;display:flex;position:relative}.kg-meter-seg{color:#efe6d2bf;justify-content:center;align-items:center;font-size:11px;display:flex;position:relative}.kg-meter-seg.kg-dark{background:#10131c;width:25%}.kg-meter-seg.kg-dim{background:#3a3426;width:30%}.kg-meter-seg.kg-lit{background:#8a5a22;width:45%}.kg-meter-mark{background:var(--kinari);width:3px;margin-left:-1.5px;transition:left 80ms linear;position:absolute;top:-5px;bottom:-5px;box-shadow:0 0 6px #efe6d2e6}.kg-tier{font-family:var(--mincho);min-width:2.6em;font-size:20px}.kg-tier[data-tier=lit]{color:#ffc06a}.kg-tier[data-tier=dim]{color:var(--kin)}.kg-hud-br{text-align:right;background:linear-gradient(270deg, var(--sumi-a), #14110f00);box-sizing:border-box;max-width:calc(100vw - 460px);padding:10px 14px 10px 26px;position:absolute;bottom:18px;right:20px}.kg-stones{justify-content:flex-end;align-items:center;gap:6px;display:flex}.kg-stones-label{font-family:var(--mincho);margin-right:6px;font-size:16px}.kg-stone{border:1px solid #efe6d273;border-radius:50%;width:12px;height:10px}.kg-stone.kg-have{background:#b9b2a2;border-color:#d8d0bd}.kg-keys{color:var(--kinari-dim);letter-spacing:.04em;margin-top:6px;font-size:12px;line-height:1.8}.kg-keys .kg-key{color:var(--kinari);border:1px solid #efe6d259;margin:0 5px 0 12px;padding:0 4px;font-size:11px}.kg-keys .kg-key:first-child{margin-left:0}.kg-hud-bc{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.kg-prompt,.kg-aimhint{font-family:var(--mincho);white-space:nowrap;display:none}.kg-prompt.kg-on{letter-spacing:.25em;background:var(--sumi-a);border:1px solid var(--kin);padding:6px 26px;font-size:22px;display:block}.kg-prompt.kg-kill{border-color:var(--shu);color:#ffd3b0;box-shadow:0 0 18px #c8402c80}.kg-aimhint.kg-on{color:var(--kin);background:var(--sumi-a);padding:4px 16px;font-size:15px;display:block}.kg-toast{font-family:var(--mincho);letter-spacing:.25em;color:#ff8a6e;text-shadow:0 0 12px #000000e6;opacity:0;white-space:nowrap;font-size:34px;transition:opacity .2s;position:absolute;top:28%;left:50%;transform:translate(-50%)}.kg-toast.kg-on{opacity:1}.kg-lockhint{color:var(--kinari-dim);white-space:nowrap;background:#14110f8c;padding:4px 14px;font-size:12px;display:none;position:absolute;top:72px;left:50%;transform:translate(-50%)}.kg-lockhint.kg-on{display:block}.kg-pause{background:#05070d8c}.kg-gameover{background:radial-gradient(#2806048c,#050303d9)}.kg-go-title{font-family:var(--mincho);letter-spacing:.4em;color:#e5523a;text-shadow:0 0 18px #000000e6;margin:0 0 0 .4em;font-size:clamp(48px,7vw,76px);font-weight:600}.kg-go-body{font-family:var(--mincho);text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:17px;line-height:1.9}.kg-go-body p{text-wrap:balance;margin:4px 0}.kg-go-hint{color:var(--kin);font-size:15px;margin-top:10px!important}.kg-result{background:#05070d99}.kg-rs-head{font-family:var(--mincho);letter-spacing:.2em;color:var(--kin);font-size:16px}.kg-mission-complete{letter-spacing:.08em;text-align:center;font-size:20px}.kg-rs-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;margin:6px 0 8px;display:flex}.kg-rank{flex-direction:column;align-items:center;max-width:300px;display:flex}.kg-rank-char{font-family:var(--mincho);color:var(--kin);text-shadow:0 0 30px #c9a75b59;font-size:128px;font-weight:600;line-height:1.1}.kg-rank-text{font-family:var(--mincho);text-align:center;white-space:nowrap;font-size:15px;line-height:1.8}.kg-rs-stats{font-family:var(--mincho);grid-template-columns:max-content max-content;gap:8px 22px;margin:0;font-size:20px;display:grid}.kg-rs-stats dt{color:var(--kinari-dim)}.kg-rs-stats dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.kg-finale{--bars:0;display:none;position:absolute;inset:0}.kg-finale.kg-on{display:block}.kg-bar{background:#000;height:13vh;position:absolute;left:0;right:0}.kg-bar-top{transform:translateY(calc((var(--bars) - 1) * 100%));top:0}.kg-bar-bottom{transform:translateY(calc((1 - var(--bars)) * 100%));bottom:0}.kg-finale-sub{text-align:center;font-family:var(--mincho);letter-spacing:.35em;color:var(--kinari);text-shadow:0 0 10px #000000e6;opacity:0;font-size:clamp(22px,3vw,34px);position:absolute;bottom:15vh;left:0;right:0}.kg-finale-title{opacity:0;text-shadow:0 0 22px #000000f2;background:radial-gradient(58% 30%,#000000c7,#00000059 70%,#0000);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.kg-finale-main{font-family:var(--mincho);letter-spacing:.3em;margin-left:.3em;font-size:clamp(56px,9vw,112px);font-weight:600}.kg-finale-date{font-family:var(--mincho);letter-spacing:.5em;color:var(--kin);margin-left:.5em;font-size:clamp(18px,2.4vw,28px)}.kg-debug{pointer-events:none;background:#0a0a0ed9;border:1px solid #c9a75b99;position:fixed;bottom:96px;left:10px}#share{z-index:5;box-sizing:border-box;width:min(320px,100vw - 32px);color:var(--kinari);background:#14110f;border:1px solid #c9a75b73;padding:0 14px 12px;display:none;position:fixed;bottom:16px;right:16px}.kg-ui[data-screen=title]~#share,.kg-ui[data-screen=result]~#share{display:block}#share .share{min-width:0;margin-top:12px}@media (max-width:520px){#share{width:auto;bottom:8px;left:8px;right:8px}}
