.tth-app{--ink:#1c2f8f;--line:#d3daea;--bg:#f2f5fb;--mut:#4a5570;color:#1b2233;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:16px;box-sizing:border-box;line-height:1.5;font-size:15px}
.tth-app *{box-sizing:border-box}
.tth-app [hidden]{display:none!important}
.tth-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.tth-tab{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 16px;font-size:15px;font-weight:600;cursor:pointer;color:var(--mut)}
.tth-tab.on{background:var(--ink);border-color:var(--ink);color:#fff}
.tth-grid,.tth-cap-wrap{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:900px){.tth-grid,.tth-cap-wrap{grid-template-columns:minmax(0,1fr)}}
.tth-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}
.tth-panel h3{margin:0 0 6px;font-size:18px}
.tth-fl{display:block;font-size:14px;font-weight:600;margin:0 0 5px}
.tth-f{display:block;margin:10px 0}
.tth-sl .tth-fl{display:flex;justify-content:space-between}
.tth-app textarea,.tth-app select,.tth-app input[type=text],.tth-app input[type=number]{width:100%;padding:8px 10px;font-size:16px;border:1px solid var(--line);border-radius:6px;background:#fff;color:inherit;font-family:inherit}
.tth-app textarea{min-height:150px;resize:vertical}
.tth-app input[type=range]{width:100%;accent-color:var(--ink)}
.tth-app input[type=color]{width:56px;height:36px;padding:2px;border:1px solid var(--line);border-radius:6px;background:#fff}
.tth-app :is(textarea,select,input,button,summary):focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.tth-d{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}
.tth-d summary{cursor:pointer;font-weight:700;padding:6px 0}
.tth-gt{font-size:13px;font-weight:700;color:var(--ink);margin:12px 0 0;text-transform:none}
.tth-chk{display:flex;gap:8px;align-items:flex-start}
.tth-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.tth-code{width:120px!important}
.tth-code-l{display:flex;gap:6px;align-items:center;font-size:14px}
.tth-link{background:none;border:0;padding:2px 0;color:var(--ink);text-decoration:underline;cursor:pointer;font-size:14px}
.tth-btn{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:6px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer}
.tth-btn:disabled{opacity:.45;cursor:not-allowed}
.tth-ghost{background:#fff;color:var(--ink)}
.tth-note{font-size:13px;color:var(--mut);margin:6px 0}
.tth-imp{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:6px}
.tth-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}
.tth-bar-btns{display:flex;flex-wrap:wrap;gap:8px}
.tth-status{font-size:14px;color:var(--mut)}
.tth-pages{display:grid;gap:16px}
.tth-checker .tth-page canvas{background-color:#fff;background-image:linear-gradient(45deg,#e4e8f0 25%,transparent 25%,transparent 75%,#e4e8f0 75%),linear-gradient(45deg,#e4e8f0 25%,transparent 25%,transparent 75%,#e4e8f0 75%);background-size:20px 20px;background-position:0 0,10px 10px}
.tth-page{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px}
.tth-page canvas,.tth-tpl{display:block;width:100%;height:auto;border:1px solid #e3e8f3}
.tth-cap{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:14px}
.tth-empty{padding:40px 16px;text-align:center;color:var(--mut);border:2px dashed var(--line);border-radius:8px;background:#fff}
.tth-step{margin:16px 0 6px;font-weight:700;color:var(--ink)}
.tth-tplbox{display:grid;gap:10px}
.tth-gal{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0;max-height:150px;overflow:auto}
.tth-gi{height:34px;width:auto;background:#fff;border:1px solid var(--line);border-radius:3px;padding:2px}
