
:root{--bg:#fff8ef;--ink:#2b2340;--mut:#6b6380;--pri:#ff7a59;--pri2:#5a5cff;--card:#fff;--line:#eadfce;--r:22px;--sh:0 6px 20px rgba(60,40,90,.10)}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:clip}
body{font-family:"Assistant","Rubik","Segoe UI",Arial,sans-serif;background:var(--bg) radial-gradient(circle at 90% -10%,#ffe1c7 0,transparent 45%) no-repeat;color:var(--ink);font-size:17px;line-height:1.6;overflow-x:hidden}
.skip{position:absolute;right:-999px}.skip:focus{right:8px;top:8px;background:#fff;padding:8px;z-index:9}
a{color:#4b3bd1}
.top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;box-shadow:var(--sh);position:sticky;top:0;z-index:5}
.brand{display:flex;gap:8px;align-items:center;font-weight:800;font-size:20px;text-decoration:none;color:var(--ink)}
.mega{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ffb36b,#ff7a59);font-size:22px;animation:bob 2.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-3px) rotate(-6deg)}}
.lv{display:flex;flex-wrap:wrap;gap:5px}
.lv button{border:2px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;color:var(--ink)}
.lv button[aria-pressed=true]{background:var(--pri2);border-color:var(--pri2);color:#fff}
.nav{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;scrollbar-width:thin}
.nav a{flex:0 0 auto;text-decoration:none;background:#fff;border:2px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:700;font-size:14.5px;color:var(--ink)}
.nav a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
main{max-width:1000px;margin:0 auto;padding:6px 14px 30px;outline:none}
h1{font-size:28px;line-height:1.25;margin:10px 0}
h2{font-size:23px;margin:18px 0 8px}
h3{margin:10px 0 6px}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:16px;margin:12px 0}
.hero{background:linear-gradient(135deg,#ffd9b8,#ffeedd 40%,#e6e2ff);border-radius:28px;padding:22px 18px;position:relative;overflow:hidden}
.hero p{margin:6px 0;color:#3d3456}
.bubbles span{position:absolute;opacity:.55;font-size:30px;animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-12px)}}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tile{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:20px;padding:14px;box-shadow:var(--sh);text-decoration:none;color:var(--ink);font-weight:700;border:2px solid transparent;transition:.2s}
.tile:hover,.tile:focus{border-color:var(--pri);transform:translateY(-2px)}
.tile .i{font-size:30px}.tile small{font-weight:400;color:var(--mut)}
.btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:11px 18px;font:inherit;font-weight:800;cursor:pointer;background:var(--pri);color:#fff;margin:4px;min-height:46px;text-decoration:none}
.btn.alt{background:var(--pri2)}.btn.ghost{background:#fff;color:var(--ink);border:2px solid var(--line)}
.btn:focus-visible,.lv button:focus-visible,.nav a:focus-visible,.chip:focus-visible,.opt:focus-visible{outline:3px solid #ffbf00;outline-offset:2px}
.part{border-right:8px solid var(--c);background:#fff;border-radius:18px;padding:12px 14px;margin:10px 0;box-shadow:var(--sh);animation:pop .4s both}
@keyframes pop{from{opacity:0;transform:translateY(8px)}}
.part h3{margin:0;display:flex;gap:8px;align-items:center}
.ex{background:#faf6ff;border-radius:12px;padding:6px 10px;margin-top:6px;font-style:italic}
.bridge{display:flex;gap:6px;align-items:flex-end;justify-content:center;margin:14px 0;flex-wrap:wrap}
.bridge div{flex:1 1 60px;min-width:56px;max-width:120px;border-radius:14px 14px 4px 4px;color:#fff;font-weight:800;text-align:center;padding:10px 4px;font-size:14px}
.conn{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cbox{background:#fff;border-radius:18px;padding:12px;border-top:6px solid var(--c);box-shadow:var(--sh)}
.chip{display:inline-block;border:2px solid var(--c,#ccc);background:#fff;border-radius:999px;padding:5px 12px;margin:3px;font:inherit;font-weight:700;cursor:grab;color:var(--ink);touch-action:none;user-select:none}
.chip.sel{background:var(--c,#ffe);color:#fff}
.chip.used{opacity:.35}
.sent{font-size:19px;background:#fff;border-radius:18px;padding:14px;box-shadow:var(--sh);margin:10px 0}
.blank{display:inline-block;min-width:90px;border-bottom:3px dashed var(--pri2);padding:0 8px;margin:0 3px;border-radius:8px;background:#f1efff;cursor:pointer;text-align:center}
.blank.ok{background:#d9f7e8;border-color:#22b07d}.blank.no{background:#ffe0e0;border-color:#e2557b;animation:shake .3s}
@keyframes shake{25%{transform:translateX(4px)}75%{transform:translateX(-4px)}}
.fb{min-height:28px;font-weight:700;margin:6px 0}.good{color:#14895d}.bad{color:#c0304f}
.opts{display:grid;gap:8px}
.opt{border:2px solid var(--line);background:#fff;border-radius:16px;padding:12px;font:inherit;text-align:right;cursor:pointer;min-height:48px;color:var(--ink)}
.opt.ok{background:#d9f7e8;border-color:#22b07d}.opt.no{background:#ffe0e0;border-color:#e2557b}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.big2 .btn{flex:1;justify-content:center;font-size:18px;min-height:60px}
.big2{display:flex;gap:8px}
.score{display:inline-block;background:#fff;border-radius:999px;padding:4px 14px;font-weight:800;box-shadow:var(--sh)}
label{font-weight:700;display:block;margin-top:10px}
textarea,input[type=text],select{width:100%;font:inherit;border:2px solid var(--line);border-radius:14px;padding:10px;background:#fff;color:var(--ink)}
textarea{min-height:64px;resize:vertical}
.starters{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
.starters button{border:1px dashed #b8acd8;background:#faf8ff;border-radius:999px;padding:3px 10px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
.hint{font-size:14.5px;color:var(--mut)}
.preview{background:#fffdf8;border:2px solid #f0e2c8;border-radius:18px;padding:16px;white-space:normal}
.preview p{margin:0 0 10px}
.tag{border-radius:6px;padding:0 3px}
.sents span{cursor:pointer;border-radius:8px;padding:2px 4px;transition:.2s}
.sents span:hover{background:#fff1c7}
.sents span.ok{background:#ffd9cc;outline:2px solid #ff7a59}.sents span.no{background:#eee;text-decoration:line-through}
.wheelwrap{position:relative;width:min(320px,86vw);aspect-ratio:1;margin:10px auto}
.wclip{width:100%;height:100%;border-radius:50%;overflow:hidden}
.wheel{width:100%;height:100%;border-radius:50%;border:8px solid #fff;box-shadow:var(--sh);transition:transform 3.6s cubic-bezier(.17,.67,.2,1)}
.pointer{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:34px;z-index:2}
.timer{font-size:54px;font-weight:900;text-align:center;font-variant-numeric:tabular-nums}
.roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.role{background:#fff;border-radius:16px;padding:10px;box-shadow:var(--sh)}
.stars button{border:0;background:none;font-size:26px;cursor:pointer;padding:0 2px;filter:grayscale(1);opacity:.5}
.stars button.on{filter:none;opacity:1}
.rrow{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0;flex-wrap:wrap}
.flip{perspective:1000px;width:min(340px,100%);height:210px;margin:10px auto;cursor:pointer}
.flip .in{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}
.flip.f .in{transform:rotateY(180deg)}
.flip .fa,.flip .ba{position:absolute;inset:0;backface-visibility:hidden;border-radius:24px;display:grid;place-items:center;padding:18px;text-align:center;box-shadow:var(--sh)}
.flip .fa{background:linear-gradient(135deg,#ffb36b,#ff7a59);color:#fff;font-size:28px;font-weight:900}
.flip .ba{background:#fff;transform:rotateY(180deg);font-size:19px}
.slide{border-radius:26px;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#2b2340;box-shadow:var(--sh);position:relative;overflow:hidden}
.slide .si{font-size:84px;animation:bob 2.4s ease-in-out infinite;filter:drop-shadow(0 10px 10px rgba(0,0,0,.18))}
.slide h2{font-size:30px;margin:8px 0}.slide p{font-size:20px;margin:0}
.slide.fs{position:fixed;inset:0;border-radius:0;z-index:20;min-height:100vh}
.snav{display:flex;justify-content:center;gap:8px;align-items:center;flex-wrap:wrap}
table{border-collapse:collapse;width:100%;font-size:15px}
td,th{border:1px solid var(--line);padding:6px;text-align:right;vertical-align:top}
th{background:#f6f0ff}
.tw{overflow-x:auto}
.note{background:#fff7d6;border-radius:14px;padding:8px 12px;font-size:15px}
details{background:#fff;border-radius:16px;padding:10px 14px;margin:8px 0;box-shadow:var(--sh)}
summary{font-weight:800;cursor:pointer}
.foot{display:flex;gap:12px;align-items:center;justify-content:center;padding:18px;background:#fff;margin-top:20px;border-top:3px solid #ffe1c7}
.foot img{border-radius:50%}
.niq{font-size:19px}
@media (max-width:600px){h1{font-size:24px}.two{grid-template-columns:1fr}.slide{min-height:300px}.slide h2{font-size:25px}}
@media print{
 @page{size:A4;margin:15mm}
 body{background:#fff;font-size:13pt}
 .top,.nav,.foot,.noprint,.btn,.starters,.lv{display:none!important}
 main{max-width:none;padding:0;text-align:right}
 .card,.part,.preview{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
}
