:root{--scale: 1;--bg: #f4f1ea;--panel: #ffffff;--text: #1c1b19;--muted: #55524b;--line: #b9b3a6;--accent: #0b5a8f;--accent-text: #ffffff;--good: #14633a;--good-bg: #dff3e6;--bad: #9a1f1f;--bad-bg: #fbe3e0;--note-bg: #fff6d6;--tile-face: #fffdf7;--tile-edge: #2a2925;--tile-ink: #1c1b19;--bam: #12703d;--crak: #b3201c;--dot: #1450a8;--flower: #c2377f;--flower-core: #e0a100;--joker: #6a2fa0;--focus: #d97a00}:root[data-theme=contrast]{--bg: #000000;--panel: #000000;--text: #ffffff;--muted: #ffffff;--line: #ffffff;--accent: #ffe600;--accent-text: #000000;--good: #7dff9b;--good-bg: #000000;--bad: #ff9c8f;--bad-bg: #000000;--note-bg: #000000;--tile-face: #ffffff;--tile-edge: #ffe600;--tile-ink: #000000;--bam: #005a22;--crak: #a80000;--dot: #002f9e;--flower: #8a004f;--flower-core: #000000;--joker: #4b0082;--focus: #00e5ff}:root[data-size="2"]{--scale: 1.2}:root[data-size="3"]{--scale: 1.45}*{box-sizing:border-box}html{font-size:calc(20px * var(--scale))}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.wrap{max-width:1100px;margin:0 auto;padding:0 20px}header.top{border-bottom:2px solid var(--line);background:var(--panel)}header.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px}.brand{font-size:1.3rem;font-weight:800;color:var(--text);text-decoration:none;margin-right:auto}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.controls .label{font-size:.8rem;color:var(--muted)}button,.btn{font:inherit;font-weight:700;min-height:56px;padding:10px 20px;border:2px solid var(--text);border-radius:12px;background:var(--panel);color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:focus-visible,a:focus-visible{outline:4px solid var(--focus);outline-offset:3px}button:disabled{opacity:.45;cursor:default}button.primary,.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.small{min-height:48px;min-width:48px;padding:6px 12px}button[aria-pressed=true]{background:var(--text);color:var(--bg)}main{padding:24px 0 40px}h1{font-size:1.7rem;line-height:1.2;margin:0 0 8px}h2{font-size:1.25rem;margin:28px 0 8px}h3{font-size:1.05rem;margin:0 0 4px}p{margin:0 0 12px}.lead{font-size:1.1rem;color:var(--muted);max-width:46em}.muted{color:var(--muted)}.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:20px 0}.menu a{display:block;padding:20px;border:2px solid var(--text);border-radius:16px;background:var(--panel);color:var(--text);text-decoration:none}.menu a strong{display:block;font-size:1.2rem;margin-bottom:4px}.menu a span{color:var(--muted)}.panel{background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:20px;margin:16px 0}.bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.bar .score{margin-left:auto;font-weight:700}.tile{width:calc(84px * var(--scale));flex:none;display:inline-block;line-height:0}.tile-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 2px 0 rgba(0,0,0,.25))}.rack{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.rack.small .tile{width:calc(44px * var(--scale))}.rack.big .tile{width:calc(170px * var(--scale))}.groups{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0}.groups .group{display:flex;gap:3px}.groups .tile{width:calc(44px * var(--scale))}.groups.medium .tile{width:calc(58px * var(--scale))}.slot{position:relative;display:inline-block;line-height:0}.slot.need .tile{opacity:.4}.slot.need:after,.slot.joker:after{position:absolute;left:50%;bottom:-4px;transform:translate(-50%);font-size:.55rem;font-weight:800;line-height:1;padding:2px 4px;border-radius:4px;background:var(--text);color:var(--bg);white-space:nowrap}.slot.need:after{content:"need"}.slot.joker:after{content:"joker";background:var(--joker);color:#fff}button.tile-btn{padding:6px;min-height:0;border-radius:14px;border-color:transparent;background:transparent;position:relative}button.tile-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);transform:translateY(-10px)}button.tile-btn.right{background:var(--good);border-color:var(--good)}button.tile-btn.wrong{background:var(--bad);border-color:var(--bad)}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0}.options.wide{grid-template-columns:1fr}.options button{justify-content:flex-start;text-align:left;flex-direction:column;align-items:flex-start}.options button.right{border-color:var(--good);background:var(--good-bg);color:var(--text);border-width:4px}.options button.wrong{border-color:var(--bad);background:var(--bad-bg);color:var(--text);border-width:4px}.options button .tag{font-weight:400;color:var(--muted);font-size:.9rem}.feedback{border-left:8px solid var(--line);padding:12px 16px;margin:16px 0;background:var(--panel);border-radius:0 12px 12px 0}.feedback.good{border-color:var(--good);background:var(--good-bg)}.feedback.bad{border-color:var(--bad);background:var(--bad-bg)}.feedback strong.verdict{display:block;font-size:1.15rem}:root[data-theme=contrast] .feedback,:root[data-theme=contrast] .panel,:root[data-theme=contrast] .note{border:2px solid var(--line);border-left-width:8px}.ranked{list-style:none;padding:0;margin:0}.ranked li{border-top:2px solid var(--line);padding:14px 0}.ranked li:first-child{border-top:0}.ranked .rank{display:inline-block;min-width:2.2em;font-weight:800}.ranked ul{margin:6px 0 0;padding-left:1.2em}.note{background:var(--note-bg);border-radius:12px;padding:12px 16px;margin:16px 0}.price{border:2px dashed var(--text);border-radius:16px;padding:20px;margin:28px 0 0}footer{border-top:2px solid var(--line);padding:20px 0 40px;font-size:.85rem;color:var(--muted)}footer p{margin:0 0 6px;max-width:60em}@media (max-width: 600px){.tile{width:calc(64px * var(--scale))}.rack.big .tile{width:calc(130px * var(--scale))}}.options button:disabled,button.tile-btn:disabled{opacity:1;cursor:default}.options button:disabled:not(.right):not(.wrong){border-color:var(--line)}fieldset.cards{border:2px solid var(--line);border-radius:16px;padding:12px 16px 16px;margin:20px 0 12px;display:flex;flex-wrap:wrap;gap:12px}fieldset.cards legend{font-weight:700;padding:0 8px}fieldset.cards button{flex-direction:column;align-items:flex-start;text-align:left}fieldset.cards .tag{font-weight:400;font-size:.85rem}.entry label{display:block;font-weight:700;margin:14px 0 4px}.entry .help{font-weight:400;color:var(--muted);font-size:.9rem;display:block}.entry input[type=text],.entry input[type=number],.entry select{font:inherit;min-height:52px;padding:8px 12px;border:2px solid var(--text);border-radius:10px;background:var(--panel);color:var(--text);max-width:100%}.entry .grow{width:100%}.entry .group-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.entry .group-row .n{min-width:1.6em;font-weight:800}.entry .group-row input{width:9em;text-transform:uppercase;letter-spacing:.08em}.entry .radio{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:8px 0}.entry .radio input{width:26px;height:26px;margin-top:2px;flex:none}.entry ul.errors{margin:0;padding-left:1.2em}.entry table{border-collapse:collapse;width:100%}.entry td,.entry th{text-align:left;padding:8px 10px;border-top:2px solid var(--line);vertical-align:middle}.entry code{font-size:1em;letter-spacing:.05em}
