.pub{min-height:100dvh;display:flex;flex-direction:column}.pub-wrap{width:100%;max-width:72rem;margin:0 auto;padding-left:16px;padding-right:16px}.pub-header{border-bottom:1px solid var(--border);background:var(--panel)}.pub-header .pub-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-top:10px;padding-bottom:10px}.pub-brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:1.125rem;color:var(--text);text-decoration:none;margin-right:auto}.pub-brand svg{color:var(--accent)}.pub-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pub-select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:6px 8px;font-size:14px;max-width:100%}.pub-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pub-link{color:color-mix(in srgb,var(--accent) 80%,var(--text));text-decoration:underline;text-underline-offset:2px}.pub-link:hover{text-decoration-thickness:2px}.pub-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.pub-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}.pub-btn:hover{border-color:var(--accent)}.pub-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pub-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.pub-btn.primary:hover{filter:brightness(1.08)}.pub-btn:disabled{opacity:.55;cursor:not-allowed}.pub-btn.lg{min-height:48px;padding:10px 22px;font-size:16px}.pub-main{flex:1}.pub-footer{border-top:1px solid var(--border);background:var(--panel);margin-top:48px}.pub-footer .pub-wrap{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:18px;padding-bottom:18px;font-size:14px}.pub-hero{display:grid;gap:28px;padding:40px 0 24px;align-items:center}@media (min-width:900px){.pub-hero{grid-template-columns:1.15fr .85fr;padding:64px 0 40px}}.pub-hero h1{font-size:clamp(1.75rem,5.5vw,2.75rem);line-height:1.15;font-weight:800;letter-spacing:-.01em}.pub-lead{margin-top:14px;font-size:1.125rem;line-height:1.55;color:var(--muted);max-width:40rem}.pub-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.pub-note{margin-top:12px;font-size:14px;color:var(--muted)}.pub-art{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:12px;color:var(--text)}.pub-art svg{width:100%;height:auto;display:block}.pub-section{padding:36px 0 8px}.pub-section>h2{font-size:1.5rem;line-height:1.25;font-weight:700}.pub-section>p.sub{margin-top:8px;color:var(--muted);max-width:44rem;line-height:1.55}.pub-grid{display:grid;gap:14px;margin-top:20px;grid-template-columns:1fr}@media (min-width:640px){.pub-grid.c2,.pub-grid.c3{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.pub-grid.c3{grid-template-columns:repeat(3,1fr)}}.pub-card{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:16px}.pub-card h3{font-size:1.0625rem;font-weight:700}.pub-card li,.pub-card p{margin-top:6px;color:var(--muted);line-height:1.5;font-size:15px}.pub-card ul{margin-top:8px;padding-left:18px;list-style:disc}.pub-card .ico{color:var(--accent);margin-bottom:8px}.pub-steps{counter-reset:step;display:grid;gap:14px;margin-top:20px;list-style:none;padding:0}@media (min-width:760px){.pub-steps{grid-template-columns:repeat(3,1fr)}}.pub-steps li{counter-increment:step;position:relative;border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:16px 16px 16px 60px}.pub-steps li:before{content:counter(step);position:absolute;left:16px;top:16px;width:32px;height:32px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700;display:flex;align-items:center;justify-content:center}.pub-steps h3{font-weight:700}.pub-steps p{margin-top:4px;color:var(--muted);line-height:1.5;font-size:15px}.pub-band{margin-top:40px;border:1px solid var(--border);background:var(--panel);border-radius:16px;padding:24px 20px;text-align:center}.pub-band h2{font-size:1.5rem;font-weight:700}.pub-auth,.pub-band .pub-cta{justify-content:center}.pub-auth{display:flex;padding:28px 0 8px}.pub-card-form{width:100%;max-width:34rem;border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:22px 18px}.pub-card-form.narrow{max-width:26rem}.pub-card-form h1{font-size:1.5rem;font-weight:700}.pub-card-form .lead{margin-top:6px;color:var(--muted);line-height:1.5}.pub-fields{display:grid;gap:14px;margin-top:18px;grid-template-columns:1fr}@media (min-width:560px){.pub-fields.two{grid-template-columns:1fr 1fr}.pub-fields .full{grid-column:1/-1}}.pub-field{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}.pub-field .input{width:100%;font-weight:400;font-size:16px;padding:9px 10px}.pub-field .hint{font-weight:400;font-size:13px;color:var(--muted)}.pub-field .err{font-weight:500;font-size:13px;color:var(--bad)}.pub-field .input[aria-invalid=true]{border-color:var(--bad)}.pub-pw{display:flex;gap:6px}.pub-pw .input{flex:1;min-width:0}.pub-policy{list-style:none;padding:0;margin:4px 0 0;font-size:13px;font-weight:400;color:var(--muted)}.pub-policy li[data-ok=true]{color:var(--ok)}.pub-radio{display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:400;font-size:15px}.pub-radio label{display:inline-flex;align-items:center;gap:6px;font-weight:400}.pub-check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;line-height:1.45}.pub-check input{margin-top:3px;width:18px;height:18px;flex-shrink:0}.pub-msg{margin-top:16px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);border-left-width:4px;background:var(--bg);line-height:1.5;font-size:15px}.pub-msg.ok{border-left-color:var(--ok)}.pub-msg.warn{border-left-color:var(--warn)}.pub-msg.bad{border-left-color:var(--bad)}.pub-msg.info{border-left-color:var(--accent)}.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.pub-legal{max-width:46rem;padding:28px 0 8px}.pub-legal h1{font-size:1.875rem;font-weight:800}.pub-legal h2{margin-top:26px;font-size:1.25rem;font-weight:700}.pub-legal li,.pub-legal p{margin-top:8px;line-height:1.65;color:var(--text)}.pub-legal ul{padding-left:20px;list-style:disc}.pub-draft{margin-top:14px;padding:12px 14px;border-radius:10px;border:1px solid var(--warn);border-left-width:4px;background:var(--bg);font-weight:600;line-height:1.45}