@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Geist:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-display:"Fraunces", Georgia, serif;--font-ui:"Geist", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius-input:12px;--radius-card:20px;--radius-btn:12px;--radius-pill:999px;--density-input-h:54px;--density-gap:18px;--density-card-pad:44px;--accent:oklch(78% .08 50);--accent-hover:oklch(73% .1 50);--accent-soft:oklch(78% .08 50/.18);--accent-ink:oklch(25% .06 280);--ease:cubic-bezier(.22, .61, .36, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.14s;--t-base:.24s;--t-slow:.42s}:root,[data-theme=light]{--bg:oklch(98% .008 60);--bg-elev:oklch(99.4% .005 60);--bg-sunk:oklch(95.5% .012 55);--paper:oklch(99.2% .004 60);--ink:oklch(25% .06 280);--ink-2:oklch(40% .05 280);--ink-3:oklch(58% .035 280);--ink-4:oklch(74% .02 280);--line:oklch(89% .015 50);--line-2:oklch(94% .01 50);--shadow-sm:0 1px 2px oklch(25% .06 280/.05), 0 0 0 1px oklch(25% .06 280/.04);--shadow-md:0 1px 2px oklch(25% .06 280/.05), 0 8px 24px -8px oklch(25% .06 280/.1), 0 0 0 1px oklch(25% .06 280/.04);--shadow-lg:0 1px 2px oklch(25% .06 280/.05), 0 24px 60px -20px oklch(25% .06 280/.18), 0 0 0 1px oklch(25% .06 280/.04);--danger:oklch(58% .18 25);--success:oklch(58% .13 155);--warning:oklch(72% .13 65);--noise-opacity:.5}[data-theme=dark]{--bg:oklch(18% .05 280);--bg-elev:oklch(25% .06 280);--bg-sunk:oklch(15% .045 280);--paper:oklch(25% .06 280);--ink:oklch(95% .015 50);--ink-2:oklch(82% .025 50);--ink-3:oklch(65% .03 280);--ink-4:oklch(48% .04 280);--line:oklch(33% .05 280);--line-2:oklch(29% .045 280);--shadow-sm:0 1px 2px oklch(0% 0 0/.45), 0 0 0 1px oklch(100% 0 0/.04);--shadow-md:0 1px 2px oklch(0% 0 0/.45), 0 12px 30px -10px oklch(0% 0 0/.55), 0 0 0 1px oklch(100% 0 0/.05);--shadow-lg:0 1px 2px oklch(0% 0 0/.45), 0 30px 80px -20px oklch(0% 0 0/.7), 0 0 0 1px oklch(100% 0 0/.06);--danger:oklch(72% .18 25);--success:oklch(74% .13 155);--warning:oklch(80% .13 65);--noise-opacity:.3}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";text-rendering:optimizelegibility;transition:background var(--t-slow) var(--ease), color var(--t-slow) var(--ease);min-height:100vh;font-size:15px;line-height:1.5;overflow-x:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea,select{color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--accent-ink)}[data-theme=dark] ::selection{color:var(--ink)}.paper-noise{pointer-events:none;z-index:0;opacity:var(--noise-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.07 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}[data-theme=dark] .paper-noise{mix-blend-mode:screen}.scene-glow{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.scene-glow .blob{filter:blur(80px);opacity:.45;transition:opacity var(--t-slow) var(--ease);border-radius:50%;position:absolute}.scene-glow .blob.b1{background:radial-gradient(circle, var(--accent) 0%, transparent 65%);width:560px;height:560px;animation:22s ease-in-out infinite alternate blobDrift1;top:-180px;left:-120px}.scene-glow .blob.b2{background:radial-gradient(circle,oklch(45% .08 280) 0%,#0000 65%);width:480px;height:480px;animation:28s ease-in-out infinite alternate blobDrift2;bottom:-160px;right:-100px}[data-theme=dark] .scene-glow .blob{opacity:.22}@keyframes blobDrift1{0%{transform:translate(0)scale(1)}to{transform:translate(60px,80px)scale(1.1)}}@keyframes blobDrift2{0%{transform:translate(0)scale(1)}to{transform:translate(-80px,-60px)scale(.95)}}.app-root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.topbar{z-index:5;justify-content:space-between;align-items:center;padding:22px 32px;display:flex;position:relative}.topbar-actions{align-items:center;gap:8px;display:flex}.brand{-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.brand-mark{justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:relative}.brand-mark svg{width:100%;height:100%}.brand-word{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"opsz" 144, "SOFT" 100;font-size:19px;font-style:italic;font-weight:500}.brand-word .amp{color:var(--accent);font-style:normal}.theme-toggle{width:36px;height:36px;color:var(--ink-2);transition:background var(--t-base) var(--ease), color var(--t-base) var(--ease), transform var(--t-base) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--bg-sunk);color:var(--ink)}.theme-toggle:active{transform:scale(.94)}.theme-toggle svg{width:18px;height:18px;transition:transform var(--t-slow) var(--ease)}.theme-toggle:hover svg{transform:rotate(20deg)}.scene{flex:1;justify-content:center;align-items:center;padding:24px 24px 80px;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp var(--t-slow) var(--ease) both}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseDot{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 6px #0000}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{background:var(--paper);border-radius:var(--radius-card);width:100%;max-width:440px;padding:var(--density-card-pad);box-shadow:var(--shadow-lg);transition:background var(--t-slow) var(--ease), box-shadow var(--t-slow) var(--ease);position:relative}.card-wide{max-width:520px}.card-head{text-align:center;margin-bottom:28px}.card-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);border-radius:var(--radius-pill);background:var(--bg-sunk);margin-bottom:14px;padding:4px 10px;font-size:11px;display:inline-block}.card-eyebrow .dot{background:var(--accent);vertical-align:middle;width:5px;height:5px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;margin-right:6px;display:inline-block}h1.card-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-variation-settings:"opsz" 96, "SOFT" 50;margin:0 0 8px;font-size:clamp(28px,4vw,36px);font-weight:400;line-height:1.08}h1.card-title .accent{color:var(--accent);font-style:italic}.card-sub{color:var(--ink-3);text-wrap:pretty;margin:0;font-size:14.5px}.form{gap:var(--density-gap);flex-direction:column;display:flex}.field{position:relative}.field-input{width:100%;height:var(--density-input-h);background:var(--bg-sunk);border-radius:var(--radius-input);color:var(--ink);transition:background var(--t-base) var(--ease), border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);-webkit-appearance:none;border:1px solid #0000;outline:none;padding:22px 16px 6px;font-size:15px;font-weight:450;line-height:1.2}.field-input::placeholder{color:#0000}.field-input:hover{background:oklch(from var(--bg-sunk) calc(l - .012) c h)}[data-theme=dark] .field-input:hover{background:oklch(from var(--bg-sunk) calc(l + .018) c h)}.field-input:focus{background:var(--paper);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.field-label{left:16px;top:calc(var(--density-input-h) / 2);color:var(--ink-3);pointer-events:none;transition:top var(--t-fast) var(--ease), font-size var(--t-fast) var(--ease), color var(--t-base) var(--ease), transform var(--t-fast) var(--ease);background:0 0;padding:0;font-size:14.5px;line-height:1;position:absolute;transform:translateY(-50%)}.field-input:focus+.field-label,.field-input:not(:placeholder-shown)+.field-label,.field.has-value .field-label{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;font-weight:500;top:9px;transform:translateY(0)}.field-input:focus+.field-label{color:var(--accent)}.field-icon{right:14px;top:calc(var(--density-input-h) / 2);color:var(--ink-3);pointer-events:none;width:18px;height:18px;transition:color var(--t-base) var(--ease), transform var(--t-base) var(--ease), opacity var(--t-base) var(--ease);justify-content:center;align-items:center;display:inline-flex;position:absolute;transform:translateY(-50%)}.field-icon.is-clickable{pointer-events:auto;cursor:pointer}.field-icon.is-clickable:hover{color:var(--ink)}.field-icon svg{width:100%;height:100%}.field.smart .field-icon{background:var(--bg-elev);width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none;border-radius:50%;padding:6px;right:9px}.field.smart .field-icon svg{width:16px;height:16px}.field.smart.detect-email .field-icon,.field.smart.detect-phone .field-icon{color:var(--accent-ink);background:var(--accent);box-shadow:none}.field.error .field-input{border-color:var(--danger);background:oklch(from var(--danger) .97 .02 h)}[data-theme=dark] .field.error .field-input{background:oklch(from var(--danger) .22 .05 h)}.field.error .field-label{color:var(--danger)}.hint-dismiss{cursor:pointer;color:var(--ink-4);transition:color var(--t-fast) var(--ease);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;margin-left:auto;padding:2px;display:inline-flex}.hint-dismiss:hover{color:var(--ink-2)}.field-error{color:var(--danger);animation:errorIn var(--t-base) var(--ease);align-items:center;gap:6px;margin-top:6px;font-size:12.5px;display:flex}@keyframes errorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.field.shake .field-input{animation:shake .36s var(--ease)}.field-hint{color:var(--ink-3);margin-top:6px;font-size:12.5px}.pw-strength{gap:4px;height:3px;margin-top:8px;display:flex}.pw-strength .seg{background:var(--line-2);transition:background var(--t-base) var(--ease);border-radius:2px;flex:1}.pw-strength.s1 .seg:nth-child(-n+1){background:var(--danger)}.pw-strength.s2 .seg:nth-child(-n+2){background:var(--warning)}.pw-strength.s3 .seg:nth-child(-n+3){background:var(--accent)}.pw-strength.s4 .seg{background:var(--success)}.pw-strength-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;margin-top:8px;font-size:10.5px;display:flex}.btn{border-radius:var(--radius-btn);letter-spacing:-.005em;height:48px;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-base) var(--ease);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14.5px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--bg);box-shadow:inset 0 1px oklch(100% 0 0/.08),0 4px 14px -4px oklch(0% 0 0/.25)}.btn-primary:hover:not(:disabled){background:oklch(from var(--ink) calc(l - .04) c h)}[data-theme=dark] .btn-primary{background:var(--ink);color:oklch(15% .008 270)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-sunk)}.btn-soft{background:var(--bg-sunk);color:var(--ink)}.btn-soft:hover:not(:disabled){background:var(--line-2)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-danger-ghost{color:var(--danger);background:0 0}.btn-danger-ghost:hover:not(:disabled){background:oklch(from var(--danger) .96 .04 h)}[data-theme=dark] .btn-danger-ghost:hover:not(:disabled){background:oklch(from var(--danger) .25 .06 h)}.btn-block{width:100%}.btn-sm{height:36px;padding:0 14px;font-size:13px}.btn-icon-only{width:40px;padding:0}.btn .arrow{transition:transform var(--t-base) var(--ease)}.btn:hover .arrow{transform:translate(3px)}.btn .spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.divider{color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;margin:4px 0;font-size:10.5px;display:flex}.divider:before,.divider:after{content:"";background:linear-gradient(90deg, transparent, var(--line), transparent);flex:1;height:1px}.card-foot{text-align:center;color:var(--ink-3);margin-top:22px;font-size:13.5px}.link{color:var(--ink);border-bottom:1px solid var(--line);transition:color var(--t-base) var(--ease), border-color var(--t-base) var(--ease);padding-bottom:1px;font-weight:500}.link:hover{color:var(--accent);border-color:var(--accent)}.link-quiet{color:var(--ink-3);transition:color var(--t-base) var(--ease), border-color var(--t-base) var(--ease);border-bottom:1px dashed #0000}.link-quiet:hover{color:var(--ink);border-color:var(--ink-4)}.seg{background:var(--bg-sunk);border-radius:var(--radius-pill);gap:0;padding:4px;display:inline-flex;position:relative}.seg-item{color:var(--ink-3);border-radius:var(--radius-pill);transition:color var(--t-base) var(--ease);z-index:1;padding:8px 16px;font-size:13px;font-weight:500;position:relative}.seg-item.active{color:var(--ink)}.seg-thumb{background:var(--paper);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);transition:left var(--t-base) var(--ease), width var(--t-base) var(--ease);z-index:0;position:absolute;top:4px;bottom:4px}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:28px;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--ink-3);white-space:nowrap;transition:color var(--t-base) var(--ease);margin-right:22px;padding:12px 4px;font-size:14px;font-weight:500;position:relative}.tab:hover{color:var(--ink-2)}.tab.active{color:var(--ink)}.tab.active:after{content:"";background:var(--ink);height:2px;animation:tabIn var(--t-base) var(--ease);border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:0;right:0}@keyframes tabIn{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.profile-shell{width:100%;max-width:920px;margin:0 auto}.profile-tabpane{min-height:520px}@media (width<=640px){.profile-tabpane{min-height:0}}.profile-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.profile-head h1{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"opsz" 144, "SOFT" 80;margin:0;font-size:clamp(34px,5vw,48px);font-weight:400;line-height:1.05}.profile-head h1 .accent{color:var(--accent);font-style:italic}.profile-head .lede{color:var(--ink-3);margin:8px 0 0;font-size:15px}.section{background:var(--paper);border-radius:var(--radius-card);box-shadow:var(--shadow-md);margin-bottom:18px;padding:28px}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.section-head>.btn{flex-shrink:0}.section-title{font-family:var(--font-display);letter-spacing:-.012em;font-variation-settings:"opsz" 96;margin:0;font-size:22px;font-weight:400}.section-desc{color:var(--ink-3);text-wrap:pretty;margin:4px 0 0;font-size:13.5px}.section-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:10.5px;display:block}.identity-row{align-items:flex-start;gap:22px;display:flex}.identity-avatar-col{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;display:flex}.identity-avatar-links{align-items:center;gap:6px;font-size:12.5px;display:flex}.identity-avatar-link{background:0 0;padding:0;font-size:12.5px}.identity-avatar-link:disabled{opacity:.5;cursor:not-allowed}.identity-avatar-link-sep{color:var(--ink-4);-webkit-user-select:none;user-select:none}.identity-body{flex-direction:column;flex:1;justify-content:center;min-width:0;min-height:76px;display:flex}.identity-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.identity-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-variation-settings:"opsz" 96;word-break:break-word;font-size:26px;font-weight:500;line-height:1.15}.identity-name-empty{color:var(--ink-3);font-style:italic;font-weight:400}.identity-edit-inline{border-radius:var(--radius-pill);width:30px;height:30px;color:var(--ink-3);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.identity-edit-inline:hover:not(:disabled){background:var(--bg-sunk);color:var(--ink)}.identity-edit-inline:disabled{opacity:.5;cursor:not-allowed}.identity-form{margin-top:0}.identity-form-grid{gap:var(--density-gap);grid-template-columns:1fr 1fr;display:grid}.identity-form-actions{align-items:center;gap:10px;margin-top:16px;display:flex}@media (width<=640px){.identity-row{flex-wrap:wrap;gap:16px}.identity-body{flex-basis:100%;min-height:0}.identity-form-grid{grid-template-columns:1fr}}.avatar{background:linear-gradient(135deg, var(--accent), oklch(70% .1 230));width:76px;height:76px;color:var(--accent-ink);font-family:var(--font-display);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;font-size:28px;font-weight:500;display:flex;position:relative;overflow:hidden}.avatar:after{content:"";background:radial-gradient(circle at 30% 30%,oklch(100% 0 0/.3),#0000 50%);position:absolute;inset:0}.ident-row{border-bottom:1px solid var(--line-2);align-items:center;gap:16px;padding:18px 0;display:flex}.ident-row:last-child{border-bottom:none}.ident-icon{background:var(--bg-sunk);width:38px;height:38px;color:var(--ink-2);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ident-icon svg{width:18px;height:18px}.ident-body{flex:1;min-width:0}.ident-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;display:block}.ident-value{color:var(--ink);word-break:break-all;margin-top:2px;font-size:15px;font-weight:500}.ident-actions{flex-shrink:0;gap:6px;display:flex}.pill{font-size:11px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--bg-sunk);color:var(--ink-2);align-items:center;gap:6px;padding:3px 9px 3px 8px;font-weight:500;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.pill.success{color:var(--success);background:oklch(from var(--success) .96 .03 h)}[data-theme=dark] .pill.success{background:oklch(from var(--success) .22 .05 h)}.pill.warning{color:var(--warning);background:oklch(from var(--warning) .96 .03 h)}[data-theme=dark] .pill.warning{background:oklch(from var(--warning) .22 .05 h)}.pill.danger{color:var(--danger);background:oklch(from var(--danger) .96 .04 h)}[data-theme=dark] .pill.danger{background:oklch(from var(--danger) .22 .06 h)}.session{border-bottom:1px solid var(--line-2);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 0;display:grid}.session:last-child{border-bottom:none}.session-icon{background:var(--bg-sunk);width:38px;height:38px;color:var(--ink-2);border-radius:12px;justify-content:center;align-items:center;display:flex}.session-icon svg{width:20px;height:20px}.session-meta{font-family:var(--font-mono);color:var(--ink-3);margin-top:4px;font-size:11.5px}.session-name{color:var(--ink);align-items:center;gap:8px;font-size:14.5px;font-weight:500;display:flex}.danger-zone{border:1px dashed oklch(from var(--danger) l c h / .4);background:oklch(from var(--danger) .985 .005 h);border-radius:var(--radius-card)}[data-theme=dark] .danger-zone{background:oklch(from var(--danger) .16 .012 h)}.stepper{justify-content:center;align-items:center;gap:8px;margin-bottom:24px;display:flex}.step-dot{width:22px;height:22px;font-family:var(--font-mono);background:var(--bg-sunk);color:var(--ink-3);transition:all var(--t-base) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.step-dot.active{background:var(--ink);color:var(--bg)}.step-dot.done{background:var(--accent);color:var(--accent-ink)}.step-line{background:var(--line);width:28px;height:1px}.step-line.done{background:var(--accent)}.client-strip{background:var(--bg-sunk);border-radius:var(--radius-card);color:var(--ink-3);justify-content:center;align-items:center;gap:14px;margin-bottom:26px;padding:14px 18px;font-size:13px;display:flex}.client-logo{background:var(--ink);width:28px;height:28px;color:var(--bg);font-family:var(--font-display);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:500;display:flex}.client-name{color:var(--ink);font-weight:500}.client-arrow{color:var(--ink-4)}.switch-row{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.switch-row:last-child{border-bottom:none}.switch-row .label{font-size:14px;font-weight:500}.switch-row .desc{color:var(--ink-3);margin-top:2px;font-size:12.5px}.swt{background:var(--line);border-radius:var(--radius-pill);width:38px;height:22px;transition:background var(--t-base) var(--ease);cursor:pointer;flex-shrink:0;position:relative}.swt:after{content:"";background:var(--paper);width:18px;height:18px;box-shadow:var(--shadow-sm);transition:left var(--t-base) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.swt.on{background:var(--accent)}.swt.on:after{left:18px}.codechip{font-family:var(--font-mono);background:var(--bg-sunk);color:var(--ink-2);border-radius:6px;padding:2px 8px;font-size:12px}.scrollshade{position:relative}.method-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-input);text-align:left;cursor:pointer;width:100%;transition:transform var(--t-base) var(--ease), border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), background var(--t-base) var(--ease);align-items:center;gap:14px;padding:14px 16px;display:flex}.method-card:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.method-card:active:not(:disabled){transform:scale(.99)}.method-card:disabled{opacity:.55;cursor:not-allowed}.method-card:disabled .method-arrow{opacity:.4}.method-icon{background:var(--bg-sunk);width:40px;height:40px;color:var(--ink-2);transition:background var(--t-base) var(--ease), color var(--t-base) var(--ease);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.method-icon svg{width:18px;height:18px}.method-card:hover:not(:disabled) .method-icon{background:var(--accent-soft);color:var(--accent-ink)}[data-theme=dark] .method-card:hover .method-icon{color:var(--accent)}.method-body{flex:1;min-width:0}.method-name{color:var(--ink);align-items:center;gap:8px;font-size:14.5px;font-weight:500;display:flex}.method-desc{color:var(--ink-3);text-wrap:pretty;margin-top:2px;font-size:12.5px}.method-arrow{color:var(--ink-4);transition:color var(--t-base) var(--ease), transform var(--t-base) var(--ease);flex-shrink:0;display:inline-flex}.method-arrow svg{width:16px;height:16px}.method-card:hover:not(:disabled) .method-arrow{color:var(--accent);transform:translate(3px)}.method-card.muted{border-style:dashed;border-color:#0000;border-color:var(--line-2);background:0 0}.method-card.muted .method-icon{box-shadow:inset 0 0 0 1px var(--line-2);background:0 0}.method-card.muted:hover{background:var(--paper);border-style:solid;border-color:var(--accent)}.recovery-input{justify-content:center;align-items:center;gap:10px;margin:4px 0 6px;display:flex}.recovery-input input{text-align:center;width:110px;height:56px;font-family:var(--font-mono);letter-spacing:.18em;background:var(--bg-sunk);border-radius:var(--radius-input);color:var(--ink);text-transform:uppercase;transition:background var(--t-base) var(--ease), border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), transform var(--t-base) var(--ease);border:1px solid #0000;outline:none;font-size:22px;font-weight:500}.recovery-input input:focus{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 4px var(--accent-soft)}.recovery-input input:not(:placeholder-shown){background:var(--paper);border-color:var(--line)}.recovery-input .dash{background:var(--ink-4);border-radius:2px;width:8px;height:1.5px}.recovery-input.error input{border-color:var(--danger);background:oklch(from var(--danger) .97 .02 h)}[data-theme=dark] .recovery-input.error input{background:oklch(from var(--danger) .22 .05 h)}.recovery-input.shake{animation:shake .36s var(--ease)}@media (width<=480px){.recovery-input input{letter-spacing:.14em;width:90px;font-size:18px}}.divider-soft{color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;margin:14px 0 6px;font-size:10.5px;display:flex}.divider-soft:before,.divider-soft:after{content:"";background:linear-gradient(90deg, transparent, var(--line-2), transparent);flex:1;height:1px}.remember-row{background:var(--bg-sunk);border-radius:var(--radius-input);color:var(--ink-2);transition:background var(--t-base) var(--ease);justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:14px 16px;font-size:13.5px;display:flex}.remember-row:hover{background:oklch(from var(--bg-sunk) calc(l - .01) c h)}[data-theme=dark] .remember-row:hover{background:oklch(from var(--bg-sunk) calc(l + .02) c h)}.remember-row .label{flex-direction:column;gap:2px;display:flex}.remember-row .desc{color:var(--ink-3);font-size:12px}.waiting-icon{background:var(--accent-soft);width:76px;height:76px;color:var(--accent-ink);border-radius:50%;place-items:center;margin:0 auto 22px;display:grid;position:relative}[data-theme=dark] .waiting-icon{color:var(--accent)}.waiting-icon svg{z-index:1;width:32px;height:32px;position:relative}.waiting-icon:before,.waiting-icon:after{content:"";border:1.5px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;animation:2.4s cubic-bezier(.22,.61,.36,1) infinite waitingPulse;position:absolute;inset:-3px}.waiting-icon:after{animation-delay:1.2s}@keyframes waitingPulse{0%{opacity:.45;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}[data-anim=off] .waiting-icon:before,[data-anim=off] .waiting-icon:after{animation:none}.dots-anim{align-items:center;gap:3px;margin-left:4px;display:inline-flex}.dots-anim span{opacity:.3;background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite dotPulse;display:inline-block}.dots-anim span:nth-child(2){animation-delay:.16s}.dots-anim span:nth-child(3){animation-delay:.32s}@keyframes dotPulse{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}.wait-status-row{color:var(--ink-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:-4px 0 18px;font-size:13.5px;display:flex}.wait-status-row .live-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block;position:relative}.wait-status-row .live-dot:after{content:"";background:var(--accent);opacity:0;border-radius:50%;animation:1.6s ease-in-out infinite liveDotPulse;position:absolute;inset:-3px}@keyframes liveDotPulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:.4;transform:scale(1.4)}}[data-anim=off] .wait-status-row .live-dot:after{animation:none}.wait-ttl{font-family:var(--font-mono);color:var(--ink-3);background:var(--bg-sunk);font-variant-numeric:tabular-nums;letter-spacing:.04em;border-radius:6px;padding:3px 8px;font-size:12px}.conn-fallback{font-family:var(--font-mono);color:var(--warning);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.terminal-icon{border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 22px;display:grid}.terminal-icon.denied{background:oklch(from var(--danger) .96 .04 h);color:var(--danger)}[data-theme=dark] .terminal-icon.denied{background:oklch(from var(--danger) .22 .06 h)}.terminal-icon.expired{background:var(--bg-sunk);color:var(--ink-3)}.terminal-icon.success{background:var(--accent-soft);color:var(--accent-ink);animation:successPop .5s var(--ease-bounce) both}[data-theme=dark] .terminal-icon.success{color:var(--accent)}.terminal-icon svg{width:32px;height:32px}@keyframes successPop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.phase-enter{animation:phaseEnter .42s var(--ease) both}@keyframes phaseEnter{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.topbar{padding:16px 18px}.scene{padding:12px 16px 60px}.card{padding:26px 22px}.section{padding:22px}.profile-head h1{font-size:32px}.section-head{flex-direction:column;gap:12px}.section-head .btn{white-space:nowrap;align-self:flex-start}.ident-row{grid-template-columns:38px 1fr;grid-template-areas:"icon body"".actions";align-items:start;gap:10px 16px;display:grid}.ident-icon{grid-area:icon;align-self:center}.ident-body{grid-area:body}.ident-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-start}.ident-actions .btn{white-space:nowrap}.factor-card{flex-wrap:wrap}.factor-card-actions{flex-basis:100%;justify-content:flex-start;padding-left:52px}.session{grid-template-columns:1fr}.session-icon,.session-placeholder{display:none}}.admin-panel-entry{background:var(--accent-soft);border-radius:var(--radius-input);border:1px solid color-mix(in oklch, var(--accent) 22%, transparent);color:inherit;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);align-items:center;gap:16px;padding:16px 20px;text-decoration:none;display:flex}.admin-panel-entry:hover{background:color-mix(in oklch, var(--accent) 16%, var(--paper));border-color:color-mix(in oklch, var(--accent) 40%, transparent)}.admin-panel-entry-icon{background:var(--accent);color:oklch(99% .005 75);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.admin-panel-entry-body{flex:1;min-width:0}.admin-panel-entry-title{color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:500}.admin-panel-entry-sub{color:var(--ink-3);font-size:12.5px}dialog.modal{background:var(--paper);color:var(--ink);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);border:none;width:100%;max-width:min(520px,100vw - 32px);max-height:calc(100vh - 32px);margin:auto;padding:0;position:fixed;inset:0;overflow:hidden}dialog.modal.modal-wide{max-width:min(640px,100vw - 32px)}dialog.modal.modal-xl{max-width:min(960px,100vw - 32px)}dialog.modal[open]{animation:modalIn var(--t-base) var(--ease)}dialog.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:backdropIn var(--t-base) var(--ease);background:oklch(15% .045 280/.4)}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:calc(100vh - 32px);padding:36px;overflow-y:auto}.modal-body::-webkit-scrollbar{width:5px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.modal-wide .modal-body,.modal-xl .modal-body{padding:40px 44px}.modal-head{text-align:center;margin-bottom:24px}.modal-head h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-variation-settings:"opsz" 96, "SOFT" 50;margin:0 0 8px;font-size:clamp(24px,3vw,30px);font-weight:400;line-height:1.1}.modal-head h2 .accent{color:var(--accent);font-style:italic}.modal-head p{color:var(--ink-3);text-wrap:pretty;margin:0;font-size:14.5px}.modal-foot{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.modal-foot.center{justify-content:center}.modal-foot.stacked{flex-direction:column}.modal-close{width:32px;height:32px;color:var(--ink-3);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);z-index:1;background:0 0;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.modal-close:hover{background:var(--bg-sunk);color:var(--ink)}.modal-close svg{width:16px;height:16px}.codes-grid{font-family:var(--font-mono);background:var(--bg-sunk);letter-spacing:.02em;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:16px;padding:18px 22px;font-size:14px;display:grid}.codes-grid .code{color:var(--ink);-webkit-user-select:all;user-select:all;font-weight:500}.codes-grid .code.used{color:var(--ink-4);text-decoration:line-through}.codes-actions{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.codes-confirm{border-top:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:10px;padding:14px 0;font-size:13.5px;display:flex}.codes-confirm input[type=checkbox]{appearance:none;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;width:18px;height:18px;transition:all var(--t-fast) var(--ease);border-radius:5px;flex-shrink:0;margin-top:1px;position:relative}.codes-confirm input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.codes-confirm input[type=checkbox]:checked:after{content:"";background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") 50%/contain no-repeat;position:absolute;inset:3px}@media print{body *{visibility:hidden}.codes-print,.codes-print *{visibility:visible}.codes-print{color:#000;background:#fff;padding:40px;position:absolute;inset:0}}.banner{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);animation:fadeUp var(--t-slow) var(--ease) both;align-items:flex-start;gap:14px;margin-bottom:12px;padding:14px 18px;display:flex;position:relative}.banner-ic{background:var(--bg-sunk);width:36px;height:36px;color:var(--ink-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.banner-ic svg{width:18px;height:18px}.banner-body{flex:1;min-width:0}.banner-title{color:var(--ink);margin:0 0 2px;font-size:14px;font-weight:500}.banner-desc{color:var(--ink-3);text-wrap:pretty;margin:0;font-size:13px;line-height:1.5}.banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.banner-close{width:26px;height:26px;color:var(--ink-3);border-radius:6px;place-items:center;font-size:14px;line-height:1;display:grid;position:absolute;top:8px;right:8px}.banner-close:hover{background:var(--bg-sunk);color:var(--ink)}.banner.warning{border-color:oklch(from var(--warning) l c h / .4);background:oklch(from var(--warning) .985 .02 h)}[data-theme=dark] .banner.warning{background:oklch(from var(--warning) .18 .04 h)}.banner.warning .banner-ic{background:oklch(from var(--warning) .93 .06 h);color:var(--warning)}[data-theme=dark] .banner.warning .banner-ic{background:oklch(from var(--warning) .25 .05 h)}.banner.danger{border-color:oklch(from var(--danger) l c h / .4);background:oklch(from var(--danger) .985 .01 h)}[data-theme=dark] .banner.danger{background:oklch(from var(--danger) .18 .04 h)}.banner.danger .banner-ic{background:oklch(from var(--danger) .94 .06 h);color:var(--danger)}[data-theme=dark] .banner.danger .banner-ic{background:oklch(from var(--danger) .25 .05 h)}.banner.info{border-color:var(--accent-soft);background:oklch(from var(--accent) .985 .02 h)}[data-theme=dark] .banner.info{background:oklch(from var(--accent) .2 .04 h)}.banner.info .banner-ic{background:var(--accent-soft);color:var(--accent-ink)}[data-theme=dark] .banner.info .banner-ic{color:var(--accent)}[data-sonner-toaster]{--normal-bg:var(--paper);--normal-text:var(--ink);--normal-border:var(--line);--success-bg:var(--paper);--success-text:var(--ink);--success-border:oklch(from var(--success) l c h / .4);--error-bg:var(--paper);--error-text:var(--ink);--error-border:oklch(from var(--danger) l c h / .4);font-family:var(--font-ui)!important}[data-sonner-toast]{box-shadow:var(--shadow-lg)!important;border-radius:14px!important;font-size:13.5px!important}.sk{--sk-base:oklch(from var(--bg-sunk) calc(l - .005) c h);--sk-shine:oklch(from var(--paper) calc(l + .005) c h);background:linear-gradient(90deg, var(--sk-base) 0%, var(--sk-shine) 50%, var(--sk-base) 100%);opacity:0;animation:1.6s ease-in-out infinite skShimmer;animation:skShimmer 1.6s ease-in-out infinite, skFadeIn .32s var(--ease) forwards;background-size:200% 100%;border-radius:8px;display:inline-block}[data-theme=dark] .sk{--sk-base:oklch(from var(--bg-sunk) calc(l + .02) c h);--sk-shine:oklch(from var(--paper) calc(l + .04) c h)}@keyframes skShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skFadeIn{to{opacity:1}}.sk-stagger>*{animation-delay:calc(var(--i,0) * 60ms)}.sk-stagger>:first-child{--i:0}.sk-stagger>:nth-child(2){--i:1}.sk-stagger>:nth-child(3){--i:2}.sk-stagger>:nth-child(4){--i:3}.sk-stagger>:nth-child(5){--i:4}.sk-stagger>:nth-child(6){--i:5}.sk-stagger>:nth-child(7){--i:6}.sk-stagger>:nth-child(8){--i:7}.sk-stagger>:nth-child(n+9){--i:8}.sk-line{border-radius:6px;height:1em}.sk-line-sm{border-radius:5px;height:.85em}.sk-line-lg{border-radius:8px;height:1.4em}.sk-circle{border-radius:50%;flex-shrink:0}.sk-rect{border-radius:12px}.admin-shell{background:var(--bg);z-index:2;grid-template-columns:240px 1fr;min-height:100vh;display:grid;position:relative}.admin-side{border-right:1px solid var(--line);background:var(--bg-elev);flex-direction:column;gap:18px;height:100vh;padding:22px 16px 16px;display:flex;position:sticky;top:0}.admin-side-head{align-items:center;gap:10px;padding:0 6px 4px;display:flex}.admin-side-tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-sunk);border-radius:5px;padding:3px 8px;font-size:10.5px;font-weight:500}.admin-nav{flex-direction:column;gap:2px;margin-top:4px;display:flex}.admin-nav-item{color:var(--ink-2);text-align:left;width:100%;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border-radius:10px;align-items:center;gap:11px;padding:9px 10px;font-size:14px;font-weight:450;display:flex}.admin-nav-item:hover{background:var(--bg-sunk);color:var(--ink)}.admin-nav-item.active{background:var(--accent-soft);color:var(--ink)}.admin-nav-item.active .admin-nav-ic{color:var(--accent)}[data-theme=dark] .admin-nav-item.active{color:var(--ink);background:oklch(from var(--accent) .28 c h / .18)}[data-theme=dark] .admin-nav-item.active .admin-nav-ic{color:var(--accent)}.admin-nav-ic{display:inline-flex}.admin-nav-ic svg{opacity:.85;width:16px;height:16px}.admin-side-foot{margin-top:auto}.admin-org{background:var(--bg-sunk);cursor:pointer;transition:background var(--t-fast) var(--ease);border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.admin-org:hover{background:var(--bg)}.admin-org-mark{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);font-family:var(--font-display);border-radius:8px;flex-shrink:0;place-items:center;font-size:14px;font-weight:500;display:grid}.admin-org-body{flex:1;min-width:0}.admin-org-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.admin-org-meta{color:var(--ink-3);font-size:11.5px;font-family:var(--font-mono)}.admin-org-caret{color:var(--ink-3)}.admin-org-caret svg{width:14px;height:14px}.admin-main{flex-direction:column;min-width:0;display:flex}.admin-topbar{border-bottom:1px solid var(--line);background:oklch(from var(--bg) l c h / .85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;align-items:center;gap:14px;min-height:64px;padding:14px 32px;display:flex;position:sticky;top:0}.admin-crumbs{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.admin-crumb{color:var(--ink-3);background:0 0;padding:4px 0;font-size:13.5px}.admin-crumb.is-link{color:var(--ink-2);cursor:pointer;transition:color var(--t-fast) var(--ease)}.admin-crumb.is-link:hover{color:var(--ink)}.admin-crumb.is-current{color:var(--ink);font-weight:500}.admin-crumb-sep{color:var(--ink-4);font-size:13px}.admin-topbar-r{align-items:center;gap:8px;display:flex}.admin-cmd{background:var(--bg-sunk);height:36px;color:var(--ink-3);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border-radius:10px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:13px;display:flex}.admin-cmd:hover{background:var(--paper);color:var(--ink)}.admin-cmd svg{opacity:.7;width:14px;height:14px}.admin-cmd kbd{font-family:var(--font-mono);background:var(--paper);border:1px solid var(--line);color:var(--ink-3);border-radius:4px;padding:2px 6px;font-size:10.5px}.admin-me-av{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.admin-page{padding:0}.admin-content{width:100%;max-width:1380px;animation:fadeUp .5s var(--ease);margin:0 auto;padding:36px 36px 80px}.admin-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.admin-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:500;display:flex}.admin-h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 8px;font-size:clamp(28px,3.6vw,40px);font-weight:400;line-height:1.05}.admin-lede{color:var(--ink-2);max-width:580px;margin:0;font-size:15px;line-height:1.55}.admin-page-actions{align-items:center;gap:8px;display:flex}.admin-twocol{grid-template-columns:200px minmax(0,1fr);gap:24px;display:grid}.admin-rail{flex-direction:column;align-self:start;gap:18px;display:flex;position:sticky;top:84px}.admin-board{flex-direction:column;gap:18px;min-width:0;display:flex}.facet{padding:4px 0}.facet-title{font-size:11px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-weight:500}.facet-list{flex-direction:column;gap:1px;display:flex}.facet-row{color:var(--ink-2);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 8px;font-size:13.5px;display:flex}.facet-row:hover{background:var(--bg-sunk);color:var(--ink)}.facet-row.on{color:var(--ink)}.facet-check{border:1.5px solid var(--line);background:var(--paper);width:16px;height:16px;transition:all var(--t-fast) var(--ease);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.facet-row.on .facet-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}[data-theme=dark] .facet-row.on .facet-check{color:var(--bg)}.facet-row.on .facet-check svg{width:10px;height:10px}.facet-label{flex:1}.facet-count{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.rail-card{background:var(--bg-sunk);border-radius:14px;padding:14px 16px}.rail-card-h{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:11px;font-weight:500}.rail-card-b{color:var(--ink-2);font-size:13px;line-height:1.5}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-search{flex:1;min-width:240px;max-width:420px;position:relative}.admin-search input{background:var(--paper);border:1px solid var(--line);width:100%;height:40px;color:var(--ink);transition:border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);border-radius:12px;outline:none;padding:0 36px 0 40px;font-size:14px}.admin-search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.admin-search-ic{color:var(--ink-3);pointer-events:none;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.admin-search-ic svg{width:16px;height:16px}.admin-search-clear{width:24px;height:24px;color:var(--ink-3);border-radius:6px;place-items:center;font-size:18px;line-height:1;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.admin-search-clear:hover{color:var(--ink);background:var(--bg-sunk)}.admin-count{font-family:var(--font-mono);color:var(--ink-3);margin-left:auto;font-size:12px}.admin-count b{color:var(--ink);font-weight:500}.admin-table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.admin-table{border-collapse:collapse;table-layout:auto;width:100%}.admin-table th{text-align:left;font-size:11.5px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);background:var(--bg-elev);white-space:nowrap;padding:12px 14px;font-weight:500}.admin-table th.r{text-align:right}.sort-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--t-fast) var(--ease)}.sort-th:hover{color:var(--ink)}.sort-th>span:first-child{display:inline-block}.sort-ic{color:var(--ink-4);vertical-align:middle;transition:color var(--t-fast) var(--ease);align-items:center;margin-left:6px;display:inline-flex}.sort-th.active .sort-ic{color:var(--accent)}.sort-ic.asc svg path:first-child,.sort-ic.desc svg path:last-child{stroke:currentColor}.admin-table tbody tr{border-bottom:1px solid var(--line-2);cursor:pointer;transition:background var(--t-fast) var(--ease)}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr:hover{background:var(--bg-sunk)}.admin-table td{color:var(--ink);vertical-align:middle;padding:12px 14px;font-size:14px}.admin-table td.r{text-align:right}.admin-table td.mono-cell,.mono-cell{font-family:var(--font-mono);color:var(--ink-2);font-size:12.5px}.user-cell{align-items:center;gap:12px;display:flex}.user-cell-body{min-width:0}.user-cell-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex;overflow:hidden}.user-cell-sub{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);margin-top:2px}.avi{font-family:var(--font-display);color:#fff;letter-spacing:0;border-radius:50%;flex-shrink:0;place-items:center;font-weight:500;display:grid}[data-theme=dark] .avi{color:var(--ink)}.role-tag{background:var(--bg-sunk);color:var(--ink-2);font-size:12.5px;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em;border-radius:6px;align-items:center;padding:4px 10px;display:inline-flex}.env-tag{font-family:var(--font-mono);letter-spacing:.04em;background:var(--bg-sunk);color:var(--ink-2);border-radius:5px;padding:3px 8px;font-size:11px;font-weight:500}.env-tag.env-production{color:var(--accent-ink);background:var(--accent-soft)}[data-theme=dark] .env-tag.env-production{color:var(--accent)}.hi{background:oklch(from var(--accent) .92 .13 h);color:var(--accent-ink);border-radius:3px;padding:0 2px;font-weight:500}[data-theme=dark] .hi{background:oklch(from var(--accent) .32 c h / .5);color:var(--ink)}.action-menu{display:inline-block;position:relative}.action-btn{width:32px;height:32px;color:var(--ink-3);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border-radius:8px;place-items:center;display:grid}.action-btn:hover,.action-btn.active{background:var(--bg-sunk);color:var(--ink)}.action-btn svg{width:16px;height:16px}.action-pop{background:var(--paper);border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow-lg);z-index:9999;animation:menuPop .18s var(--ease);border-radius:12px;padding:6px}@keyframes menuPop{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.action-item{width:100%;color:var(--ink);text-align:left;transition:background var(--t-fast) var(--ease);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.action-item:hover{background:var(--bg-sunk)}.action-item.is-danger{color:var(--danger)}.action-item.is-danger:hover{background:oklch(from var(--danger) .96 .04 h)}[data-theme=dark] .action-item.is-danger:hover{background:oklch(from var(--danger) .2 .05 h)}.action-ic{display:inline-flex}.action-ic svg{opacity:.85;width:14px;height:14px}.action-kbd{font-family:var(--font-mono);color:var(--ink-3);margin-left:auto;font-size:10.5px}.action-div{background:var(--line-2);height:1px;margin:4px 6px}.empty{text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:16px;padding:60px 20px}.empty-ic{background:var(--bg-sunk);width:48px;height:48px;color:var(--ink-3);border-radius:50%;place-items:center;margin-bottom:14px;display:inline-grid}.empty-ic svg{width:20px;height:20px}.empty-title{font-family:var(--font-display);color:var(--ink);margin-bottom:6px;font-size:22px;font-weight:400}.empty-desc{color:var(--ink-3);font-size:13.5px}.back-link{color:var(--ink-3);transition:color var(--t-fast) var(--ease);background:0 0;align-items:center;gap:6px;margin-bottom:18px;padding:6px 0;font-size:13px;display:inline-flex}.back-link:hover{color:var(--ink)}.admin-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.admin-detail-l{align-items:flex-start;gap:20px;display:flex}.admin-detail-r{align-items:center;gap:8px;display:flex}.admin-detail-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.meta-sep{color:var(--ink-4)}.admin-tabs{margin-bottom:24px}.admin-grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.kv{gap:14px;margin:0;display:grid}.kv>div{border-bottom:1px solid var(--line-2);grid-template-columns:160px 1fr;align-items:baseline;gap:18px;padding-bottom:12px;display:grid}.kv>div:last-child{border-bottom:none;padding-bottom:0}.kv dt{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px;font-weight:500}.kv dd{color:var(--ink);margin:0;font-size:14px}.key-row{font-family:var(--font-mono);align-items:center;gap:8px;font-size:12.5px;display:flex}.key-row code{background:var(--bg-sunk);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;flex:1;padding:8px 12px;overflow:hidden}.key-act{width:32px;height:32px;color:var(--ink-3);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border-radius:8px;place-items:center;display:grid}.key-act:hover{background:var(--bg-sunk);color:var(--ink)}.key-act svg{width:14px;height:14px}.event-row{border-bottom:1px solid var(--line-2);grid-template-columns:110px 1fr auto;align-items:baseline;gap:16px;padding:14px 0;font-size:13.5px;display:grid}.event-row:last-child{border-bottom:none}.event-row time{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}.event-row .what{color:var(--ink)}.event-row .what b{font-weight:500}.event-row .where{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}.session-row{border-bottom:1px solid var(--line-2);grid-template-columns:32px 1fr auto;align-items:center;gap:14px;padding:14px 0;display:grid}.session-row:last-child{border-bottom:none}.session-row .si{color:var(--ink-3)}.session-row .si svg{width:18px;height:18px}.session-row .body .a{color:var(--ink);font-size:14px;font-weight:500}.session-row .body .b{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);margin-top:2px}.client-mark{width:36px;height:36px;color:var(--ink);font-family:var(--font-display);border-radius:9px;flex-shrink:0;place-items:center;font-size:16px;font-weight:500;display:grid}.client-mark-lg{border-radius:14px;width:56px;height:56px;font-size:22px}.scope-list{flex-wrap:wrap;gap:6px;display:flex}.scope-tag{font-family:var(--font-mono);background:var(--bg-sunk);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-size:12px}.hint-row{color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:flex}.hint-row svg{flex-shrink:0}.hint-warn{background:oklch(from var(--warning) .96 .04 h)}[data-theme=dark] .hint-warn{background:oklch(from var(--warning) .2 .05 h)}.hint-danger{background:oklch(from var(--danger) .97 .02 h)}[data-theme=dark] .hint-danger{background:oklch(from var(--danger) .2 .05 h)}.brand-preview{background:var(--bg-sunk);border-radius:14px;place-items:center;padding:24px;display:grid}.bp-card{background:var(--paper);width:280px;box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;gap:10px;padding:20px;display:flex}.bp-strip{border-bottom:1px solid var(--line-2);align-items:center;gap:8px;margin-bottom:6px;padding-bottom:8px;display:flex}.bp-strip .client-mark{border-radius:7px;width:28px;height:28px;font-size:13px}.bp-h{font-family:var(--font-display);font-size:22px;font-weight:400}.bp-input{background:var(--bg-sunk);border-radius:8px;height:36px}.bp-btn{text-align:center;color:#fff;border-radius:8px;padding:10px;font-size:13px;font-weight:500}.bulk-bar{background:var(--accent-soft);color:var(--accent-ink);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-size:13.5px;display:flex}[data-theme=dark] .bulk-bar{color:var(--ink);background:oklch(from var(--accent) .28 c h / .18)}.bulk-bar-actions{gap:6px;margin-left:auto;display:flex}@media (width<=960px){.admin-shell{grid-template-columns:1fr}.admin-side{display:none}.admin-twocol{grid-template-columns:1fr}.admin-rail{position:static}.admin-grid-2{grid-template-columns:1fr}.admin-content{padding:22px 18px 60px}.admin-topbar{padding:12px 18px}}.client-form-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:28px;display:grid}@media (width<=720px){.client-form-grid{grid-template-columns:1fr}.client-form-grid [data-preview]{order:-1;position:static!important}}.catalog-shell{z-index:1;background:0 0;flex-direction:column;height:100vh;display:flex;position:relative}.catalog-topbar{background:var(--paper);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.catalog-topbar-left{align-items:center;display:flex}.catalog-topbar-brand{-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.catalog-topbar-brand-mark{flex-shrink:0;align-items:center;display:inline-flex}.catalog-topbar-brand-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-variation-settings:"opsz" 144, "SOFT" 100;font-size:18px;font-style:italic;font-weight:500}.catalog-topbar-brand-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600;line-height:1.6}.catalog-topbar-right{align-items:center;gap:12px;display:flex}.catalog-shell-body{flex:1;min-height:0;display:flex}.catalog-sidebar{background:var(--bg-elev);border-right:1px solid var(--line);scrollbar-width:none;flex-shrink:0;width:260px;padding:12px;overflow-y:auto}.catalog-sidebar::-webkit-scrollbar{display:none}.catalog-sidebar-inner{flex-direction:column;flex:1;min-height:100%;display:flex}.catalog-main{flex:1;min-width:0;padding:24px 32px 80px;overflow-y:auto}.catalog-sidebar-group{margin-bottom:12px}.catalog-sidebar-group-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:4px 12px;font-size:10.5px}.catalog-sidebar-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.catalog-sidebar-item{border-radius:var(--radius-input);color:var(--ink-2);transition:background var(--t-base) var(--ease), color var(--t-base) var(--ease);align-items:center;gap:10px;padding:7px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.catalog-sidebar-item:hover{background:var(--bg-sunk);color:var(--ink)}.catalog-sidebar-item.is-active{background:var(--accent-soft);color:var(--ink)}.catalog-sidebar-item.is-active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.catalog-sidebar-footer{border-top:1px solid var(--line);margin-top:auto;padding:10px 4px 4px}.catalog-sidebar-help{border-radius:var(--radius-input);color:var(--ink-3);transition:color var(--t-base) var(--ease), background var(--t-base) var(--ease);align-items:center;gap:10px;padding:10px 12px;font-size:13px;text-decoration:none;display:flex}.catalog-sidebar-help:hover{color:var(--accent);background:var(--bg-sunk)}.catalog-page-header{z-index:5;background:color-mix(in oklch, var(--bg) 72%, transparent);-webkit-backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid color-mix(in oklch, var(--line) 60%, transparent);margin-bottom:22px;padding:16px 0 14px;position:sticky;top:0}.catalog-breadcrumb{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:11px}.catalog-breadcrumb a{color:inherit;transition:border-color var(--t-base) var(--ease);border-bottom:1px dashed #0000;text-decoration:none}.catalog-breadcrumb a:hover{border-bottom-color:var(--ink-3)}.catalog-breadcrumb-sep{opacity:.5}.catalog-page-header-row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.catalog-page-header-text{min-width:0}.catalog-page-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(26px,3.2vw,34px);font-weight:400;line-height:1.15}.catalog-page-lede{color:var(--ink-3);max-width:60ch;margin:6px 0 0;font-size:14.5px}.catalog-page-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.catalog-user-menu{position:relative}.catalog-user-menu-trigger{border-radius:var(--radius-pill);cursor:pointer;color:var(--ink-2);transition:background var(--t-base) var(--ease), border-color var(--t-base) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:6px 10px 6px 6px;font-family:inherit;font-size:13.5px;display:flex}.catalog-user-menu-trigger:hover{background:var(--bg-sunk);border-color:var(--line)}.catalog-user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.catalog-user-menu-dropdown{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-input);min-width:180px;box-shadow:var(--shadow-md);z-index:50;animation:fadeUp var(--t-fast) var(--ease);margin-top:6px;padding:4px;position:absolute;top:100%;right:0}.catalog-user-menu-item{border-radius:var(--radius-input);text-align:left;width:100%;color:var(--ink-2);cursor:pointer;transition:background var(--t-base) var(--ease), color var(--t-base) var(--ease);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.catalog-user-menu-item:hover:not(:disabled){background:var(--bg-sunk);color:var(--ink)}.catalog-user-menu-item:disabled{opacity:.6;cursor:not-allowed}.catalog-stepup-pill{background:color-mix(in oklch, var(--warning) 18%, transparent);border:1px solid color-mix(in oklch, var(--warning) 45%, transparent);border-radius:var(--radius-pill);color:var(--ink-2);cursor:pointer;transition:background var(--t-base) var(--ease), transform var(--t-fast) var(--ease);align-items:center;gap:6px;padding:5px 12px;font-family:inherit;font-size:12.5px;display:inline-flex}.catalog-stepup-pill:hover{background:color-mix(in oklch, var(--warning) 28%, transparent)}.catalog-stepup-pill:active{transform:scale(.97)}.catalog-form-switch{border:1px solid var(--line);border-radius:var(--radius-input);background:var(--bg-elev);cursor:pointer;transition:border-color var(--t-base) var(--ease);grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:12px 14px;display:grid}.catalog-form-switch:hover{border-color:var(--ink-4)}.catalog-form-switch-label{color:var(--ink);font-size:14px;font-weight:500;line-height:1.3;display:block}.catalog-form-switch-desc{color:var(--ink-3);margin-top:3px;font-size:13px;line-height:1.45;display:block}.catalog-form-select,.catalog-form-textarea{width:100%;font-family:inherit}.catalog-form-select{appearance:none;background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius-input);height:36px;color:var(--ink);cursor:pointer;transition:border-color var(--t-base) var(--ease), background var(--t-base) var(--ease);background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px;outline:none;padding:0 32px 0 12px;font-size:14px}.catalog-form-select:hover{border-color:var(--ink-4)}.catalog-form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.catalog-form-textarea{resize:vertical;min-height:96px;padding-top:16px;padding-bottom:16px;line-height:1.5}.catalog-empty-hero{text-align:center;max-width:560px;margin:32px auto 0;padding:32px 24px}.catalog-empty-hero-icon{color:var(--ink-4);background:var(--bg-sunk);border-radius:var(--radius-card);justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:18px;display:inline-flex}.catalog-empty-hero-title{font-family:var(--font-display);color:var(--ink);margin:0 0 8px;font-size:22px;font-weight:400}.catalog-empty-hero-desc{color:var(--ink-3);margin:0 0 18px;font-size:14.5px;line-height:1.5}.catalog-empty-hero-teaching{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-input);text-align:left;color:var(--ink-2);margin-bottom:18px;padding:14px 16px;font-size:13.5px}.catalog-empty-hero-actions{align-items:center;gap:16px;display:inline-flex}.catalog-load-more{justify-content:center;align-items:center;gap:16px;padding:18px 0 8px;display:flex}.catalog-load-more-meta{color:var(--ink-3);font-size:13px;font-family:var(--font-mono)}.catalog-table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);overflow:clip}.catalog-table{border-collapse:collapse;width:100%;font-size:14px}.catalog-table thead th{background:var(--bg-elev);border-bottom:1px solid var(--line);text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:500;font-family:var(--font-mono);z-index:2;padding:12px 16px;position:sticky;top:96px}.catalog-table tbody tr{border-bottom:1px solid var(--line-2);transition:background var(--t-base) var(--ease)}.catalog-table tbody tr:last-child{border-bottom:0}.catalog-table tbody tr.is-clickable{cursor:pointer}.catalog-table tbody tr.is-clickable:hover{background:var(--bg-sunk)}.catalog-table tbody tr.catalog-table-row-clickable{cursor:pointer}.catalog-table tbody tr.catalog-table-row-clickable:hover{background:var(--bg-sunk)}.catalog-table tbody tr.catalog-table-row-clickable:focus-visible{outline:2px solid var(--accent,#3b6cff);outline-offset:-2px}.catalog-table td{color:var(--ink);vertical-align:middle;padding:14px 16px}.catalog-table-sort{color:inherit;font:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.catalog-table-sort:hover{color:var(--ink)}.catalog-table-sort-arrow{color:var(--accent)}.skeleton{background:var(--bg-sunk);border-radius:4px;animation:1.4s ease-in-out infinite skeletonShimmer;display:inline-block}@keyframes skeletonShimmer{0%,to{opacity:.7}50%{opacity:1}}.catalog-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;padding:0 0 18px;display:flex}.catalog-detail-tabs{margin-bottom:22px}.catalog-detail-tab-count{background:var(--bg-sunk);color:var(--ink-3);border-radius:var(--radius-pill);font-size:11.5px;font-family:var(--font-mono);margin-left:6px;padding:1px 8px}.tab.active .catalog-detail-tab-count{background:var(--accent-soft);color:var(--ink)}.catalog-detail-body{flex-direction:column;gap:18px;display:flex}.catalog-modal-title{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:24px;font-weight:400}.catalog-modal-sub{color:var(--ink-3);margin:0 0 18px;font-size:13.5px}.catalog-modal-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.catalog-modal-warning{background:color-mix(in oklch, var(--warning) 14%, transparent);border:1px solid color-mix(in oklch, var(--warning) 35%, transparent);border-radius:var(--radius-input);color:var(--ink);margin:18px 0 12px;padding:12px 14px;font-size:14px}.catalog-delete-refs{flex-direction:column;gap:14px;margin:14px 0 8px;display:flex}.catalog-delete-refs h3{font-size:12.5px;font-family:var(--font-mono);text-transform:uppercase;color:var(--ink-3);letter-spacing:.04em;margin:0 0 6px}.catalog-delete-refs ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.catalog-consequence-block{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-input);color:var(--ink-2);margin-top:18px;padding:14px 16px;font-size:13.5px}.catalog-consequence-block header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--warning);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:flex}.btn-danger{background:var(--danger);color:#fff;border:0}.btn-danger:hover:not(:disabled){filter:brightness(1.05)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.catalog-cascade-label{flex-direction:column;gap:6px;margin-top:8px;margin-left:32px;display:flex}.catalog-cascade-label-text{color:var(--ink);font-size:14px;font-weight:500;display:block}.catalog-cascade-desc{color:var(--ink-3);font-size:13px;line-height:1.45;display:block}.catalog-cascade-preview{color:var(--ink-2);font-size:13px;line-height:1.45;display:block}.catalog-secret-box{background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius-input);align-items:center;gap:10px;margin:18px 0 0;padding:12px 14px;display:flex}.catalog-secret-box code{font-family:var(--font-mono);word-break:break-all;-webkit-user-select:all;user-select:all;flex:1;font-size:13.5px}.catalog-secret-confirm{color:var(--ink);cursor:pointer;align-items:center;gap:8px;margin-top:18px;font-size:14px;display:flex}.catalog-diff{font-family:var(--font-mono);flex-direction:column;gap:16px;font-size:13px;display:flex}.catalog-diff h4{font-family:var(--font-ui);color:var(--ink-2);margin:0 0 8px;font-size:13px;font-weight:500}.catalog-diff ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.catalog-diff li{border-radius:var(--radius-input);align-items:center;gap:10px;padding:8px 12px;display:flex}.catalog-diff-added li{background:color-mix(in oklch, var(--success) 10%, transparent)}.catalog-diff-added .catalog-diff-marker{color:var(--success)}.catalog-diff-removed li{background:color-mix(in oklch, var(--danger) 10%, transparent)}.catalog-diff-removed .catalog-diff-marker{color:var(--danger)}.catalog-diff-kind{font-family:var(--font-ui);color:var(--ink-3);margin-left:auto;font-size:12px}.catalog-help-content p{color:var(--ink);margin:0 0 12px;line-height:1.55}.catalog-help-content p:last-child{margin-bottom:0}.catalog-help-content ul{margin:0 0 12px;padding-left:20px;line-height:1.55}.catalog-help-content li{margin-bottom:4px}.catalog-help-code{background:var(--bg-sunk);border-radius:var(--radius-input);font-family:var(--font-mono);margin:0 0 12px;padding:10px 12px;font-size:12.5px;overflow-x:auto}.catalog-help-example{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-input);align-items:center;gap:10px;margin:0 0 8px;padding:8px 12px;font-size:13.5px;display:flex}.catalog-help-example .codechip{flex-shrink:0}.catalog-help-callout{border-left:2px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-input) var(--radius-input) 0;margin:0 0 12px;padding:10px 14px;font-size:13.5px}.catalog-help-callout.is-warning{border-left-color:var(--warning);background:color-mix(in oklch, var(--warning) 14%, transparent)}.catalog-term{border-bottom:1px dashed var(--ink-3);cursor:help;color:inherit;text-decoration:none}.catalog-help-popover-host{display:inline-block;position:relative}.catalog-help-popover-trigger{font:inherit;color:inherit;cursor:help;background:0 0;border:0;padding:0}.catalog-help-popover-bubble{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-input);box-shadow:var(--shadow-md);color:var(--ink);z-index:50;animation:fadeUp var(--t-fast) var(--ease);padding:12px 14px;font-size:13px;position:absolute;top:calc(100% + 8px)}.catalog-help-popover-bubble.is-align-start{left:0}.catalog-help-popover-bubble.is-align-center{left:50%;transform:translate(-50%)}.catalog-help-popover-bubble.is-align-end{right:0}.catalog-help-popover-title{color:var(--ink);margin-bottom:4px;font-size:13.5px;font-weight:500}.catalog-help-popover-short{color:var(--ink-3);margin-bottom:8px;font-size:13px;line-height:1.4}.catalog-help-btn{border:1px solid var(--line);border-radius:var(--radius-pill);width:36px;height:36px;color:var(--ink-3);cursor:pointer;transition:color var(--t-base) var(--ease), background var(--t-base) var(--ease), border-color var(--t-base) var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.catalog-help-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.catalog-help-drawer-backdrop{background:color-mix(in oklch, var(--ink) 30%, transparent);z-index:60;animation:fadeUp var(--t-base) var(--ease);position:fixed;inset:0}.catalog-help-drawer{background:var(--paper);border-left:1px solid var(--line);width:min(480px,100vw);box-shadow:var(--shadow-lg);z-index:61;animation:helpDrawerIn var(--t-slow) var(--ease);padding:24px 28px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@keyframes helpDrawerIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.catalog-help-drawer-close{border-radius:var(--radius-pill);width:32px;height:32px;color:var(--ink-3);cursor:pointer;transition:background var(--t-base) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:16px;right:16px}.catalog-help-drawer-close:hover{background:var(--bg-sunk);color:var(--ink)}.catalog-help-drawer-title{font-family:var(--font-display);color:var(--ink);margin:0 0 14px;font-size:22px;font-weight:400}.catalog-help-drawer-h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:22px 0 10px;font-size:11px}.catalog-help-drawer-terms{margin:0;padding:0;list-style:none}.catalog-help-drawer-terms li{border-bottom:1px solid var(--line-2);grid-template-columns:minmax(120px,auto) 1fr;gap:10px;padding:8px 0;font-size:13.5px;display:grid}.catalog-help-drawer-terms li:last-child{border-bottom:0}.catalog-flag-chip{background:var(--bg-sunk);border:1px solid var(--line);width:22px;height:22px;font-family:var(--font-mono);color:var(--ink-2);cursor:help;border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.catalog-code-preview{font-family:var(--font-mono);color:var(--ink-3);background:var(--bg-sunk);border-radius:var(--radius-input);flex-wrap:wrap;gap:4px;margin-top:4px;padding:8px 12px;font-size:12.5px;display:flex}.catalog-code-preview strong{color:var(--ink);font-weight:500}.catalog-help-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);margin-bottom:18px;padding:24px 28px}.catalog-help-section h2{font-family:var(--font-display);color:var(--ink);margin:0 0 14px;font-size:22px;font-weight:400}.catalog-help-section-terms{flex-direction:column;gap:24px;display:flex}.catalog-help-section-term h3{font-family:var(--font-display);margin:0 0 4px;scroll-margin-top:80px;font-size:18px;font-weight:400}.catalog-help-section-short{color:var(--ink-3);margin:0 0 12px;font-size:14px;font-style:italic}.catalog-help-section-related{color:var(--ink-3);margin-top:10px;font-size:12.5px}.catalog-meta-dl{grid-template-columns:160px 1fr;gap:10px 18px;margin:0;font-size:14px;display:grid}.catalog-meta-dl dt{color:var(--ink-3);font-size:13px}.catalog-meta-dl dd{color:var(--ink);margin:0}.catalog-refs-list{flex-direction:column;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.catalog-picker-grid{grid-template-columns:1fr 280px;gap:18px;margin-top:14px;display:grid}.catalog-picker-list{border:1px solid var(--line);border-radius:var(--radius-input);max-height:360px;margin:12px 0 0;padding:0;list-style:none;overflow-y:auto}.catalog-picker-item{border-bottom:1px solid var(--line-2);cursor:pointer;transition:background var(--t-base) var(--ease);grid-template-columns:24px auto 1fr;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;display:grid}.catalog-picker-item:last-child{border-bottom:0}.catalog-picker-item:hover{background:var(--bg-sunk)}.catalog-picker-item.is-in{color:var(--ink-4);cursor:not-allowed}.catalog-picker-item.is-selected{background:var(--accent-soft)}.catalog-picker-marker{font-family:var(--font-mono);color:var(--ink-3);text-align:center}.catalog-picker-item.is-selected .catalog-picker-marker{color:var(--accent)}.catalog-picker-desc{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.catalog-picker-right{background:var(--bg-elev);border-radius:var(--radius-input);border:1px solid var(--line);padding:14px}.catalog-picker-right h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:0 0 10px;font-size:11px}.catalog-picker-selected{flex-direction:column;gap:6px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.catalog-picker-selected li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-input);justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;display:flex}.catalog-picker-selected button{color:var(--ink-3);cursor:pointer;background:0 0;border:0}.catalog-picker-selected button:hover{color:var(--danger)}.catalog-composition-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.catalog-composition-row-add{background:color-mix(in oklch, var(--success) 10%, transparent)}.catalog-composition-row-remove td{color:var(--ink-4);text-decoration:line-through}.catalog-composition-row-remove{background:color-mix(in oklch, var(--danger) 10%, transparent)}.catalog-composition-savebar{background:var(--paper);border:1px solid var(--accent);border-radius:var(--radius-card);box-shadow:var(--shadow-md);animation:fadeUp var(--t-base) var(--ease);justify-content:space-between;align-items:center;margin-top:18px;padding:10px 16px;font-size:13.5px;display:flex;position:sticky;bottom:16px}.btn-icon-only{border:1px solid var(--line);border-radius:var(--radius-input);width:28px;height:28px;color:var(--ink-3);cursor:pointer;transition:all var(--t-base) var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.btn-icon-only:hover{border-color:var(--accent);color:var(--ink);background:var(--bg-sunk)}.catalog-meta-subhead{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-size:11px}.catalog-items-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.catalog-items-list li{padding:2px 0}.catalog-pkg-paths{grid-template-columns:1fr 1fr;gap:12px;display:grid}.catalog-pkg-path-card{border:1px solid var(--line);border-radius:var(--radius-input);cursor:pointer;transition:all var(--t-base) var(--ease);align-items:flex-start;gap:10px;padding:14px;display:flex}.catalog-pkg-path-card.is-selected{border-color:var(--accent);background:var(--accent-soft)}.catalog-pkg-path-card strong{color:var(--ink);margin-bottom:4px;font-size:14px;display:block}.catalog-pkg-path-card p{color:var(--ink-3);margin:0;font-size:13px;line-height:1.45}.catalog-pkg-path-card input{margin-top:2px}.catalog-checkbox-group{flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}.catalog-checkbox-group-stacked{flex-direction:column;gap:8px}.catalog-checkbox-option{border:1px solid var(--line);border-radius:var(--radius-input);cursor:pointer;background:var(--bg-elev);transition:border-color var(--t-base) var(--ease), background var(--t-base) var(--ease);align-items:flex-start;gap:8px;padding:8px 12px;font-size:14px;display:inline-flex}.catalog-checkbox-option:hover{border-color:var(--ink-4)}.catalog-checkbox-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.catalog-checkbox-option input{margin-top:2px}.catalog-checkbox-option strong{color:var(--ink);font-weight:500;display:block}.catalog-checkbox-desc{color:var(--ink-3);margin-top:2px;font-size:12.5px;display:block}.webhook-event-picker{border:1px solid var(--line);border-radius:var(--radius-input);background:var(--bg-elev);flex-direction:column;gap:10px;padding:12px;display:flex}.webhook-event-picker.is-error{border-color:var(--danger)}.webhook-event-picker-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.webhook-event-picker-count{color:var(--ink-2);font-size:13.5px}.webhook-event-picker-group{border:1px solid var(--line);border-radius:var(--radius-input);background:var(--bg);padding:8px 12px}.webhook-event-picker-group>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:4px 0;font-size:14px;display:inline-flex}.webhook-event-picker-group-title{color:var(--ink);font-weight:500}.webhook-event-picker-group-count{color:var(--ink-3);font-size:12.5px}.webhook-event-picker-option{align-items:flex-start;gap:8px;padding:6px 0 6px 18px;font-size:13.5px;display:flex}.webhook-event-picker-option input{margin-top:2px}.webhook-event-picker-option strong{color:var(--ink);font-weight:500;display:block}.webhook-event-picker-desc{color:var(--ink-3);margin-top:2px;font-size:12.5px;display:block}.btn-xs{height:22px;padding:2px 8px;font-size:12px}.cron-editor{width:100%}.cron-editor-row{grid-template-columns:1fr 220px;align-items:start;gap:16px;display:grid}.cron-editor-input-col{flex-direction:column;gap:6px;display:flex}.cron-editor-preview{color:var(--ink-3);font-size:12.5px;font-family:var(--font-mono)}.cron-editor-presets{flex-direction:column;gap:6px;display:flex}@keyframes run-pill-pulse{0%,to{opacity:1}50%{opacity:.55}}.run-pill-running{animation:1.6s ease-in-out infinite run-pill-pulse}.run-detail-overlay{z-index:1000;background:#14141e52;justify-content:flex-end;display:flex;position:fixed;inset:0}.run-detail-drawer{background:var(--bg-elev);border-left:1px solid var(--line);width:480px;max-width:100vw;height:100vh;padding:20px;overflow-y:auto;box-shadow:-4px 0 24px #0000001f}.run-detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.run-detail-pre{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-input);white-space:pre-wrap;word-break:break-word;color:var(--ink-2);margin:0;padding:10px;font-size:12.5px}.run-detail-footer{border-top:1px solid var(--line);color:var(--ink-3);margin-top:18px;padding-top:12px;font-size:13px}
