.odws{--w-ink:#1f2540;--w-bg:#fff8e1;--w-card:#fff;--w-line:#e6d9a8;--w-main:#5b3df5;--w-ok:#0f7b4a;--w-bad:#c0392b;--w-blue:#dff0ff;--w-yellow:#fff0b3;--w-green:#dcf7e3;max-width:960px;margin:16px auto;padding:16px;border-radius:20px;background:var(--w-bg);color:var(--w-ink);font:600 18px/1.5 ui-rounded,"Trebuchet MS","Segoe UI",system-ui,sans-serif;box-sizing:border-box;position:relative;overflow:hidden}
.odws *{box-sizing:border-box}
.odws button{font:inherit;color:inherit;cursor:pointer;min-height:44px}
.odws button:focus-visible,.odws input:focus-visible,.odws select:focus-visible,.odws textarea:focus-visible{outline:4px solid #ff9f1c;outline-offset:2px}
.odws button:disabled{opacity:.55;cursor:not-allowed}
.odws h2,.odws h3,.odws h4{margin:0}
.odws__top{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}
.odws__brand{display:flex;gap:12px;align-items:center}
.odws__brand p{margin:0;font-weight:500}
.odws__mascot{font-size:2.6rem}
.odws__tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.odws__btn{padding:8px 16px;border:3px solid var(--w-ink);background:var(--w-card);border-radius:14px;font-weight:700}
.odws__go{padding:10px 20px;border:3px solid var(--w-main);background:var(--w-main);color:#fff;border-radius:14px;font-weight:800}
.odws__pill{padding:6px 14px;background:var(--w-yellow);border-radius:999px;font-weight:800}
.odws__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.odws__theme{display:grid;gap:4px;justify-items:center;text-align:center;padding:16px 10px;border:3px solid var(--w-ink);border-radius:18px;background:var(--w-card);box-shadow:0 5px 0 var(--w-ink)}
.odws__theme .em{font-size:2.6rem}
.odws__theme small{font-weight:600;opacity:.8}
.odws__bar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.odws__pip{display:flex;gap:10px;align-items:center;background:var(--w-blue);border-radius:16px;padding:8px 14px;margin-bottom:12px}
.odws__pip .em{font-size:2rem}
.odws__pip p{margin:0}
.odws__card{background:var(--w-card);border:3px solid var(--w-ink);border-radius:18px;padding:16px;margin-bottom:12px}
.odws__levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:10px 0}
.odws__level{display:grid;gap:2px;justify-items:center;text-align:center;padding:14px 10px;border:3px solid var(--w-ink);border-radius:18px;background:var(--w-green);box-shadow:0 5px 0 var(--w-ink)}
.odws__level small{font-weight:600}
.odws__chk{display:flex;gap:8px;align-items:center;margin:8px 0}
.odws__chk input{width:24px;height:24px}
.odws__play{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.odws__boardwrap{overflow:auto;max-width:100%;padding:4px}
.odws__board{--cell:clamp(30px,calc((100vw - 72px) / var(--n)),46px);display:grid;grid-template-columns:repeat(var(--n),var(--cell));gap:3px}
.odws__cell{width:var(--cell);height:var(--cell);min-height:0;padding:0;border:2px solid var(--w-line);border-radius:10px;background:#fff;font-size:calc(var(--cell) * .5);font-weight:800;line-height:1}
.odws__cell.is-start{background:#ffd166;border-color:var(--w-ink)}
.odws__cell.is-found{border-color:var(--w-ink)}
.odws__cell.is-hint{background:#ffd166;border-color:var(--w-bad);box-shadow:0 0 0 4px rgba(192,57,43,.35)}
.odws__cell.is-bad{border-color:var(--w-bad)}
.odws__words{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.odws__words li{display:flex;gap:10px;align-items:center;padding:6px 12px;border-radius:12px;background:var(--w-yellow);font-size:1.1rem;letter-spacing:.08em}
.odws__words li.is-found{background:var(--w-green);text-decoration:line-through;text-decoration-thickness:3px}
.odws__words .em{font-size:1.6rem}
.odws__stars{font-size:2.4rem;text-align:center;letter-spacing:.2em}
.odws__res{text-align:center}
.odws__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.odws__field{display:grid;gap:4px;margin:8px 0;font-size:.95rem}
.odws__field input,.odws__field select,.odws__field textarea{font:inherit;padding:10px 12px;border:3px solid var(--w-line);border-radius:12px;background:#fff;color:var(--w-ink)}
.odws__err{color:var(--w-bad);font-weight:800}
.odws__priv{font-size:.8rem;font-weight:500;opacity:.75;margin-top:12px}
.odws__confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.odws__confetti span{position:absolute;top:-30px;font-size:1.8rem;animation:odws-fall 2.4s linear forwards}
@keyframes odws-fall{to{transform:translateY(800px) rotate(360deg);opacity:.2}}
@keyframes odws-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media (prefers-reduced-motion:no-preference){.odws__cell.is-bad{animation:odws-shake .25s}}
@media (max-width:720px){.odws{font-size:16px;padding:12px}.odws__play{grid-template-columns:1fr}}
.odws-print{display:none}
.odws-print table{border-collapse:collapse;margin:10px auto}
.odws-print td{width:34px;height:34px;border:1px solid #888;text-align:center;font:700 18px/1 Arial,sans-serif}
.odws-print td.k{background:#d9d9d9}
.odws-print h2{text-align:center;font:700 24px Arial,sans-serif;margin:0 0 6px}
.odws-print .nm{text-align:center;font:14px Arial,sans-serif;margin-bottom:10px}
.odws-print ul{columns:2;list-style:none;max-width:420px;margin:12px auto;padding:0;font:16px Arial,sans-serif}
.odws-print li{margin:4px 0}
.odws-print .brk{page-break-before:always}
@media print{body.odws-printing>*:not(.odws-print){display:none!important}body.odws-printing .odws-print{display:block}}
