.yanaika{
  --yn-bg:#EEF1F5; --yn-surface:#FFFFFF; --yn-ink:#16213A; --yn-muted:#5B6579; --yn-line:#C9D0DC;
  --yn-yes:#D7263D; --yn-no:#1F5FBF; --yn-mid:#B98500; --yn-mid-fill:#F2C230;
  --yn-paper:#FBFAF5; --yn-paper-ink:#121826; --yn-paper-shadow:#16213A;
  --yn-display:"Hiragino Kaku Gothic StdN","Yu Gothic",sans-serif;
  --yn-body:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  max-width:40rem;margin:1.5rem auto;padding:0 1rem;
  background:var(--yn-bg);color:var(--yn-ink);font-family:var(--yn-body);line-height:1.7;
  border-radius:8px;
}
@media (prefers-color-scheme:dark){
  .yanaika{
    --yn-bg:#101726; --yn-surface:#1A2336; --yn-ink:#EDF0F6; --yn-muted:#9AA5BA; --yn-line:#2E3A52;
    --yn-yes:#FF6074; --yn-no:#74AAFF; --yn-mid:#F5C542; --yn-mid-fill:#F5C542; --yn-paper-shadow:#000;
  }
}
.yanaika *{box-sizing:border-box}
.yanaika [hidden]{display:none!important}
.yanaika button,.yanaika input,.yanaika textarea{font:inherit;color:inherit}
.yanaika :focus-visible{outline:3px solid var(--yn-no);outline-offset:2px}
.yanaika h2{font-size:1rem;margin:0 0 .5rem}
.yanaika p{margin:0}

.yanaika--error{border:2px solid var(--yn-yes);padding:1rem}

.yanaika__banner{border:2px solid var(--yn-yes);border-radius:4px;padding:.7rem .9rem;margin:0 0 1rem!important;font-size:.9rem}

.yanaika__panel{background:var(--yn-surface);border:1px solid var(--yn-line);border-radius:6px;padding:1rem}
.yanaika__field{display:block;margin-bottom:.9rem}
.yanaika__field span{display:block;font-weight:700;font-size:.9rem;margin-bottom:.25rem}
.yanaika__field small{display:block;color:var(--yn-muted);font-size:.8rem;margin-top:.2rem}
.yanaika input[type=text]{width:100%;padding:.7rem .8rem;border:2px solid var(--yn-line);border-radius:4px;background:var(--yn-bg);font-size:1rem}
.yanaika input[type=text]:focus{border-color:var(--yn-ink);outline:none}
.yanaika__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none}
.yanaika__chips button{border:1px solid var(--yn-line);background:transparent;border-radius:999px;padding:.3rem .8rem;font-size:.9rem;cursor:pointer}
.yanaika__chips button:hover{border-color:var(--yn-ink)}
.yanaika .yanaika__primary,
.yanaika a.yanaika__primary,
.yanaika a.yanaika__primary:link,
.yanaika a.yanaika__primary:visited{display:inline-block;width:100%;border:0;border-radius:4px;background:var(--yn-ink) !important;color:var(--yn-bg) !important;font-weight:700;padding:.85rem 1rem;cursor:pointer;text-decoration:none;text-align:center}
.yanaika .yanaika__primary:hover,
.yanaika a.yanaika__primary:hover{background:var(--yn-ink) !important;color:var(--yn-bg) !important;opacity:.9}
.yanaika .yanaika__primary:disabled{opacity:.45;cursor:default}
.yanaika .yanaika__ghost{border:1px solid var(--yn-line);background:transparent !important;color:var(--yn-ink) !important;border-radius:4px;padding:.55rem .9rem;cursor:pointer;font-size:.9rem;font-weight:400}
.yanaika .yanaika__ghost:hover{border-color:var(--yn-ink)}
.yanaika__rules{margin:1.25rem 0 0;padding-left:1.2rem;color:var(--yn-muted);font-size:.9rem}
.yanaika__rules li{margin-bottom:.3rem}

.yanaika__bill{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;margin-bottom:1.25rem}
.yanaika__mekuri{writing-mode:vertical-rl;font-family:var(--yn-display);font-weight:700;background:var(--yn-paper);color:var(--yn-paper-ink);
  border:3px solid var(--yn-paper-ink);box-shadow:5px 5px 0 var(--yn-paper-shadow);border-radius:2px;
  padding:.9rem .5rem;font-size:clamp(1.6rem,7.5vw,2.3rem);line-height:1.15;min-height:9rem;max-height:16rem}
.yanaika__premise{margin:0 0 .75rem!important;font-size:1.02rem}
.yanaika__status{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.9rem;color:var(--yn-muted)}
.yanaika__status strong{color:var(--yn-ink);font-family:var(--yn-display);font-size:1.35rem;margin-right:.15rem}
.yanaika__lives i{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;border:2px solid var(--yn-muted);margin-left:.2rem}
.yanaika__lives i.on{background:var(--yn-yes);border-color:var(--yn-yes)}
.yanaika__left{font-size:.8rem}

.yanaika__script{list-style:none;margin:0;padding:0}
.yanaika__beat{padding:.9rem 0;border-top:1px solid var(--yn-line)}
.yanaika__who{display:inline-block;min-width:4.2em;font-size:.78rem;font-weight:700;color:var(--yn-muted)}
.yanaika__boke{font-size:1rem}
.yanaika__verdict{margin-top:.6rem}
.yanaika__tsukkomi{font-family:var(--yn-display);font-weight:700;font-size:calc(1.05rem + var(--s,.3) * .6rem);line-height:1.35;margin-top:.5rem!important}
.yanaika__tsukkomi .yanaika__who{font-family:var(--yn-body)}
.yanaika__verdict[data-kind=ok][data-side=yes] .yanaika__line{color:var(--yn-yes)}
.yanaika__verdict[data-kind=ok][data-side=no] .yanaika__line{color:var(--yn-no)}
.yanaika__verdict[data-kind=miss] .yanaika__line,.yanaika__verdict[data-kind=foul] .yanaika__line{color:var(--yn-muted)}
.yanaika__meta{font-size:.82rem;color:var(--yn-muted);margin-top:.15rem!important}
.yanaika__empty{color:var(--yn-muted);padding:.9rem 0;border-top:1px solid var(--yn-line)}

.yanaika__meter-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;font-weight:700}
.yanaika__meter-val{font-family:var(--yn-display);font-size:1.15rem}
.yanaika__track{position:relative;display:grid;height:.8rem;margin:.55rem 0 .2rem;border-radius:2px}
.yanaika__zone{display:block;opacity:.3;min-width:0}
.yanaika__zone.rough{background:repeating-linear-gradient(135deg,var(--yn-muted) 0 2px,transparent 2px 5px)}
.yanaika__zone.no{background:var(--yn-no)}
.yanaika__zone.yes{background:var(--yn-yes)}
.yanaika__track[data-target=no] .yanaika__zone.no,.yanaika__track[data-target=yes] .yanaika__zone.yes{opacity:.6;box-shadow:0 0 0 2px var(--yn-ink)}
.yanaika__track[data-hit=rough] .yanaika__zone.rough,
.yanaika__track[data-hit=no] .yanaika__zone.no,
.yanaika__track[data-hit=yes] .yanaika__zone.yes{opacity:1}
.yanaika__needle{position:absolute;top:-.45rem;left:50%;width:0;height:0;transform:translateX(-50%);
  border-left:.42rem solid transparent;border-right:.42rem solid transparent;border-top:.62rem solid var(--yn-ink);
  transition:left .7s cubic-bezier(.2,1.5,.4,1)}
.yanaika__meter.is-pending .yanaika__needle{animation:yanaika-wobble .9s ease-in-out infinite alternate;transition:none}
@keyframes yanaika-wobble{from{left:38%}to{left:62%}}
.yanaika__scale{display:grid;font-size:.72rem;color:var(--yn-muted);margin-top:.3rem}
.yanaika__scale span:nth-child(2){text-align:right}
@media (prefers-reduced-motion:reduce){
  .yanaika__needle{transition:none}
  .yanaika__meter.is-pending .yanaika__needle{animation:none}
}

.yanaika__composer{position:sticky;bottom:0;background:var(--yn-bg);padding:.75rem 0 1rem;border-top:2px solid var(--yn-ink);margin-top:.5rem}
.yanaika__next{margin:0 0 .5rem!important;font-size:.95rem}
.yanaika__next small{display:block;color:var(--yn-muted);font-size:.8rem}
.yanaika__next em{font-style:normal;font-weight:700;padding:.05rem .45rem;border-radius:3px;color:#fff}
.yanaika__next em.yes{background:var(--yn-yes)}
.yanaika__next em.no{background:var(--yn-no)}
@media (prefers-color-scheme:dark){.yanaika__next em{color:#101726}}
.yanaika__row{display:flex;gap:.5rem}
.yanaika__row input{flex:1;min-width:0;background:var(--yn-surface)}
.yanaika .yanaika__row .yanaika__primary{width:auto;white-space:nowrap;padding:.7rem 1.1rem}
.yanaika__under{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem}
.yanaika__notice{font-size:.85rem;color:var(--yn-yes);min-height:1.3em;flex:1}

.yanaika__result h2{font-family:var(--yn-display);font-size:1.6rem;margin-bottom:.25rem}
.yanaika__card{display:block;width:100%;height:auto;border:1px solid var(--yn-line);border-radius:6px;margin:.4rem 0 .8rem;background:#FBFAF5}
.yanaika__mask{display:flex;align-items:center;gap:.4rem;font-size:.9rem;margin:0 0 .6rem}
.yanaika a.yanaika__x,
.yanaika a.yanaika__x:link,
.yanaika a.yanaika__x:visited{width:auto !important;text-decoration:none;padding:.6rem 1.2rem;background:#000 !important;color:#fff !important;border:1px solid #000 !important;font-weight:700}
.yanaika a.yanaika__x:hover,
.yanaika a.yanaika__x:focus{color:#fff !important;background:#000 !important;opacity:.85}
@media (prefers-color-scheme:dark){
  .yanaika a.yanaika__x,
  .yanaika a.yanaika__x:link,
  .yanaika a.yanaika__x:visited{background:#fff !important;color:#000 !important;border-color:#fff !important}
  .yanaika a.yanaika__x:hover,
  .yanaika a.yanaika__x:focus{color:#000 !important;background:#fff !important}
}
.yanaika__script-box{margin:.2rem 0 1rem;font-size:.9rem}
.yanaika__script-box summary{cursor:pointer;color:var(--yn-muted)}
.yanaika__script-box textarea{margin-top:.5rem}
.yanaika__tally{margin:0 0 1rem!important;color:var(--yn-muted)}
.yanaika__result textarea{width:100%;height:11rem;font-size:.85rem;line-height:1.6;color:var(--yn-ink);background:var(--yn-bg);border:1px solid var(--yn-line);border-radius:4px;padding:.6rem;resize:vertical}
.yanaika__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.2rem 0 .6rem}
.yanaika__copied{font-size:.85rem;color:var(--yn-muted);margin:0 0 .75rem!important;min-height:1.3em}

.yanaika__debug{margin:1.5rem 0 0;font-size:.85rem;color:var(--yn-muted)}
.yanaika__debug summary{cursor:pointer;font-weight:700}
.yanaika__scroll{overflow-x:auto}
.yanaika__debug pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.5;
  background:var(--yn-surface);border:1px solid var(--yn-line);border-radius:4px;padding:.6rem;margin:.5rem 0;white-space:pre;color:var(--yn-ink)}
