/* One visual system for TPC portal entry pages and the identity service. */
:root{--tpc-bg:#0c0907;--tpc-surface:#17120f;--tpc-gold:#c4955a;--tpc-gold-light:#e2bf89;--tpc-text:#eee7db;--tpc-muted:#b4a89a;--tpc-border:rgba(196,149,90,.28);--tpc-serif:Georgia,'Noto Serif SC','Songti SC',serif;--tpc-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
.tpc-entry,.tpc-identity-page{box-sizing:border-box;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;padding:28px 40px 22px;color:var(--tpc-text);font-family:var(--tpc-sans);background:radial-gradient(ellipse at 75% 10%,rgba(196,149,90,.075),transparent 48%),var(--tpc-bg);-webkit-font-smoothing:antialiased}
.tpc-entry *,.tpc-identity-page *{box-sizing:border-box}
.tpc-entry-header{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:1120px;margin:0 auto}
.tpc-brand{display:flex;align-items:center;gap:14px;color:var(--tpc-text);text-decoration:none;min-width:0}
.tpc-brand:hover{color:var(--tpc-text);text-decoration:none}
.tpc-brand img{display:block;width:54px;height:54px;object-fit:contain;flex-shrink:0}
.tpc-brand-wordmark{display:flex;flex-direction:column;gap:5px}
.tpc-brand-wordmark strong{font-family:var(--tpc-serif);font-size:21px;line-height:1.15;font-weight:400;letter-spacing:.025em}
.tpc-brand-wordmark small{font-size:10px;line-height:1.4;letter-spacing:.15em;color:var(--tpc-gold-light)}
.tpc-portal-badge{border:1px solid var(--tpc-border);border-radius:100px;padding:9px 14px;color:var(--tpc-gold-light);font-size:11px;line-height:1.4;letter-spacing:.07em;white-space:nowrap;background:rgba(196,149,90,.045)}
.tpc-entry-main{flex:1;display:grid;place-items:center;padding:54px 0 44px;min-width:0}
.tpc-entry-card{width:100%;max-width:468px;border:1px solid var(--tpc-border);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.018),transparent 55%),var(--tpc-surface);padding:34px 36px 30px;box-shadow:0 24px 70px rgba(0,0,0,.28);position:relative;min-width:0}
.tpc-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px;min-height:32px}
.tpc-eyebrow{font:500 10px/1.5 var(--tpc-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--tpc-gold-light);margin:0}
.tpc-entry-title{font-family:var(--tpc-serif);font-weight:400;font-size:38px;letter-spacing:-.035em;line-height:1.15;margin:0 0 14px;color:var(--tpc-text)}
.tpc-entry .tpc-entry-title:focus{outline:none}
.tpc-entry-intro{font-size:14px;line-height:1.75;color:var(--tpc-muted);margin:0 0 28px}
.tpc-language,.tpc-entry .tpc-auth__language{display:flex;gap:2px;align-items:center;justify-content:flex-end;margin:0;flex-shrink:0}
.tpc-language button,.tpc-entry .tpc-auth__language button{font:500 11px/1.5 var(--tpc-sans);min-height:36px;min-width:42px;padding:7px 9px;border:1px solid transparent;border-radius:100px;background:transparent;color:var(--tpc-muted);cursor:pointer}
.tpc-language button[aria-pressed=true],.tpc-entry .tpc-auth__language button[aria-pressed=true]{background:rgba(196,149,90,.1);border-color:var(--tpc-border);color:var(--tpc-gold-light);box-shadow:none}
.tpc-entry .tpc-auth{display:block;text-align:left}
.tpc-entry .tpc-auth__form{display:block;margin:0}
.tpc-entry-button,.tpc-entry .tpc-auth__submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:13px 18px;border:1px solid var(--tpc-gold);border-radius:10px;background:var(--tpc-gold);color:#180f08;font:650 14px/1.5 var(--tpc-sans);cursor:pointer;transition:background .15s,border-color .15s;box-shadow:none}
.tpc-entry-button:hover,.tpc-entry .tpc-auth__submit:hover{background:var(--tpc-gold-light);border-color:var(--tpc-gold-light)}
.tpc-entry button:disabled{opacity:.6;cursor:wait}
.tpc-entry .form-hint,.tpc-entry-note{font-size:12px;line-height:1.75;color:var(--tpc-muted);margin:16px 0 0}
.tpc-entry .form-error,.tpc-entry-error{font-size:13px;line-height:1.65;color:#f2aaa1;background:rgba(169,69,58,.12);border:1px solid rgba(215,135,123,.35);border-radius:9px;padding:12px 14px;margin:0 0 18px}
.tpc-entry-security{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.65;color:var(--tpc-muted);margin:24px 0 0;padding-top:20px;border-top:1px solid rgba(196,149,90,.16)}
.tpc-entry-security svg{flex-shrink:0;width:15px;height:17px;margin-top:1px;stroke:var(--tpc-gold-light)}
.tpc-entry-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;margin:23px 0 0;font-size:12px;line-height:1.7}
.tpc-entry a,.tpc-identity-page a{color:var(--tpc-gold-light);text-decoration:none}
.tpc-entry a:hover,.tpc-identity-page a:hover{text-decoration:underline;color:#f0d6af}
.tpc-entry-footer{display:flex;justify-content:space-between;gap:20px;max-width:1120px;width:100%;margin:0 auto;color:#9f9487;font-size:11px;line-height:1.6;letter-spacing:.025em}
.tpc-entry-footer a{color:inherit}
.tpc-entry :focus-visible,.tpc-identity-page :focus-visible{outline:2px solid var(--tpc-gold-light);outline-offset:4px}
@media(max-width:600px){.tpc-entry,.tpc-identity-page{padding:22px 18px 20px}.tpc-entry-header{gap:12px;align-items:center}.tpc-brand{gap:11px}.tpc-brand img{width:43px;height:43px}.tpc-brand-wordmark strong{font-size:18px;max-width:210px}.tpc-brand-wordmark small{font-size:9px;letter-spacing:.13em}.tpc-portal-badge{display:none}.tpc-entry-main{padding:32px 0 28px;align-content:start}.tpc-entry-card{padding:25px 23px 24px;border-radius:16px;max-width:468px}.tpc-card-top{margin-bottom:21px;gap:10px}.tpc-entry-title{font-size:33px}.tpc-entry-intro{font-size:14px;margin-bottom:24px}.tpc-entry-footer{justify-content:center;text-align:center;flex-wrap:wrap;gap:6px}.tpc-entry-links{font-size:12px;gap:8px 16px}.tpc-eyebrow{font-size:9px;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.tpc-entry *,.tpc-identity-page *{scroll-behavior:auto!important;transition:none!important}}

.tpc-owner-card{max-width:720px}.tpc-owner-stats{display:flex;gap:24px;padding:16px 0 24px}.tpc-owner-stats div{flex:1}.tpc-owner-stats strong{font:32px var(--tpc-serif);display:block;color:var(--tpc-gold-light)}.tpc-owner-stats span{font-size:12px;color:var(--tpc-muted)}.tpc-owner-links{display:grid;gap:10px}.tpc-owner-links a{display:flex;flex-direction:column;padding:15px 18px;border:1px solid var(--tpc-border);border-radius:10px;color:var(--tpc-gold-light);text-decoration:none}.tpc-owner-links span{font-size:12px;color:var(--tpc-muted);margin-top:5px}.tpc-owner-signout{background:transparent;color:var(--tpc-gold-light);border:1px solid var(--tpc-border);border-radius:8px;padding:10px 20px;cursor:pointer}
