.v4-kicker{color:var(--purple);letter-spacing:2px;margin:24px 0 16px;font-size:11px;font-weight:700}.number-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.number-cards button{border:1px solid var(--board-line);background:var(--purple-soft);color:var(--ink);aspect-ratio:1;box-shadow:0 4px 0 var(--line);touch-action:manipulation;border-radius:15px;font-size:clamp(26px,5vw,46px);font-weight:800}.number-cards button.used{background:var(--soft);box-shadow:none}.expression-box{border:1px solid var(--line);background:var(--soft);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;min-height:110px;margin:25px 0 16px;padding:20px;display:flex}.expression-box>span{width:100%;color:var(--muted);font-size:12px}.expression-box output{overflow-wrap:anywhere;flex:1;font-size:22px;font-weight:700}.expression-box strong{color:var(--purple);font-size:25px}.operator-pad{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.operator-pad .button{min-height:46px;padding:10px 0;font-size:22px}.v4-panel{border:1px solid var(--line);background:var(--soft);border-radius:16px;margin-block:20px;padding:22px}.v4-panel h2{margin:0 0 12px;font-size:20px}.v4-panel p{line-height:1.9}.v4-answer{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.v4-answer label{flex:1;gap:8px;min-width:120px;font-size:13px;display:grid}.v4-answer input{border:1px solid var(--board-line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:12px;font-size:20px}.idiom-pattern{justify-content:center;gap:8px;margin:26px 0;display:flex}.idiom-pattern span{aspect-ratio:1;background:var(--surface);border:1px solid var(--board-line);border-radius:12px;place-items:center;width:23%;max-width:85px;font-size:clamp(25px,5vw,40px);font-weight:750;display:grid}.idiom-pattern .missing{color:var(--purple);border-style:dashed}.idiom-candidates{flex-wrap:wrap;gap:8px;margin-block:14px;display:flex}.idiom-candidates .button{min-width:44px;padding:10px 17px;font-size:20px}.idiom-feedback{border-left:4px solid var(--purple);margin-block:20px;padding-left:16px}.sliding-board{aspect-ratio:1;background:var(--soft);border:1px solid var(--board-line);border-radius:16px;width:100%;max-width:500px;margin:22px auto;position:relative}.sliding-tile{width:calc(100% / var(--size));height:calc(100% / var(--size));transform:translate(calc(var(--x) * 100%), calc(var(--y) * 100%));touch-action:manipulation;background:0 0;border:0;padding:4px;transition:transform .16s;position:absolute;top:0;left:0}.sliding-tile span{background:var(--purple-soft);border:1px solid var(--board-line);width:100%;height:100%;color:var(--ink);border-radius:10px;place-items:center;font-size:clamp(20px,4vw,35px);font-weight:750;display:grid}.sliding-tile.legal span{background:var(--yellow);color:#363247}.sliding-tile[aria-disabled=true]{cursor:default}.sliding-goal{grid-template-columns:repeat(var(--size), 1fr);gap:5px;max-width:270px;margin:16px auto;display:grid}.sliding-goal span{border:1px solid var(--line);aspect-ratio:1;border-radius:6px;place-items:center;display:grid}.logic-clues{margin:18px 0;padding-left:25px;line-height:1.95}.logic-clues li{margin-bottom:10px;padding-left:6px}.logic-clues .hint-clue{background:var(--purple-soft);color:var(--ink);border-radius:5px}.logic-grid-wrap{max-width:100%;padding-bottom:6px;overflow-x:auto}.logic-table{border-collapse:separate;border-spacing:5px;table-layout:fixed;width:100%;min-width:265px}.logic-table caption{text-align:left;padding-block:10px;font-weight:700}.logic-table th{overflow-wrap:anywhere;font-size:12px;font-weight:600;line-height:1.6}.logic-table th:first-child{width:68px}.logic-table td{padding:0}.logic-table button{border:1px solid var(--board-line);background:var(--soft);width:100%;min-height:44px;color:var(--ink);touch-action:manipulation;border-radius:8px;padding:6px;font-size:22px}.logic-table button[data-mark="1"]{background:var(--yellow);color:#363247}.logic-table button[data-mark="2"]{background:var(--purple-soft);color:var(--ink)}.logic-categories{font-size:13px;line-height:1.9}.logic-pair-select{width:100%;max-width:100%}@media (width<=600px){.number-cards{gap:8px}.v4-panel,.expression-box{padding:15px}.expression-box output{font-size:18px}.sliding-tile{padding:3px}}
