.tp-page{max-width:960px;margin:auto;padding:28px 20px 56px;color:var(--text,#eee9f3)}
.tp-page [hidden]{display:none!important}
.tp-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.8;color:var(--text-soft)}
.tp-page a{color:var(--gold-light,#e8ce85);text-underline-offset:4px}
.tp-eyebrow{font-size:12px;letter-spacing:.12em;color:var(--text-soft);margin:24px 0 5px}
.tp-page h1{font:600 clamp(27px,5vw,39px)/1.6 var(--serif);color:var(--gold-light);margin:12px 0}
.tp-lead{font-size:17px;line-height:1.95;max-width:760px;color:var(--text-soft)}
.tp-tool,.tp-article{margin-top:26px;padding:clamp(20px,4vw,30px);border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.tp-tool{background:linear-gradient(135deg,#21162e,#15121c);border-color:#735283}
.tp-page h2{font:600 23px/1.7 var(--serif);color:var(--gold-light);margin:0 0 15px}
.tp-page h3{font:600 19px/1.7 var(--sans);color:#eadcf2;margin:20px 0 10px}
.tp-page p,.tp-page li{line-height:1.9}
.tp-page button,.tp-link-button{min-height:46px;padding:11px 18px;border:1px solid #9672ab;border-radius:12px;background:#3e2851;color:#fff;font:600 16px/1.5 var(--sans);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.tp-page button:hover{background:#513467;border-color:#ccb0dd}
.tp-page button:disabled{cursor:default;opacity:.55}
.tp-page button:focus-visible,.tp-page a:focus-visible,.tp-page input:focus-visible{outline:3px solid var(--gold-light,#e8ce85);outline-offset:4px}
.tp-primary{background:linear-gradient(120deg,#7045a0,#775943)!important;border-color:#c9a76d!important}
.tp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tp-note{font-size:14px;line-height:1.8;color:var(--text-soft)}
.tp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.tp-stat{border:1px solid #665071;border-radius:12px;padding:13px 16px;background:#171020}
.tp-stat strong{font-size:25px;color:var(--gold-light);margin-right:6px}
.tp-stat span{font-size:14px;color:#d4c5df}
.tp-consent{display:flex;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer;line-height:1.8;font-size:15px}
.tp-consent input{width:20px;height:20px;margin:4px 0 0;flex-shrink:0;accent-color:#c7a265}
.tp-storage{font-size:13px;color:var(--text-soft);margin:6px 0 16px 30px}
.tp-round{scroll-margin-top:88px;border-top:1px solid #644b70;padding-top:22px}
.tp-round:focus,.tp-complete:focus,.tp-answer:focus{outline:none}
.tp-round:focus-visible,.tp-complete:focus-visible,.tp-answer:focus-visible{outline:2px solid var(--gold-light);outline-offset:5px}
.tp-step{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;color:var(--gold-light);font-weight:600;margin-bottom:20px}
.tp-step progress{width:180px;max-width:100%;height:8px;accent-color:#c7a265}
.tp-card-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:start}
.tp-card-figure{margin:0;position:sticky;top:84px}
.tp-card-figure img{width:180px;max-width:100%;height:auto;display:block;border-radius:11px;border:1px solid #aa8b62;box-shadow:0 12px 32px #08061080}
.tp-card-figure figcaption{font-size:12px;color:var(--text-soft);margin-top:10px;line-height:1.8}
.tp-prompt{margin:0 0 14px!important;line-height:1.9}
.tp-answer{scroll-margin-top:90px}
.tp-answer h3{margin-top:0}
.tp-keywords{font-weight:600;color:var(--gold-light);padding:12px 15px;background:#31203b;border-radius:11px}
.tp-example{border-left:3px solid #b38bd0;padding:4px 0 4px 16px;margin:18px 0}
.tp-example h4{font-size:16px;margin:0 0 8px;color:#e9d7f4}
.tp-example p{margin:6px 0}
.tp-markers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.tp-status{min-height:1.9em;line-height:1.8;font-size:14px;color:#e7d0ef;margin:20px 0 0}
.tp-complete{scroll-margin-top:88px;border-top:1px solid #644b70;padding-top:24px}
.tp-result-list{padding:0!important;list-style:none;display:grid;gap:8px}
.tp-result-list li{display:flex;justify-content:space-between;gap:14px;padding:10px 13px;background:#21172c;border-radius:9px;flex-wrap:wrap}
.tp-result-list span{color:var(--text-soft);font-size:14px}
.tp-reset{border-top:1px solid #644b70;padding-top:18px;margin-top:22px}
.tp-reset>button{background:transparent;padding:9px 15px;font-size:14px}
.tp-reset-confirm{margin-top:14px;border:1px solid #9b687e;background:#32202b;padding:16px;border-radius:12px}
.tp-reset-confirm p{margin:0}
.tp-guide-nav{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0;font-size:14px}
.tp-guide-nav a{display:inline-flex;align-items:center;min-height:44px}
.tp-page ul,.tp-page ol{padding-left:1.5em}
.tp-table-wrap{overflow:auto;margin:18px 0}
.tp-page table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.8}
.tp-page th,.tp-page td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tp-page th{background:#30213d;color:var(--gold-light)}
.tp-example-grid,.tp-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tp-example-box{padding:18px;border:1px solid var(--line);border-radius:12px;min-width:0}
.tp-example-box h3{margin-top:0}
.tp-related a{padding:18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;display:block}
.tp-related strong{display:block;margin-bottom:7px}.tp-related span{display:block;font-size:14px;line-height:1.8;color:var(--text-soft)}
.tp-page details{border-bottom:1px solid var(--line);padding:14px 0}.tp-page summary{cursor:pointer;min-height:32px;line-height:1.8;font-weight:600}.tp-page details p{margin:12px 0 0}
.tp-caption{font-size:13px;color:var(--text-soft);margin:20px 0}
@media(max-width:620px){.tp-page{padding:22px 16px 40px}.tp-card-layout{grid-template-columns:1fr;gap:20px}.tp-card-figure{position:static;display:flex;gap:16px;align-items:center}.tp-card-figure img{width:128px;flex-shrink:0}.tp-card-figure figcaption{max-width:180px;font-size:13px}.tp-example-grid,.tp-related{grid-template-columns:1fr}.tp-page h2{font-size:21px}.tp-page th,.tp-page td{padding:10px 8px}.tp-markers{grid-template-columns:1fr}.tp-stat{padding:11px 12px}.tp-stat strong{font-size:22px}.tp-stat span{display:block}.tp-step progress{width:130px}}
@media(max-width:370px){.tp-tool,.tp-article{padding:17px}.tp-card-figure img{width:108px}.tp-card-figure{gap:12px}.tp-actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){.tp-page *{scroll-behavior:auto!important}}
