/* ===== Round 3 features (19 Oct 2026) ===== */
[hidden]{display:none!important}
.wth{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 0;padding:12px 14px;border:1px solid var(--b);border-radius:12px;background:var(--card);color:var(--t);font-size:.92rem}
.wth[hidden]{display:none}
.wth .wq{font-weight:600;margin-right:4px}
.wth button{font:inherit;font-size:.88rem;min-height:40px;padding:6px 16px;border-radius:999px;border:1px solid var(--b);background:transparent;color:var(--t);cursor:pointer}
.wth button:hover,.wth button:focus-visible{border-color:var(--a);box-shadow:0 0 0 3px var(--al)}
.wth .wmore{flex-basis:100%;display:flex;flex-direction:column;gap:8px}
.wth textarea{width:100%;min-height:70px;font:inherit;font-size:.9rem;padding:8px 10px;border:1px solid var(--b);border-radius:10px;background:var(--bg);color:var(--t);resize:vertical}
.wth .wrow{display:flex;gap:8px;flex-wrap:wrap}
.wth .wsend{background:var(--a);border-color:var(--a);color:#fff}
.wth .wdone{color:var(--m)}
.pnote{margin:.5rem 0 0;font-size:.86rem;padding:8px 10px;border-radius:10px;background:var(--bg);border:1px solid var(--b)}
.pnote strong{color:var(--t)}
.ptable{width:100%;border-collapse:collapse;font-size:.9rem}
.ptable th,.ptable td{padding:8px 10px;border-bottom:1px solid var(--b);text-align:right;white-space:nowrap}
.ptable th:first-child,.ptable td:first-child{text-align:left;white-space:normal}
.ptable thead th{font-size:.8rem;color:var(--m);font-weight:600}
.ptable .best{color:var(--a);font-weight:700}
.plus-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.plus-actions input[type=text]{flex:1 1 180px;min-height:44px;padding:8px 12px;border:1px solid var(--b);border-radius:10px;font:inherit;background:var(--card);color:var(--t)}
.xbtn{font:inherit;font-size:.8rem;border:0;background:none;color:var(--m);cursor:pointer;text-decoration:underline;padding:4px}
.xbtn:hover{color:var(--a)}
@media print{.wth,.noprint-plus{display:none!important}}
.xsite .xrel{display:block;margin-top:6px}
.qwin{font-size:1.5rem;margin:.2rem 0 .4rem;color:var(--a)}
ol.steps[data-ck]{list-style:none;padding-left:0;counter-reset:st}
ol.steps[data-ck] li.ckli{counter-increment:st;position:relative;padding:10px 12px 10px 48px;border:1px solid var(--b);border-radius:12px;margin:8px 0;background:var(--card)}
ol.steps[data-ck] li.ckli::before{content:counter(st)". ";font-weight:700;color:var(--m)}
ol.steps[data-ck] li.ckli input{position:absolute;opacity:0;width:28px;height:28px;left:12px;top:10px;margin:0;cursor:pointer}
ol.steps[data-ck] li.ckli .ckbox{position:absolute;left:12px;top:10px;width:24px;height:24px;border:2px solid var(--b2,var(--b));border-radius:7px;background:var(--card);cursor:pointer}
ol.steps[data-ck] li.ckli input:focus-visible+.ckbox{box-shadow:0 0 0 3px var(--al);border-color:var(--a)}
ol.steps[data-ck] li.ckli.on{background:color-mix(in srgb,var(--a) 6%,var(--card));border-color:var(--a)}
ol.steps[data-ck] li.ckli.on .ckbox{background:var(--a);border-color:var(--a)}
ol.steps[data-ck] li.ckli.on .ckbox::after{content:"";position:absolute;left:7px;top:2px;width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
ol.steps[data-ck] li.ckli.on strong{text-decoration:line-through;text-decoration-color:var(--m)}
.hsbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:4px 0 6px}.hsbar .meter{flex:1 1 200px;margin:0}
