.tc-shell{--tc-ink:#39354c;--tc-muted:#706979;--tc-purple:#7862a6;--tc-line:#e7e0eb;color:var(--tc-ink);background:linear-gradient(140deg,#fff8ee,#f8f2ff 65%,#eff9f5);min-height:100vh;padding:24px 24px 48px;font-family:inherit;word-break:keep-all}
.tc-shell *{box-sizing:border-box}.tc-shell [hidden]{display:none!important}.tc-wrap{max-width:900px;margin:auto}.tc-back{display:inline-block;font-weight:700;color:#6f627f;text-decoration:none;min-height:44px;padding:10px 0}
.tc-shell button,.tc-shell select,.tc-shell input{font:inherit}.tc-shell button{min-height:46px;border:1px solid var(--tc-line);border-radius:13px;background:white;color:var(--tc-ink);padding:10px 16px;font-weight:700;cursor:pointer;touch-action:manipulation;white-space:nowrap}.tc-shell button:hover:not(:disabled){background:#f5f0fc;border-color:#b8a1ce}.tc-shell button:disabled{opacity:.4;cursor:default}.tc-shell :focus-visible{outline:3px solid #7862a6;outline-offset:3px}.tc-shell .tc-primary{background:var(--tc-purple);border-color:var(--tc-purple);color:white}.tc-shell .tc-primary:hover:not(:disabled){background:#66508f}
.tc-cover{text-align:center;max-width:640px;margin:8px auto 24px}.tc-cover img{display:block;width:min(100%,640px,78svh);height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:30px;margin-inline:auto}.tc-cover h1{font-size:clamp(2.1rem,5vw,3rem);font-weight:850;letter-spacing:-.05em;margin:20px 0 10px}.tc-cover p{font-size:1.1rem;margin:0 0 24px}.tc-cover>button{min-width:220px;max-width:100%;min-height:58px;font-size:1.25rem}
.tc-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:8px 0 18px}.tc-header h1{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:850;margin:0 0 8px;letter-spacing:-.04em}#tc-header-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tc-header #tc-choose-open{font-size:.9rem;padding:8px 12px;white-space:normal;text-align:left}
.tc-panel{background:#ffffffed;border:1px solid #eee4ec;border-radius:25px;box-shadow:0 9px 30px #7b60840a;padding:22px}.tc-board-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.tc-board-head p{font-weight:700;margin:0;font-size:1.05rem}.tc-badge{background:#e3f5f0;color:#246f63;border-radius:100px;padding:8px 13px;white-space:nowrap;font-size:.9rem;font-weight:750}
.tc-board-scroll{max-width:100%;overflow-x:auto;padding:5px 5px 12px;overscroll-behavior-x:contain}.tc-board{display:grid;grid-template-columns:repeat(var(--tc-n),minmax(44px,1fr));gap:6px;width:100%;min-width:calc(var(--tc-n)*44px + (var(--tc-n) - 1)*6px + 20px);max-width:520px;margin:auto;padding:8px;border:2px solid #d8cfe5;border-radius:18px;background:#f3eef7}.tc-shell .tc-cell{position:relative;aspect-ratio:1;min-width:44px;min-height:44px;padding:0;border-radius:12px;border:2px solid #e1d9e6;background:#fffdf8;touch-action:manipulation;font-size:clamp(22px,4vw,34px);color:#64465a}.tc-shell .tc-cell[data-value="1"]{background:#efb399;color:#663c38;border-color:#da9a82}.tc-shell .tc-cell[data-value="2"]{background:#9cb7d6;color:#2f4c6d;border-color:#7f9fc5}.tc-shell .tc-cell.is-given{background-image:repeating-linear-gradient(135deg,transparent 0 6px,#ffffff20 6px 8px)}.tc-given{position:absolute;right:4px;bottom:2px;font-size:11px}.tc-shell .tc-cell.is-selected{outline:3px solid #7862a6;outline-offset:1px;z-index:1}.tc-shell .tc-cell.is-bad{box-shadow:inset 0 0 0 3px #9d304f}.tc-shell .tc-cell.is-hint{outline-color:#a97725}.tc-legend{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:.85rem;color:#6b5a73;margin:8px 0 16px}.tc-board.is-won{border-color:#65a88f;background:#e4f3eb}.tc-mode-tools,.tc-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.tc-mode-tools{margin:16px 0 12px}.tc-shell [aria-pressed=true]{background:#efe6fa;border-color:#b19acc;color:#634d82}.tc-feedback{margin:18px auto 12px;text-align:center;min-height:48px;max-width:600px;line-height:1.65;font-size:1rem}.tc-bottom{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:.85rem;color:var(--tc-muted)}.tc-bottom button{font-size:.85rem}.tc-storage{text-align:center;font-size:.85rem;color:var(--tc-muted);line-height:1.6;margin:14px 0}.tc-source{font-size:.8rem;color:var(--tc-muted);max-width:640px;margin:22px auto 0}.tc-source summary{cursor:pointer;padding:10px 0}.tc-source a{text-decoration:underline;color:#66518a}.tc-source p{line-height:1.65}
.tc-shell dialog:not(.pg-dialog){width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dfd4e8;border-radius:24px;padding:24px;color:var(--tc-ink);background:#fffdfb;box-shadow:0 20px 80px #33263c33}.tc-shell dialog::backdrop{background:#30233d66}.tc-dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.tc-shell dialog h2{font-size:1.35rem;font-weight:800;margin:0 0 12px;line-height:1.5}.tc-dialog-head h2{margin:0!important}.tc-shell dialog p{line-height:1.7}.tc-tiers{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.tc-tiers button{flex:1;font-size:.9rem;padding:10px 8px}.tc-shell dialog select,.tc-shell dialog input{display:block;width:100%;min-height:48px;border:1px solid #d8ccdf;border-radius:12px;background:white;color:var(--tc-ink);padding:10px;margin:8px 0 18px;min-width:0}.tc-shell dialog>button.tc-primary{display:block;width:100%;max-width:400px;margin:14px auto 10px}#tc-qr{display:block;max-width:100%;height:auto;margin:auto}#tc-win{text-align:center}.tc-win-drop{font-size:3.2rem;animation:tc-arrive .3s ease-out}.tc-board.is-won .tc-pipe{fill:#269c88;stroke:#269c88}.tc-shell:fullscreen{overflow:auto}.tc-source,.tc-storage{overflow-wrap:anywhere}.tc-shell .cg-guide-entry{display:none}
@keyframes tc-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:600px){.tc-shell{padding:12px 10px 30px}.tc-panel{padding:16px 10px;border-radius:20px}.tc-header{align-items:flex-start}.tc-header #tc-header-tools{max-width:132px}.tc-header #tc-header-tools button{font-size:.83rem;padding:8px 10px}.tc-board-head{align-items:flex-start;gap:8px;margin-bottom:14px}.tc-board-head p{font-size:.95rem}.tc-badge{font-size:.8rem;padding:7px 10px}.tc-shell button{padding:10px 12px}.tc-mode-tools{gap:6px}.tc-mode-tools button{font-size:.88rem;padding:10px}.tc-actions{gap:6px}.tc-actions>button{flex:1;padding:10px 7px;font-size:.87rem}.tc-cover img{max-height:260px}.tc-cover>button{min-height:56px}.tc-feedback{font-size:.95rem}.tc-cover p{font-size:1rem}.tc-cover h1{margin-top:14px}.tc-tiers{flex-direction:column}.tc-bottom{gap:10px}.tc-source{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.tc-shell *{animation:none!important;transition:none!important}}

#pg-board .pg-two_colors .pg-cell{font-size:25px;min-width:44px;min-height:44px}#pg-board .pg-two_colors .tc-color-1{background:#efb399;color:#663c38}#pg-board .pg-two_colors .tc-color-2{background:#9cb7d6;color:#2f4c6d}

.tc-scroll-note{text-align:center;color:#766386;font-size:.85rem;margin:0 0 8px}
