:root{font:16px/1.65 system-ui,sans-serif;color:#eef1ee;background:#111715;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}main{max-width:1080px;margin:44px auto;padding:0 22px 50px}h1{font-size:clamp(2.8rem,7vw,4.5rem);line-height:1.1;letter-spacing:-.05em;margin:20px 0}h1 em{color:#c0f477;font-style:normal}h2{font-size:1.2rem}.eyebrow{color:#bce184;font-size:.75rem;letter-spacing:.12em}.notice,details,small{color:#aebdb3;font-size:.85rem}section{margin:22px 0;padding:24px;border:1px solid #38483e;border-radius:16px;background:#1b251f}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}button,input,select{font:inherit;border-radius:8px;padding:10px 15px;border:1px solid #667a6e}button{cursor:pointer;background:#c0f477;color:#142018;font-weight:650}button:disabled{opacity:.4;cursor:default}#cancel,#reconnect,#surrender,#pass,#defend{background:#23362b;color:#dce8df}input:not([type=checkbox]),select{display:block;width:100%;margin:8px 0 16px;background:#111a15;color:#fff}small{font-weight:400}label small,h2 small{display:block}.duel{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;isolation:isolate}.fighter{padding:20px;border:1px solid #527044;background:#162218;border-radius:12px;min-width:0;position:relative}.opponent{background:#251f1b;border-color:#735542}.fighter-label{font-size:.8rem;display:flex;justify-content:space-between;gap:8px}.fighter-label b{font-size:1.4rem;color:#c0f477}.opponent b{color:#ffbc91}progress{width:100%;height:10px;accent-color:#c0f477}.opponent progress{accent-color:#ffbc91}.stack{color:#d0f49a;margin-bottom:0;font-size:.85rem}.word-face{min-height:110px;display:flex;justify-content:center;align-items:center;flex-direction:column;overflow-wrap:anywhere}.word-face strong{font-size:clamp(1.5rem,3vw,2.1rem)}.word-face span{font-weight:750;letter-spacing:.04em}.tier-A{color:#c0f477}.tier-S{color:#ffdd80}.tier-B{color:#aacdff}.tier-C{color:#b8c1ba}.effects{font-weight:700;color:#ffda84;min-height:1.6em;font-size:.85rem}.counter,.detail{font-size:.8rem;color:#c6d1c9;overflow-wrap:anywhere}.damage{color:#ffaf8d}#clock{margin-left:auto;color:#ffda84;font-size:1.7rem}#final{font-weight:700;font-size:1.5rem;color:#c0f477}#ack{color:#ffda84;min-height:1.6em}li{margin:14px 0;padding-bottom:14px;border-bottom:1px solid #38483e;font-size:.9rem}details{padding:14px 20px;border:1px solid #38483e;border-radius:12px;margin-top:14px}summary{cursor:pointer;color:#dfe9df}.sound{display:flex;align-items:center;gap:8px}footer{margin-top:24px}.particle{position:absolute;left:50%;top:45%;width:4px;height:4px;border-radius:50%;background:#d8f397;pointer-events:none;animation:burst .7s ease-out forwards;z-index:2}.impact{animation:hit .25s ease-out}.impact-A{animation:hit .4s ease-out}.impact-S{animation:hit .6s ease-out;box-shadow:0 0 30px #e9ce6f66}@keyframes hit{20%{transform:translateX(-5px)}40%{transform:translateX(5px)}70%{transform:translateX(-2px)}}@keyframes burst{to{transform:translate(var(--x),var(--y));opacity:0}}@media(max-width:640px){main{margin-top:24px;padding:0 12px 30px}section{padding:16px}.duel{gap:8px}.fighter{padding:10px}.fighter-label{font-size:.65rem;display:block}.fighter-label span{display:block}.word-face{min-height:100px}.effects,.stack,.counter,.detail{font-size:.72rem}.row button{font-size:.85rem;padding:9px 11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
