:root{--companion-runtime-ink: #031017;--companion-runtime-ink-soft: #061a21;--companion-runtime-gold: #d9ad73;--companion-runtime-gold-bright: #f0cf95;--companion-runtime-gold-line: rgba(217, 173, 115, .28);--companion-runtime-jade: #aab8b8;--companion-runtime-mist: #d8dfdc;--companion-runtime-danger: #d79a87;--companion-runtime-safe-bottom: max(22px, env(safe-area-inset-bottom));color-scheme:dark;font-family:PingFang SC,Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{overflow-x:hidden;color:var(--companion-runtime-mist);background:#020b10}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--companion-runtime-gold-bright);outline-offset:3px}.companion-runtime-page{position:relative;isolation:isolate;width:min(100%,430px);min-height:100dvh;margin:0 auto;overflow-x:hidden;color:var(--companion-runtime-mist);background:radial-gradient(circle at 52% 16%,rgba(48,103,101,.18),transparent 30%),radial-gradient(ellipse at 18% 48%,rgba(217,173,115,.08),transparent 38%),linear-gradient(180deg,#04151c 0%,var(--companion-runtime-ink) 100%)}.companion-runtime-page:after{position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.companion-runtime-eyebrow{margin:0 0 12px;color:var(--companion-runtime-gold);font-size:13px;line-height:1.5;letter-spacing:.12em}.companion-runtime-primary{width:100%;min-height:50px;border:0;padding:0 20px;color:#172128;background:linear-gradient(135deg,#edcc8d,#b9833f);font-size:16px;font-weight:600;letter-spacing:.05em}.companion-runtime-primary:disabled{cursor:not-allowed;opacity:.48}.companion-runtime-brand{position:relative;z-index:2;display:flex;gap:10px;align-items:center;min-height:68px;padding:max(10px,env(safe-area-inset-top)) 22px 8px;color:var(--companion-runtime-gold-bright);font-family:"Noto Serif SC",Songti SC,STSong,serif;font-size:17px;letter-spacing:.04em}.companion-runtime-brand img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.25))}.companion-auth-page{min-height:100dvh;padding-bottom:calc(14px + var(--companion-runtime-safe-bottom))}.companion-auth-form{position:relative;z-index:2;display:grid;gap:12px;padding:16px 22px 0}.companion-auth-form-title{margin:0 0 2px;color:var(--companion-runtime-gold-bright);font-family:"Noto Serif SC",Songti SC,STSong,serif;font-size:25px;font-weight:500}.companion-auth-switch{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--companion-runtime-gold-line);border-bottom:1px solid var(--companion-runtime-gold-line)}.companion-auth-switch button{min-height:44px;border:0;color:#aab8b8b8;background:transparent;font-size:14px}.companion-auth-switch button+button{border-left:1px solid var(--companion-runtime-gold-line)}.companion-auth-switch button.active{color:var(--companion-runtime-gold-bright);background:#d9ad7314}.companion-auth-field{position:relative;display:grid;gap:5px;padding:0;border:0;color:var(--companion-runtime-jade);font-size:13px;letter-spacing:.04em}.companion-auth-field input{width:100%;min-width:0;min-height:46px;border:1px solid var(--companion-runtime-gold-line);border-radius:7px;outline:0;padding:8px 12px;color:var(--companion-runtime-mist);background:#081e26c7;font-size:16px;line-height:1.6;letter-spacing:0}.companion-auth-field input::placeholder{color:#aab8b873}.companion-auth-code-field{grid-template-columns:minmax(0,1fr) auto;align-items:end}.companion-auth-code-field>span{grid-column:1 / -1}.companion-auth-code-field>button{min-width:96px;min-height:46px;border:1px solid var(--companion-runtime-gold-line);border-radius:7px;padding:0 12px;color:var(--companion-runtime-gold-bright);background:transparent;font-size:13px}.companion-auth-code-field>button:disabled{cursor:not-allowed;opacity:.5}.companion-auth-agreement{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;color:var(--companion-runtime-jade);font-size:12px;line-height:1.5}.companion-auth-agreement input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--companion-runtime-gold)}.companion-auth-agreement a{margin:0 3px;color:var(--companion-runtime-gold-bright);text-underline-offset:3px}.companion-auth-feedback{margin:-4px 0 0;padding:11px 0 11px 14px;border-left:1px solid var(--companion-runtime-gold);color:var(--companion-runtime-jade);font-size:13px;line-height:1.65}.companion-auth-feedback.error{border-color:var(--companion-runtime-danger);color:var(--companion-runtime-danger)}.companion-auth-secondary-actions{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center}.companion-auth-secondary-actions button{min-height:40px;border:0;padding:0;color:var(--companion-runtime-jade);background:transparent;font-size:14px}.companion-auth-secondary-actions button.is-create-account{min-height:44px;padding:0 18px;border:1px solid rgba(240,207,149,.58);border-radius:22px;color:var(--companion-runtime-gold-bright);background:#d9ad731a;font-weight:600}.companion-auth-boundary{margin:28px 26px 0;padding:14px 0;border-top:1px solid rgba(217,173,115,.18);color:#aab8b8ad;font-size:12px;line-height:1.7;text-align:center}.companion-runtime-topbar{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;min-height:70px;padding:max(8px,env(safe-area-inset-top)) 14px 8px;background:linear-gradient(180deg,rgba(4,19,26,.98),rgba(4,19,26,.66),transparent)}.companion-runtime-topbar button{width:44px;height:44px;border:0;padding:0;color:var(--companion-runtime-gold-bright);background:transparent;font:300 34px/1 sans-serif}.companion-runtime-topbar>span{color:var(--companion-runtime-gold-bright);font-family:"Noto Serif SC",Songti SC,STSong,serif;font-size:18px;letter-spacing:.08em;text-align:center}.companion-runtime-topbar img{justify-self:end;width:42px;height:42px;object-fit:contain}.companion-legal-page article{position:relative;z-index:2;padding:42px 26px calc(48px + var(--companion-runtime-safe-bottom))}.companion-legal-page article>h1{margin:0;color:var(--companion-runtime-gold-bright);font-family:"Noto Serif SC",Songti SC,STSong,serif;font-size:clamp(32px,9vw,40px);font-weight:500;line-height:1.35}.companion-legal-intro{margin:18px 0 0;color:var(--companion-runtime-mist);font-size:16px;line-height:1.8}.companion-legal-meta{margin:24px 0 0;padding:14px 0;border-top:1px solid var(--companion-runtime-gold-line);border-bottom:1px solid var(--companion-runtime-gold-line);color:var(--companion-runtime-gold);font-size:13px;line-height:1.75}.companion-legal-meta div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}.companion-legal-meta dt,.companion-legal-meta dd{margin:0}.companion-legal-meta dd{min-width:0;color:var(--companion-runtime-jade);overflow-wrap:anywhere}.companion-legal-sections{margin-top:34px}.companion-legal-sections section{padding:26px 0;border-bottom:1px solid rgba(217,173,115,.18)}.companion-legal-sections h2{margin:0 0 12px;color:var(--companion-runtime-gold-bright);font-family:"Noto Serif SC",Songti SC,STSong,serif;font-size:20px;font-weight:500;line-height:1.45}.companion-legal-sections p{margin:10px 0 0;color:var(--companion-runtime-jade);font-size:15px;line-height:1.85}.companion-legal-links{display:grid;margin:34px 0;border-top:1px solid var(--companion-runtime-gold-line)}.companion-legal-links button{min-height:52px;border:0;border-bottom:1px solid var(--companion-runtime-gold-line);color:var(--companion-runtime-jade);background:transparent;text-align:left}.companion-legal-links button[aria-current=page]{color:var(--companion-runtime-gold-bright)}.companion-runtime-state{display:grid;min-height:100dvh;place-items:center;padding:max(28px,env(safe-area-inset-top)) 28px calc(28px + var(--companion-runtime-safe-bottom));text-align:center}.companion-runtime-state>section{width:min(100%,340px)}.companion-runtime-state img{display:block;width:min(50vw,178px);max-height:190px;margin:0 auto 24px;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.25))}.companion-runtime-state h1{margin:0;color:var(--companion-runtime-gold-bright);font-family:"Noto Serif SC",Songti SC,STSong,serif;font-size:clamp(30px,9vw,36px);font-weight:500;line-height:1.4}.companion-runtime-state section>p:not(.companion-runtime-eyebrow){margin:18px 0 28px;color:var(--companion-runtime-jade);font-size:15px;line-height:1.8}@media(min-width:720px){.companion-runtime-page{min-height:calc(100dvh - 52px);margin-top:26px;margin-bottom:26px;border:1px solid rgba(217,173,115,.2);box-shadow:0 30px 100px #00000080}.companion-runtime-state{min-height:calc(100dvh - 52px)}}@media(max-height:720px){.companion-runtime-brand{min-height:58px}.companion-runtime-brand img{width:42px;height:42px}.companion-auth-form{gap:9px;padding-top:10px}.companion-auth-field input,.companion-auth-code-field>button{min-height:42px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
