:root{--bg:#f7f2ea;--sf:#ffffff;--sunk:#f1e9dd;--ink:#2b2320;--soft:#6f635a;--faint:#9b8d80;--bd:#e7dccb;--acc:#a84e2e;--acc-hover:#8a3f24;--acc-sf:#f4e5dd;--gold:#b0791f;--gold-sf:#f5ebd6;--gold-bd:#e7d3a8;--gold-ink:#7a5514;--f-head:"Prompt","Sarabun",system-ui,-apple-system,sans-serif;--f-body:"Sarabun",system-ui,-apple-system,sans-serif;--shadow-node:0 1px 2px rgba(43,35,32,0.05),0 10px 22px -14px rgba(43,35,32,0.18)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:#eee6d8;color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--f-head);font-weight:600;margin:0}a{color:var(--acc);text-decoration:none}a:hover{color:var(--acc-hover)}button{font-family:var(--f-head);cursor:pointer}input,select,textarea{font-family:var(--f-body);font-size:15px}.app-frame{width:100%;max-width:430px;height:100dvh;margin:0 auto;background:var(--bg);position:relative;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 60px -20px rgba(43,35,32,.25)}.tt-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.tt-topbar{padding:16px 18px 12px;background:var(--sf);border-bottom:1px solid var(--bd)}.tt-goldrule{height:2px;margin-top:12px;border-radius:2px;background:linear-gradient(90deg,var(--gold) 0,#d9b877 45%,transparent 90%)}.tt-crest{background:var(--acc-sf);color:var(--acc)}.tt-crest,.tt-iconbtn{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.tt-iconbtn{color:var(--soft)}.tt-card,.tt-iconbtn{border:1px solid var(--bd);background:var(--sf)}.tt-card{border-radius:16px}.tt-btn{height:48px;width:100%;border-radius:13px;border:0;font-family:var(--f-head);font-weight:600;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:8px}.tt-btn:disabled{opacity:.55}.tt-btn--pri{background:var(--acc);color:#fff}.tt-btn--sec{background:var(--sf);color:var(--ink);border:1px solid var(--bd)}.tt-btn--gold{background:var(--gold-sf);color:var(--gold-ink);border:1px solid var(--gold-bd)}.tt-field{display:flex;flex-direction:column;gap:6px}.tt-field label{font-size:12.5px;font-weight:600;color:var(--soft)}.tt-field .req{color:var(--acc)}.tt-input{height:46px;border:1px solid var(--bd);border-radius:12px;background:var(--sf);padding:0 13px;font-size:14px;color:var(--ink);width:100%}.tt-input:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-sf)}.tt-seg{display:flex;gap:4px;padding:5px;background:var(--sunk);border-radius:12px}.tt-seg button{flex:1 1;border:0;background:transparent;border-radius:9px;padding:9px 0;font-family:var(--f-body);font-size:13px;font-weight:600;color:var(--soft)}.tt-seg button.on{background:var(--sf);color:var(--acc);box-shadow:0 1px 2px rgba(43,35,32,.1)}.tt-error{color:#a4331f;background:#f8e6df;border:1px solid #eccabb;border-radius:10px;padding:10px 12px;font-size:13px}.tt-muted{color:var(--soft);font-size:13px}.tt-hint{display:flex;gap:10px;background:var(--gold-sf);border:1px solid var(--gold-bd);border-radius:13px;padding:12px 13px;font-size:12.5px;color:#7a5a1c;line-height:1.5}.tt-hint svg{flex:0 0 auto;color:var(--gold);margin-top:1px}.tt-spin{width:22px;height:22px;border:2.5px solid var(--bd);border-top-color:var(--acc);border-radius:50%;animation:tt-spin .7s linear infinite}@keyframes tt-spin{to{transform:rotate(1turn)}}.tt-center{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;text-align:center}