.pw{--ac:#0891B2;--ac2:#22D3EE}
.pwhero{position:relative;text-align:center;padding:5svh 0 18px}.pwhero .sub{margin-bottom:6px}
/* 解析マシン */
.mach{position:relative;background:#05080F;color:#E6F1FF;border-radius:28px;padding:18px 16px 20px;box-shadow:0 0 0 1px rgba(34,211,238,.18),0 20px 50px rgba(8,145,178,.25);overflow:hidden}
.mach:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none}
.mach>*{position:relative}
.mtop{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.1em;color:#7DD3FC}
.led{width:10px;height:10px;border-radius:50%;background:#22C55E;box-shadow:0 0 10px #22C55E}.led.busy{background:#F59E0B;box-shadow:0 0 10px #F59E0B;animation:blink .4s infinite}.led.bad{background:#EF4444;box-shadow:0 0 12px #EF4444}
@keyframes blink{50%{opacity:.3}}.mt2{margin-left:auto;color:#94A3B8}
.slots{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:16px 0 6px;min-height:46px}
.slots i{width:30px;height:42px;border-radius:8px;background:#0E1626;box-shadow:inset 0 0 0 1.5px #1E3A5F;display:grid;place-items:center;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:20px;font-weight:700;color:#22D3EE;transition:background .2s,color .2s,box-shadow .2s}
.slots.cracked i{background:#3B0D10;color:#FCA5A5;box-shadow:inset 0 0 0 1.5px #EF4444}.slots.safe i{background:#052E1A;color:#86EFAC;box-shadow:inset 0 0 0 1.5px #22C55E}
.slots.shake{animation:shk .45s}@keyframes shk{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.slotcap{margin:0;text-align:center;font-size:12px;color:#64748B}
.ctl{margin-top:14px;display:grid;gap:12px}
.lenrow{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-weight:800;font-size:14px}.lenrow input{width:100%;accent-color:var(--ac2);height:32px}.lenrow b{font-size:18px;min-width:3.6em;text-align:right;color:#fff}
.tg{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tg button{height:56px;border-radius:14px;border:0;background:#0E1626;color:#94A3B8;font:inherit;font-weight:800;font-size:13px;cursor:pointer;box-shadow:inset 0 0 0 1.5px #1E3A5F;line-height:1.2}.tg button b{display:block;font-family:"JetBrains Mono",monospace;font-size:17px}
.tg button[aria-pressed=true]{background:linear-gradient(135deg,#0891B2,#22D3EE);color:#04121A;box-shadow:none}
.sw{display:grid;gap:8px}.swb{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#CBD5E1;font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-align:left;padding:2px 0}
.swb i{flex:none;width:40px;height:24px;border-radius:99px;background:#1E293B;position:relative;transition:background .2s}.swb i:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#64748B;transition:all .2s}
.swb[aria-pressed=true] i{background:#EF4444}.swb[aria-pressed=true] i:after{left:19px;background:#fff}
.meter{margin-top:14px}.mbar{height:12px;border-radius:99px;background:#1E293B;overflow:hidden}.mbar i{display:block;height:100%;width:0;border-radius:99px;transition:width .35s var(--ease),background .35s}
.mlab{display:flex;justify-content:space-between;margin:6px 0 0;font-size:13px;color:#94A3B8}.mlab b{color:#fff;font-size:15px}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
.modes button{border:0;border-radius:12px;padding:8px 4px;background:#0E1626;color:#94A3B8;font:inherit;font-size:11px;font-weight:700;cursor:pointer;line-height:1.35;box-shadow:inset 0 0 0 1.5px #1E3A5F}.modes button b{display:block;font-size:13px;color:#E2E8F0}
.modes button[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--ac2);background:#0B2233}.modes button[aria-checked=true] b{color:var(--ac2)}
.go{display:block;width:100%;height:60px;margin-top:16px;border:0;border-radius:999px;background:linear-gradient(90deg,#EF4444,#F97316);color:#fff;font:inherit;font-size:19px;font-weight:900;cursor:pointer;box-shadow:0 10px 30px rgba(239,68,68,.35);letter-spacing:.04em}.go:disabled{opacity:.5;cursor:wait}
.run{margin-top:16px}.clock{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#94A3B8}.clock b{font-family:"JetBrains Mono","Noto Sans JP Variable",monospace;font-size:22px;color:#FDE68A;font-variant-numeric:tabular-nums}
.pbar2{height:8px;border-radius:99px;background:#1E293B;overflow:hidden;margin-top:8px}.pbar2 i{display:block;height:100%;width:0;background:linear-gradient(90deg,#F59E0B,#EF4444);border-radius:99px}
.ptxt{margin:4px 0 0;font-size:11px;color:#64748B;font-family:"JetBrains Mono",monospace}
.ms{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.ms li{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;transition:color .2s}.ms li:before{content:"";width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 2px #334155;flex:none}
.ms li.pass{color:#E2E8F0}.ms li.pass:before{background:#22C55E;box-shadow:none}.ms li.fail{color:#FCA5A5}.ms li.fail:before{background:#EF4444;box-shadow:none}
.verdict{margin-top:16px;border-radius:18px;padding:16px;text-align:center;animation:pop .4s var(--ease)}.verdict.bad{background:rgba(239,68,68,.14);box-shadow:inset 0 0 0 1.5px #EF4444}.verdict.good{background:rgba(34,197,94,.12);box-shadow:inset 0 0 0 1.5px #22C55E}
.verdict .vt{font-size:13px;color:#CBD5E1;margin:0}.verdict .vb{font-size:clamp(30px,9vw,44px);font-weight:900;margin:2px 0;line-height:1.2}.verdict.bad .vb{color:#F87171}.verdict.good .vb{color:#4ADE80}.verdict .vs{font-size:13px;color:#CBD5E1;margin:4px 0 0;line-height:1.7}
.mission{margin-top:16px}.mq{margin:0 0 12px;font-size:15px;line-height:1.7}.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.badges div{border-radius:14px;background:#F1F5F9;padding:10px 4px;text-align:center;font-size:11px;font-weight:800;color:#94A3B8;line-height:1.35}.badges div b{display:block;font-size:22px;filter:grayscale(1);opacity:.4}
.badges div.on{background:linear-gradient(135deg,#ECFEFF,#CFFAFE);color:#0E7490;box-shadow:inset 0 0 0 1.5px #22D3EE}.badges div.on b{filter:none;opacity:1;animation:pop .4s}
.best{margin:12px 0 0;font-weight:800;color:var(--ac)}
.tips{margin:0;padding-left:1.3em;display:grid;gap:12px;color:#fff}.tips b{display:block;font-size:15px}.tips span{display:block;font-size:13px;color:#C9CCD6;line-height:1.7;margin-top:2px}
.mt0{margin:0 0 14px;font-size:14px;color:var(--ink2);line-height:1.75}
.ctap{color:#C9CCD6;font-size:14px;margin:0 0 16px;line-height:1.75}.cta-c h3{color:var(--ac2)}
#sharec[hidden]{display:none}
.msh{margin:14px 0 0;font-size:12px;color:#94A3B8;font-weight:700}
.ms{margin-top:6px}
.tg button{padding:0 2px;font-size:11.5px;white-space:nowrap;letter-spacing:-.02em}
