:root{--bg:#161210;--surface:#1f1916;--deep:#0c0908;--border:#3a2f26;--ink:#ede2d0;--ink-dim:#a0917d;--amber:#e0a24a;--amber-soft:#f6c873;--amber-core:#ffe8b8;--bronze:#7a4a24;--bronze-lit:#9a6033}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:EB Garamond,serif;font-weight:400;line-height:1.65;min-height:100vh;position:relative}body:before{background:radial-gradient(ellipse 70% 55% at 50% 38%,rgba(224,162,74,.06) 0,transparent 60%),radial-gradient(ellipse 120% 100% at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%)}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}body:after{opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.tomo-app,.wrap,main{position:relative;z-index:1}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 20px}.auth-folio{width:100%;max-width:440px;gap:26px}.auth-crest,.auth-folio{display:flex;flex-direction:column}.auth-crest{align-items:center;gap:14px;text-align:center}.auth-crest svg{width:84px;height:84px}.auth-foot{text-align:center;font-size:14px;color:var(--ink-dim)}.auth-foot a{color:var(--amber);text-decoration:none}.auth-foot a:hover{color:var(--amber-soft)}.lang-switcher{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;font-family:Cinzel,serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.lang-switcher a{color:var(--ink-dim);text-decoration:none;transition:color .3s}.lang-switcher a:hover{color:var(--amber-soft)}.lang-switcher a:focus-visible{outline:2px solid var(--amber-soft);outline-offset:2px}.lang-active{color:var(--amber)}.lang-sep{color:var(--border)}.display{font-weight:600;letter-spacing:.06em;line-height:1.15}.display,.heading,h1,h2,h3{font-family:Cinzel,serif;color:var(--ink)}.heading,h1,h2,h3{font-weight:500;letter-spacing:.04em}.label{font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}.tagline{font-style:italic}.lore,.tagline{font-family:EB Garamond,serif;color:var(--ink-dim)}.lore{font-size:15px}.wordmark{font-family:Cinzel,serif;line-height:1;font-size:26px}.wordmark .wm-main{font-weight:600;letter-spacing:.16em;color:var(--ink)}.wordmark .wm-re{font-weight:500;background:linear-gradient(180deg,var(--amber) 0,var(--bronze-lit) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lozenge{display:inline-block;width:8px;height:8px;background:var(--bronze);transform:rotate(45deg);vertical-align:middle}.divider{display:flex;align-items:center;gap:14px}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.divider .lozenge{flex-shrink:0}.divider .cap{font-family:Cinzel,serif;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim)}.card{position:relative;background:var(--surface);border:1px solid var(--border);padding:34px 30px}.card:after,.card:before{content:"";position:absolute;width:16px;height:16px;border:1px solid var(--bronze);opacity:.55}.card:before{top:8px;left:8px;border-right:none;border-bottom:none}.card:after{bottom:8px;right:8px;border-left:none;border-top:none}.card-title{text-align:center;font-size:18px;margin-bottom:4px}.card-sub{text-align:center;margin-bottom:24px}.field{margin-bottom:20px}.field label{display:block;font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:10px}.field input{width:100%;background:rgba(0,0,0,.2);border:1px solid var(--border);color:var(--ink);padding:11px 14px;font-family:EB Garamond,serif;font-size:15px;outline:none;transition:.3s}.field input::placeholder{color:var(--ink-dim);opacity:.5}.field input:focus{border-color:var(--amber);box-shadow:0 0 0 1px rgba(224,162,74,.25),0 0 12px rgba(224,162,74,.12)}.field-hint{display:block;margin-top:8px;font-size:13px;color:var(--ink-dim);font-style:italic}.cta{display:inline-block;width:100%;padding:15px;background:linear-gradient(180deg,rgba(224,162,74,.16),rgba(122,74,36,.1));border:1px solid var(--bronze-lit);color:var(--amber);font-family:Cinzel,serif;font-size:11px;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:.3s}.cta:hover{border-color:var(--amber);color:var(--ink);box-shadow:0 0 18px rgba(224,162,74,.18)}.cta:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-ghost{display:inline-block;padding:11px 22px;background:transparent;border:1px solid var(--border);color:var(--ink-dim);font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:.3s;text-decoration:none}.btn-ghost:hover{color:var(--ink);border-color:var(--ink-dim)}.badge{font-family:Cinzel,serif;font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--border);color:var(--ink-dim)}.badge.lit{color:var(--amber);border-color:var(--bronze-lit)}.notice{font-family:EB Garamond,serif;font-size:14px;line-height:1.5;padding:12px 14px;border:1px solid var(--border);margin-bottom:20px;color:var(--ink-dim);background:rgba(0,0,0,.15)}.notice.err{color:var(--ink)}.notice.err,.notice.ok{border-color:var(--bronze-lit)}.notice.ok{color:var(--amber)}.captcha{margin:0 0 22px}.captcha,.captcha-img{display:flex;justify-content:center}.captcha-img{padding:10px;margin-bottom:12px;background:var(--deep);border:1px solid var(--border)}.captcha-img svg{max-width:100%;height:auto}.auth-foot a:focus-visible,.btn-ghost:focus-visible,.cta:focus-visible,.field input:focus-visible{outline:2px solid var(--amber-soft);outline-offset:2px}.field input[aria-invalid=true]{border-color:var(--amber)}.steps{gap:10px;margin-bottom:26px}.step-dot,.steps{display:flex;align-items:center;justify-content:center}.step-dot{font-family:Cinzel,serif;font-size:11px;letter-spacing:.1em;width:30px;height:30px;border:1px solid var(--border);color:var(--ink-dim);background:rgba(0,0,0,.2);transition:.3s}.step-dot.done{border-color:var(--bronze-lit);color:var(--ink)}.step-dot.current{border-color:var(--amber);color:var(--amber);box-shadow:0 0 12px rgba(224,162,74,.12)}.step-rule{flex:0 0 18px;height:1px;background:var(--border)}.quiz-list{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.quiz-option{position:relative;display:block;cursor:pointer}.quiz-option input{position:absolute;opacity:0;width:1px;height:1px}.quiz-mark{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);background:rgba(0,0,0,.2);color:var(--ink);font-family:EB Garamond,serif;font-size:15px;transition:.3s}.quiz-mark:before{content:"";flex-shrink:0;width:8px;height:8px;background:var(--bronze);transform:rotate(45deg);opacity:.4;transition:.3s}.quiz-option:hover .quiz-mark{border-color:var(--ink-dim)}.quiz-option input:checked+.quiz-mark{border-color:var(--amber);color:var(--ink);box-shadow:0 0 0 1px rgba(224,162,74,.25),0 0 12px rgba(224,162,74,.12)}.quiz-option input:checked+.quiz-mark:before{background:var(--amber);opacity:1}.quiz-option input:focus-visible+.quiz-mark{border-color:var(--amber-soft)}.flame{animation:tomo-breathe 4.2s ease-in-out infinite;transform-origin:center}@keyframes tomo-breathe{0%,to{opacity:.78;transform:scaleY(.97)}50%{opacity:1;transform:scaleY(1.03)}}@media (prefers-reduced-motion:reduce){.flame{animation:none}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:var(--border)}