:root:root{--bg: #161b33;--bg-2: #1f2645;--ink: #eef0fb;--ink-dim: #aab0cf;--accent: #f5c26b;--line: #343c66;--ks-paper: #fbf7ee;--ks-paper-2: #f1e9d8;--ks-ink: #23263a;--ks-dim: #7b7a8c;--ks-say: #2fae7b;--ks-say-2: #1f8a5f;--ks-fix: #e2574a;--ks-fix-2: #b93a2f;--ks-gold: #f5c26b;color-scheme:dark}html body{background:radial-gradient(70% 45% at 50% -6%,#ffd69638,#ffd69600 70%),repeating-linear-gradient(90deg,#ffffff05 0 1px,#0000 1px 46px),linear-gradient(180deg,#1d2342,#0f1328)}body .shell{background:linear-gradient(to bottom,#161b33f7 70%,#161b3300)}body .gi-dock__btn--share{background:var(--ks-gold);color:#1b1f36}.ks{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;padding:calc(var(--shell-h) + var(--gi-intro-h) + env(safe-area-inset-top,0px) + 2px) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,Noto Sans CJK JP,sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.ks__play{height:100%;min-height:420px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;max-width:980px;margin:0 auto}.ks__play[hidden],.ks-result[hidden]{display:none}.ks-hud{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:28px;padding:0 2px}.ks-pips{display:grid;grid-template-columns:repeat(10,11px);gap:3px;margin:0;padding:0;list-style:none}.ks-pip{width:11px;height:11px;border-radius:3px;background:#ffffff21;transition:background .2s,transform .2s}.ks-pip[hidden]{display:none}.ks-pip[data-s=now]{background:transparent;box-shadow:inset 0 0 0 2px var(--ks-gold)}.ks-pip[data-s=ok]{background:var(--ks-say)}.ks-pip[data-s=ng]{background:var(--ks-fix);transform:scale(1.12)}.ks-score{margin:0;display:flex;gap:10px;font-size:13px;color:var(--ink-dim);white-space:nowrap}.ks-score b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}.ks-score__n{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.ks-score__warm{color:var(--ks-gold);font-weight:800}.ks-score__warm small{margin-left:4px;font-weight:600;color:var(--ink-dim)}.ks-field{position:relative;display:grid;grid-template-columns:clamp(62px,17vw,190px) minmax(0,1fr) clamp(62px,17vw,190px);gap:6px;min-height:0;overflow:hidden;border-radius:18px}.ks-band{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:44px;border:0;border-radius:16px;color:#fff;font:inherit;cursor:pointer;touch-action:none;box-shadow:inset 0 1px #ffffff2e,inset 0 -10px 24px #00000040,0 6px 18px #00000059;transition:transform 90ms ease-out,filter .12s}.ks-band--fix{background:linear-gradient(180deg,#e2574a8c,#b93a2f6b 60%,#781e1a80)}.ks-band--say{background:linear-gradient(180deg,#2fae7b8c,#1f8a5f6b 60%,#10503880)}.ks-band svg{width:clamp(26px,6vw,44px);height:auto;opacity:.95;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}.ks-band__arrow{font-size:clamp(30px,8vw,52px);font-weight:900;line-height:1;text-shadow:0 2px 6px rgba(0,0,0,.35)}.ks-band__label{font-size:clamp(18px,4.6vw,28px);font-weight:900;letter-spacing:.08em;text-shadow:0 2px 6px rgba(0,0,0,.35)}.ks-band__key{display:none;font:700 12px/1 ui-monospace,monospace;padding:4px 7px;border-radius:6px;background:#00000047}@media (hover: hover) and (min-width: 700px){.ks-band__key{display:inline-block}}@media (max-width: 440px){html[lang=ja] .ks-band__label{writing-mode:vertical-rl;letter-spacing:.3em}}.ks-band:focus-visible{outline:3px solid var(--ks-gold);outline-offset:-3px}.ks-band[data-hot=true]{filter:brightness(1.35) saturate(1.2);transform:scale(1.03)}.ks-band--press{animation:ks-press .18s ease-out}@keyframes ks-press{0%{transform:scale(.95)}to{transform:scale(1)}}.ks-band--ok{animation:ks-band-ok .52s ease-out}@keyframes ks-band-ok{0%{box-shadow:inset 0 0 0 4px #b8ffd9,0 0 34px #2fae7be6;filter:brightness(1.5)}to{filter:none}}.ks-band--ng{animation:ks-band-ng .52s ease-out}@keyframes ks-band-ng{0%{box-shadow:inset 0 0 0 4px #ffd0c9,0 0 34px #e2574ae6;filter:brightness(1.5)}to{filter:none}}.ks-band--hint{animation:ks-hint 1.4s ease-in-out 3}@keyframes ks-hint{50%{filter:brightness(1.45);box-shadow:inset 0 0 0 3px #f5c26be6,0 0 26px #f5c26b8c}}.ks-lane{position:relative;min-height:0;border-radius:16px;background:radial-gradient(90% 50% at 50% 0%,#ffe2aa1a,#ffe2aa00 70%),linear-gradient(180deg,#ffffff0a,#ffffff04);box-shadow:inset 0 0 0 1px #ffffff0f}.ks-line{position:absolute;left:6px;right:6px;bottom:var(--ks-desk-h, 52px);height:0;border-top:2px dashed rgba(226,87,74,.75)}.ks-line__label{position:absolute;right:2px;bottom:4px;font-size:11px;color:#ffbeb4d9;white-space:nowrap}.ks-desk{position:absolute;left:0;right:0;bottom:0;height:var(--ks-desk-h, 52px);border-radius:0 0 16px 16px;background:linear-gradient(180deg,#ffffff29,#fff0 5px),repeating-linear-gradient(92deg,#0000000f 0 3px,#ffffff05 3px 9px),linear-gradient(180deg,#8a5a3a,#5e3b25);box-shadow:0 -6px 16px #00000059}.ks-desk__plate{position:absolute;left:50%;top:9px;transform:translate(-50%);padding:3px 14px;border-radius:4px;background:linear-gradient(180deg,#fbf7ee,#e2d8c2);color:#3a2c22;font-size:13px;font-weight:800;letter-spacing:.1em;box-shadow:0 3px 5px #0006}.ks-desk__paper{position:absolute;left:10%;top:10px;width:18%;height:60%;background:#f4f0e6;border-radius:2px;transform:rotate(-4deg);box-shadow:0 2px 4px #00000059;opacity:.9}.ks-desk__pen{position:absolute;right:12%;top:18px;width:16%;height:5px;border-radius:3px;background:linear-gradient(90deg,#1f2a44 80%,#c9a45a 80%);transform:rotate(8deg);box-shadow:0 2px 3px #00000059}.ks-card{position:absolute;left:50%;top:0;z-index:3;width:min(100% - 14px,420px);padding:10px 14px 14px;border-radius:14px;background:linear-gradient(180deg,var(--ks-paper),var(--ks-paper-2));color:var(--ks-ink);box-shadow:0 1px #ffffffe6 inset,0 10px 22px #0000006b,0 2px 4px #0000004d;cursor:grab;touch-action:none;will-change:transform}.ks-card:after{content:"";position:absolute;left:26px;bottom:-9px;width:18px;height:18px;background:var(--ks-paper-2);transform:rotate(45deg);border-radius:3px;box-shadow:4px 4px 6px #0000002e;z-index:-1}.ks-card[data-grab=true]{cursor:grabbing}.ks-card[data-target=true]{box-shadow:0 0 0 3px var(--ks-gold),0 0 26px #f5c26b73,0 12px 24px #00000073}.ks-card[data-target=false]{filter:brightness(.86) saturate(.85)}.ks-card[data-low=true][data-target=true]{box-shadow:0 0 0 3px #ff9f8c,0 0 28px #e2574a8c,0 12px 24px #00000073}.ks-card[data-lean=say]{box-shadow:0 0 0 4px var(--ks-say),0 0 30px #2fae7b99,0 12px 24px #00000073}.ks-card[data-lean=fix]{box-shadow:0 0 0 4px var(--ks-fix),0 0 30px #e2574a99,0 12px 24px #00000073}.ks-card__who{display:block;font-size:11px;font-weight:700;color:var(--ks-dim);letter-spacing:.04em;margin-bottom:4px}.ks-card__text{margin:0;font-size:clamp(17px,4.6vw,23px);font-weight:800;line-height:1.42;word-break:auto-phrase;text-wrap:balance;overflow-wrap:anywhere}.ks-card__stamp{position:absolute;right:10px;top:6px;font-size:44px;font-weight:900;line-height:1;opacity:0;transform:scale(1.8) rotate(-12deg)}.ks-card[data-state] .ks-card__stamp{opacity:1;transform:scale(1) rotate(-12deg);transition:transform .12s cubic-bezier(.2,1.6,.4,1),opacity 60ms}.ks-card[data-state=ok] .ks-card__stamp{color:var(--ks-say-2)}.ks-card[data-state=ng] .ks-card__stamp,.ks-card[data-state=miss] .ks-card__stamp{color:var(--ks-fix-2)}.ks-card[data-state=ok]{box-shadow:0 0 0 4px var(--ks-say),0 0 34px #2fae7bb3}.ks-card[data-state=ng]{box-shadow:0 0 0 4px var(--ks-fix),0 0 34px #e2574ab3}.ks-card[data-state=miss]{filter:grayscale(.8) brightness(.8)}.ks-card--pop{animation:ks-pop .26s cubic-bezier(.2,1.4,.4,1)}@keyframes ks-pop{0%{opacity:0;scale:.86}to{opacity:1;scale:1}}.ks-card[data-hint=say]{animation:ks-nudge-r 1.6s ease-in-out infinite}.ks-card[data-hint=fix]{animation:ks-nudge-l 1.6s ease-in-out infinite}@keyframes ks-nudge-r{0%,18%{translate:0 0;rotate:0deg}58%{translate:46px 0;rotate:3deg}78%,to{translate:0 0;rotate:0deg}}@keyframes ks-nudge-l{0%,18%{translate:0 0;rotate:0deg}58%{translate:-46px 0;rotate:-3deg}78%,to{translate:0 0;rotate:0deg}}.ks-hand{position:absolute;left:50%;z-index:6;width:58px;margin-left:-29px;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}.ks-hand[hidden]{display:none}.ks-hand svg{width:100%;height:auto;display:block}.ks-hand[data-dir=right]{animation:ks-hand-r 1.6s ease-in-out infinite}.ks-hand[data-dir=left]{animation:ks-hand-l 1.6s ease-in-out infinite}@keyframes ks-hand-r{0%{transform:translateY(10px) scale(1.1);opacity:0}12%{opacity:1;transform:translate(0) scale(1.1)}18%{transform:translate(0) scale(.95)}58%{transform:translate(46px) scale(.95);opacity:1}72%{transform:translate(80px,-6px) scale(1.05);opacity:0}to{opacity:0}}@keyframes ks-hand-l{0%{transform:translateY(10px) scale(-1.1,1.1);opacity:0}12%{opacity:1;transform:translate(0) scale(-1.1,1.1)}18%{transform:translate(0) scale(-.95,.95)}58%{transform:translate(-46px) scale(-.95,.95);opacity:1}72%{transform:translate(-80px,-6px) scale(-1.05,1.05);opacity:0}to{opacity:0}}.ks-fb__lead{margin:0;font-size:15px;font-weight:800;line-height:1.5;color:#e4e7f7}.ks-fb__lead .say{color:#8ef0c0}.ks-fb__lead .fix{color:#ffaa9c}.ks-banner{position:absolute;left:50%;top:34%;z-index:5;transform:translate(-50%);margin:0;padding:10px 16px;width:max-content;max-width:calc(100% - 16px);border-radius:999px;background:#0e1228e6;box-shadow:0 0 0 2px var(--ks-gold),0 10px 26px #00000080;font-size:clamp(14px,3.8vw,18px);font-weight:800;text-align:center;color:#fff}.ks-banner[hidden]{display:none}.ks-banner--in{animation:ks-banner 1.1s ease-out}@keyframes ks-banner{0%{opacity:0;scale:.8}15%{opacity:1;scale:1.04}25%{scale:1}85%{opacity:1}to{opacity:0}}.ks-fb{min-height:104px;padding:8px 12px;border-radius:14px;background:#0a0d1eb8;box-shadow:inset 0 0 0 1px #ffffff14}.ks-fb[data-state=ok]{box-shadow:inset 0 0 0 2px #2fae7bbf}.ks-fb[data-state=ng]{box-shadow:inset 0 0 0 2px #e2574ad9}.ks-fb__head{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:17px;font-weight:900}.ks-fb[data-state=ok] .ks-fb__head{color:#8ef0c0}.ks-fb[data-state=ng] .ks-fb__head{color:#ffaa9c}.ks-fb__kind{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#ffffff1a;color:var(--ink-dim)}.ks-fb__fix{margin:3px 0 0;font-size:16px;font-weight:800;line-height:1.4;word-break:auto-phrase}.ks-fb__bad{color:#ffaa9c;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#e2574acc}.ks-fb__good{color:#8ef0c0}.ks-fb__arrow{margin:0 6px;color:var(--ink-dim)}.ks-fb__why{margin:3px 0 0;font-size:13px;line-height:1.45;color:var(--ink-dim)}.ks-fb--in{animation:ks-fb .3s ease-out}@keyframes ks-fb{0%{transform:translateY(6px);opacity:.2}to{transform:none;opacity:1}}.ks-shake{animation:ks-shake .26s ease-out}@keyframes ks-shake{20%{transform:translate(-6px)}45%{transform:translate(5px)}70%{transform:translate(-3px)}to{transform:none}}.ks-ring{position:fixed;z-index:60;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:3px solid rgba(255,255,255,.9);pointer-events:none;animation:ks-ring .48s ease-out forwards}@keyframes ks-ring{0%{transform:scale(.4);opacity:1}to{transform:scale(1.5);opacity:0}}.ks-spark{position:fixed;z-index:59;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;pointer-events:none;animation:ks-spark .6s ease-out forwards}.ks-spark--ok{background:#8ef0c0;box-shadow:0 0 8px #2fae7b}.ks-spark--ng{background:#ffaa9c;box-shadow:0 0 8px #e2574a}@keyframes ks-spark{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.3);opacity:0}}.ks-result{max-width:620px;margin:0 auto;padding-bottom:96px}.ks-result--in .ks-res{animation:ks-res-in .42s cubic-bezier(.2,1.2,.4,1)}@keyframes ks-res-in{0%{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}.ks-res{padding:14px 14px 18px;border-radius:18px;background:linear-gradient(180deg,#242b52eb,#141830f0);box-shadow:0 16px 40px #00000073,inset 0 1px #ffffff14;text-align:center}.ks-res__when{margin:0;color:var(--ks-gold);font-weight:800;letter-spacing:.04em}.ks-res__big{margin:2px 0 0;line-height:1}.ks-res__big b{font-size:72px;font-weight:900;font-variant-numeric:tabular-nums}.ks-res__big small{font-size:28px;color:var(--ink-dim);font-weight:800}.ks-res__big[data-perfect=true] b{color:#8ef0c0;text-shadow:0 0 22px rgba(47,174,123,.6)}.ks-res__time{margin:6px 0 10px;font-size:18px;font-weight:800;color:#dfe4ff}.ks-res__marks{display:grid;grid-template-columns:repeat(10,minmax(0,30px));justify-content:center;gap:4px;margin:0 auto 10px;padding:0;list-style:none}.ks-res__marks li{aspect-ratio:1;height:auto;display:grid;place-items:center;border-radius:7px;font-weight:900;color:#fff}.ks-res__marks li[data-s=ok]{background:var(--ks-say)}.ks-res__marks li[data-s=ng]{background:var(--ks-fix)}.ks-res__marks li[data-s=miss]{background:#5d6283}.ks-res__tri{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.ks-res__stat{margin:0;padding:8px 4px;border-radius:12px;background:#ffffff0f;display:flex;flex-direction:column;gap:1px}.ks-res__stat b{font-size:26px;font-weight:900;color:#ffaa9c}.ks-res__stat[data-zero=true] b{color:#8ef0c0}.ks-res__stat span{font-size:14px;font-weight:800}.ks-res__stat small{font-size:11px;color:var(--ink-dim)}.ks-res__trap{margin:0 0 8px;padding:8px 10px;border-radius:12px;background:#f5c26b1a;box-shadow:inset 0 0 0 1px #f5c26b66;font-size:14px;text-align:left}.ks-res__trap b{color:#fff}.ks-res__trap small{display:block;margin-top:2px;color:var(--ink-dim);font-size:12px}.ks-res__best{margin:6px 0 2px;font-weight:800;color:#dfe4ff}.ks-res__best[data-fresh=true]{color:#8ef0c0}.ks-res__near{margin:2px 0 6px;font-size:14px;color:var(--ks-gold);font-weight:700}.ks-res__acts{display:flex;gap:8px;justify-content:center;margin:10px 0 6px;flex-wrap:wrap}.ks-btn{min-height:48px;padding:0 20px;border:0;border-radius:999px;font:inherit;font-weight:800;font-size:16px;cursor:pointer}.ks-btn--main{background:var(--ks-gold);color:#1b1f36;box-shadow:0 6px 16px #f5c26b59}.ks-btn kbd{margin-left:8px;font:700 12px/1 ui-monospace,monospace;padding:3px 6px;border-radius:5px;background:#00000026}.ks-share{background:#ffffff1f;color:#fff}.ks-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}.ks-res__h{margin:14px 0 6px;font-size:15px;text-align:left;color:var(--ink-dim)}.ks-res__list{margin:0;padding:0;list-style:none;display:grid;gap:6px;text-align:left}.ks-res__row{padding:8px 10px;border-radius:12px;background:#ffffff0f}.ks-res__said{margin:0;font-size:15px;font-weight:700;display:flex;gap:6px;align-items:baseline}.ks-res__tag{flex:none;font-size:11px;padding:2px 6px;border-radius:6px;background:#e2574a4d;color:#ffd0c9}.ks-res__right{margin:2px 0 0;font-size:14px;color:var(--ink-dim)}.ks-res__right b{color:#8ef0c0}.ks-res__why{margin:2px 0 0;font-size:12px;color:var(--ink-dim);line-height:1.45}.ks-res__clean{margin:10px 0;font-weight:800;color:#8ef0c0}.ks-res__next{margin:12px 0 4px;font-size:13px;color:var(--ink-dim)}.ks-res__src{margin:2px 0 0;font-size:12px}.ks-res__src a{color:#b9c3ff}.ks-res__src a:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (min-width: 760px){.ks-fb{min-height:78px}.ks-card{padding:12px 18px 16px}}.ks-ogbrand{display:none}html.ks-og .shell,html.ks-og .gi-intro,html.ks-og .gi-dock,html.ks-og .toast{display:none!important}.ks--og{padding:30px 40px;display:grid;grid-template-columns:500px minmax(0,1fr);gap:26px;align-items:center;overflow:hidden}.ks--og .ks-ogbrand{display:flex;flex-direction:column;gap:12px}.ks-ogbrand__k{font-size:22px;font-weight:800;color:var(--ks-gold);letter-spacing:.06em}.ks-ogbrand strong{font-size:62px;line-height:1.12;font-weight:900;color:#fff}.ks-ogbrand__t{font-size:28px;font-weight:800;color:#dfe4ff}.ks-ogbrand__h{margin-top:14px;font-size:24px;font-weight:700;color:#c9cfee}.ks-ogbrand__h b.say{color:#8ef0c0}.ks-ogbrand__h b.fix{color:#ffaa9c}.ks--og .ks__play{height:570px;min-height:0;max-width:none;width:100%}.ks--og .ks-field{grid-template-columns:96px minmax(0,1fr) 96px}.ks--og .ks-card__text{font-size:22px}@media (prefers-reduced-motion: reduce){.ks-band--press,.ks-band--ok,.ks-band--ng,.ks-band--hint,.ks-card--pop,.ks-banner--in,.ks-fb--in,.ks-shake,.ks-result--in .ks-res,.ks-ring{animation:none}.ks-hand[data-dir],.ks-card[data-hint]{animation:none;opacity:1}.ks-hand[data-dir=right]{transform:translate(46px)}.ks-hand[data-dir=left]{transform:translate(-46px) scaleX(-1)}.ks-band{transition:none}}
