.tt221{margin-top:22px}.tt221-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.tt221-tabs,.tt221-actions,.tt221-settings{display:flex;gap:8px;flex-wrap:wrap}.tt221-tabs{margin:12px 0}.tt221-tabs button,.tt221-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;font-weight:780}.tt221-tabs button.active{outline:2px solid var(--ink)}.tt221-settings label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 10px}.tt221-stage{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.tt221-board{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:14px}.tt221-gridwrap{overflow:auto;padding:2px}.tt221-grid{--n:8;display:grid;grid-template-columns:34px repeat(var(--n),minmax(28px,1fr));grid-template-rows:34px repeat(var(--n),minmax(28px,1fr));gap:3px;min-width:330px;max-width:680px;margin:auto}.tt221-cell,.tt221-clue{display:flex;align-items:center;justify-content:center;border-radius:8px}.tt221-clue{background:var(--soft);font-weight:850;font-size:.78rem}.tt221-cell{border:1px solid var(--line);background:var(--card);font-size:clamp(13px,2.7vw,22px);font-weight:900;padding:0;min-width:0;position:relative;touch-action:manipulation}.tt221-cell.tree{background:var(--soft)}.tt221-cell.tree::after{content:'♣';font-size:1.1em}.tt221-cell.tent::after{content:'△';font-size:1.15em}.tt221-cell.grass::after{content:'·';font-size:1.35em;color:var(--muted)}.tt221-cell.target{outline:2px dashed var(--ink);outline-offset:-3px}.tt221-cell.correct{outline:3px solid currentColor}.tt221-side{display:grid;gap:10px;align-content:start}.tt221-card{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px}.tt221-card h3{margin:0 0 6px;font-size:.94rem}.tt221-card p{margin:0;color:var(--muted);line-height:1.45}.tt221-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.tt221-metrics>div{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:9px}.tt221-metrics small{display:block;color:var(--muted);font-size:.7rem}.tt221-family{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(72px,.55fr));gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:.82rem}.tt221-family strong{font-size:.87rem}.tt221-path{display:grid;grid-template-columns:repeat(10,minmax(44px,1fr));gap:6px}.tt221-path button{min-height:52px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-weight:850}.tt221-path button.done{background:var(--soft)}.tt221-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tt221-form label{display:grid;gap:4px;font-size:.8rem;font-weight:750}.tt221-form input,.tt221-form select{width:100%;min-height:40px}.tt221-status{padding:10px 12px;border-radius:12px;background:var(--soft);min-height:44px;line-height:1.45}.tt221-review{overflow:auto}.tt221-review table{border-collapse:collapse;width:100%;font-size:.78rem}.tt221-review th,.tt221-review td{border-bottom:1px solid var(--line);padding:6px;text-align:left;white-space:nowrap}.tt221-hidden{display:none!important}.tt221-large .tt221-cell{min-height:44px}.tt221-large .tt221-actions button,.tt221-large .tt221-tabs button{min-height:52px;font-size:1rem}.tt221-high{filter:contrast(1.22)}.tt221-live-off [data-live]{visibility:hidden}.tt221-coach{border-left:4px solid var(--ink)}.tt221-print-note{display:none}@media(max-width:900px){.tt221-stage{grid-template-columns:1fr}.tt221-side{grid-template-columns:repeat(2,1fr)}.tt221-metrics{grid-template-columns:repeat(2,1fr)}.tt221-path{grid-template-columns:repeat(5,1fr)}.tt221-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.tt221-side,.tt221-form{grid-template-columns:1fr}.tt221-family{grid-template-columns:1fr 1fr}.tt221-family strong{grid-column:1/-1}.tt221-board{padding:10px}.tt221-grid{grid-template-columns:30px repeat(var(--n),minmax(25px,1fr));grid-template-rows:30px repeat(var(--n),minmax(25px,1fr));gap:2px}.tt221-tabs button{padding:8px 9px;font-size:.83rem}}@media print{.topbar,.mobile-dock,.preview-note,.footer,.tt-levels,.tt-actions,.tt221,.gameheader .scorebox{display:none!important}.tt-page{max-width:none!important}.card{border:0!important;box-shadow:none!important}.tt-print-answer .tt-cell:not(.tree){color:transparent}.tt-print-answer .tt-cell.answer::after{content:'△';color:#000;font-size:1.15em}.tt-print-answer .tt-cell.tree::after{color:#000}.tt-print-note{display:block!important;color:#000}}
