@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#05060b;--bg-grad:radial-gradient(1200px 620px at 12% -12%, #7c3aed4d, transparent 60%), radial-gradient(920px 520px at 102% -6%, #2563eb33, transparent 55%), radial-gradient(1100px 720px at 50% 124%, #d946ef1f, transparent 60%), #05060b;--surface:#0f1422bd;--surface-2:#13192a9e;--surface-3:#0b0f1ab8;--panel-border:#94a3b824;--panel-border-hover:#94a3b847;--shadow:0 24px 60px -28px #020617f2;--primary:#8b5cf6;--primary-2:#6366f1;--primary-hover:#a78bfa;--accent:#d946ef;--grad:linear-gradient(135deg, #6366f1 0%, #8b5cf6 52%, #d946ef 100%);--grad-soft:linear-gradient(135deg, #6366f129, #d946ef24);--primary-glow:#8b5cf659;--text:#f1f5f9;--text-2:#cbd5e1;--muted:#93a1b8;--dim:#6b7a93;--success:#10b981;--success-bg:#10b98121;--danger:#f43f5e;--danger-bg:#f43f5e21;--warn:#f59e0b;--warn-bg:#f59e0b21;--info:#38bdf8;--info-bg:#38bdf821;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:26px;--ring:0 0 0 3px #8b5cf64d;--t-fast:.14s cubic-bezier(.4, 0, .2, 1);--t:.22s cubic-bezier(.4, 0, .2, 1);--t-slow:.42s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);color:var(--text);background-color:var(--bg);background-image:var(--bg-grad);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-attachment:fixed;min-height:100vh;line-height:1.55}#root{flex-direction:column;display:flex}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:700;line-height:1.25}a{color:var(--primary-hover);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono)}*{scrollbar-width:thin;scrollbar-color:#94a3b847 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b838 padding-box content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b866 padding-box content-box}.glass-panel{background:var(--surface);-webkit-backdrop-filter:blur(18px)saturate(140%);border:1px solid var(--panel-border);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:border-color var(--t), transform var(--t), box-shadow var(--t)}.glass-panel:hover{border-color:var(--panel-border-hover)}.muted{color:var(--muted)}.dim{color:var(--dim)}.text-2{color:var(--text-2)}.accent{color:var(--primary-hover)}.mono{font-family:var(--mono)}.semibold{font-weight:600}.bold{font-weight:700}.text-sm{font-size:.84rem}.text-xs{font-size:.76rem}.lead{color:var(--muted);font-size:.95rem}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.btn{border-radius:var(--r-md);font-family:var(--sans);cursor:pointer;transition:all var(--t-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 12px 26px -14px #8b5cf6e6}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 32px -14px #8b5cf6}.btn-secondary{border-color:var(--panel-border);color:var(--text);background:#ffffff0f}.btn-secondary:hover:not(:disabled){border-color:var(--panel-border-hover);background:#ffffff1f}.btn-success{background:var(--success-bg);color:var(--success);border-color:#10b98152}.btn-success:hover:not(:disabled){background:#10b98138}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#f43f5e4d}.btn-danger:hover:not(:disabled){background:#f43f5e38}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text);background:#ffffff0f}.btn-block{width:100%}.btn-sm{border-radius:10px;padding:.42rem .8rem;font-size:.78rem}.btn-icon{border:1px solid var(--panel-border);color:var(--text-2);background:#ffffff0f;border-radius:10px;padding:.5rem}.btn-icon:hover:not(:disabled){color:#fff;background:#ffffff24}.field{flex-direction:column;gap:.45rem;display:flex}.field>label{color:var(--text-2);letter-spacing:.01em;font-size:.8rem;font-weight:600}.input,.field input,.field select,.field textarea{border:1px solid var(--panel-border);border-radius:var(--r-md);width:100%;color:var(--text);font-family:var(--sans);transition:all var(--t-fast);background:#090d18b3;outline:none;padding:.7rem .9rem;font-size:.92rem}.input::placeholder,.field input::placeholder{color:var(--dim)}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}.field .hint{color:var(--dim);font-size:.75rem}.badge{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .6rem;font-size:.73rem;font-weight:600;display:inline-flex}.badge-neutral{color:var(--muted);background:#94a3b81f}.badge-primary{color:#c4b5fd;background:#8b5cf624}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-info{background:var(--info-bg);color:var(--info)}.chip{border-radius:var(--r-sm);border:1px solid var(--panel-border);font-family:var(--mono);color:var(--text-2);background:#ffffff0d;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.78rem;display:inline-flex}.code-block{border:1px solid var(--panel-border);border-radius:var(--r-md);background:#03060fb8;position:relative;overflow:hidden}.code-block .code-head{border-bottom:1px solid var(--panel-border);background:#ffffff08;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .85rem;display:flex}.code-block .code-lang{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);font-size:.72rem;font-weight:600;font-family:var(--sans)}.code-block pre{font-family:var(--mono);color:#c7d2fe;tab-size:2;margin:0;padding:1rem 1.1rem;font-size:.82rem;line-height:1.65;overflow-x:auto}.code-block .code-copy{position:static}.table-scroll{border-radius:var(--r-md);overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.table th{letter-spacing:.05em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--panel-border);white-space:nowrap;background:#ffffff05;padding:.85rem 1rem;font-size:.74rem;font-weight:700}.table td{color:var(--text-2);vertical-align:middle;border-bottom:1px solid #94a3b814;padding:.9rem 1rem}.table tbody tr{transition:background-color var(--t-fast)}.table tbody tr:hover{background:#ffffff08}.table tbody tr:last-child td{border-bottom:none}.table .strong{color:var(--text);font-weight:600}.empty-state{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.empty-state .empty-icon{background:var(--grad-soft);width:56px;height:56px;color:var(--primary-hover);border:1px solid var(--panel-border);border-radius:18px;place-items:center;display:grid}.loading-state{color:var(--muted);justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin;display:inline-block}.spinner.lg{border-width:3px;width:1.6rem;height:1.6rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(44px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.animate-fade-in{animation:fade-in var(--t-slow) both}.animate-slide-up{animation:slide-up var(--t-slow) both}.animate-slide-in{animation:slide-in-right var(--t-slow) both}.animate-scale-in{animation:scale-in var(--t-slow) both}.animate-spin{animation:.8s linear infinite spin}.toast-container{z-index:2000;flex-direction:column;gap:.65rem;max-width:min(420px,100vw - 3rem);display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--r-md);color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:slide-in-right var(--t-slow) both;border:1px solid #ffffff24;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.88rem;font-weight:500;display:flex;box-shadow:0 18px 40px -18px #020617e6}.toast-success{background:#10b981eb}.toast-error{background:#f43f5eeb}.toast-info{background:#38bdf8eb}.toast .toast-icon{flex-shrink:0;margin-top:1px}.modal-overlay{z-index:1500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in var(--t) both;background:#02040cc7;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:560px;max-height:calc(100vh - 3rem);animation:scale-in var(--t-slow) both;flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.modal-close{color:var(--muted);cursor:pointer;transition:color var(--t-fast);background:0 0;border:none;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--text)}.modal-footer{justify-content:flex-end;gap:.75rem;display:flex}.app-shell{grid-template-columns:304px minmax(0,1fr);align-items:start;gap:1.25rem;min-height:100vh;padding:1.25rem;display:grid}.sidebar{flex-direction:column;height:calc(100vh - 2.5rem);padding:1.4rem 1.15rem;display:flex;position:sticky;top:1.25rem;overflow-y:auto}.sidebar-header{border-bottom:1px solid var(--panel-border);align-items:center;gap:.85rem;margin-bottom:.9rem;padding:.25rem .35rem 1.4rem;display:flex}.brand-mark{background:var(--grad);color:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 12px 26px -12px #8b5cf6e6}.brand-logo{letter-spacing:-.03em;background:linear-gradient(120deg,#fff 0%,#c4b5fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.32rem;font-weight:800;display:block}.brand-caption{color:var(--muted);font-size:.72rem;font-weight:500;display:block}.sidebar-nav{flex-direction:column;flex-grow:1;gap:.3rem;padding-top:.25rem;display:flex}.nav-section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--dim);padding:.9rem .75rem .35rem;font-size:.68rem;font-weight:700}.nav-item{border-radius:var(--r-md);width:100%;color:var(--text-2);font-family:var(--sans);text-align:left;cursor:pointer;transition:all var(--t-fast);background:0 0;border:1px solid #0000;align-items:center;gap:.8rem;padding:.72rem .85rem;font-size:.92rem;font-weight:600;display:flex}.nav-item .nav-icon{color:var(--muted);transition:color var(--t-fast);display:inline-flex}.nav-item:hover{color:var(--text);background:#ffffff0b}.nav-item:hover .nav-icon{color:var(--text-2)}.nav-item.active{background:var(--grad);color:#fff;box-shadow:0 14px 28px -16px #8b5cf6f2}.nav-item.active .nav-icon{color:#fff}.nav-item .nav-caret{color:var(--muted);transition:transform var(--t-fast);margin-left:auto;display:inline-flex}.nav-item .nav-count{color:var(--text-2);background:#ffffff1a;border-radius:999px;margin-left:auto;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.nav-item.active .nav-count{color:#fff;background:#ffffff38}.nav-group{flex-direction:column;gap:.2rem;display:flex}.nav-sub-list{border-left:1px solid var(--panel-border);flex-direction:column;gap:.1rem;margin:.15rem 0 .35rem 1.15rem;padding-left:.85rem;display:flex}.nav-sub-item{border-radius:var(--r-sm);width:100%;color:var(--muted);font-family:var(--sans);text-align:left;cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;padding:.45rem .65rem;font-size:.82rem;font-weight:500}.nav-sub-item:hover{color:var(--text);background:#ffffff0b}.nav-sub-item.active{background:var(--grad-soft);color:#ddd6fe;font-weight:600}.sidebar-footer{border-top:1px solid var(--panel-border);flex-direction:column;gap:.7rem;margin-top:1rem;padding-top:1.1rem;display:flex}.user-profile-mini{border-radius:var(--r-md);border:1px solid var(--panel-border);background:#ffffff09;align-items:center;gap:.7rem;padding:.7rem;display:flex}.avatar{color:#fff;background:var(--grad);border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.user-info{flex-direction:column;min-width:0;display:flex}.user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:700;overflow:hidden}.user-meta{color:var(--muted);font-size:.7rem}.sidebar-actions{gap:.5rem;display:flex}.sidebar-actions .btn{flex:1}.main-content{min-width:0;padding:.35rem .35rem 2rem}.content-wrapper{flex-direction:column;gap:1.5rem;max-width:1240px;margin:0 auto;display:flex}.page-header{flex-direction:column;gap:.4rem;padding:.5rem .25rem 0;display:flex}.page-header h1{background:linear-gradient(120deg,#fff 0%,#c4b5fd 120%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.7rem}.page-header p{color:var(--muted);max-width:70ch;font-size:.92rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;display:grid}.stat-card{align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.stat-icon{background:var(--grad-soft);border:1px solid var(--panel-border);width:46px;height:46px;color:var(--primary-hover);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.stat-icon.success{background:var(--success-bg);color:var(--success)}.stat-icon.info{background:var(--info-bg);color:var(--info)}.stat-icon.warn{background:var(--warn-bg);color:var(--warn)}.stat-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.stat-label{color:var(--muted);font-size:.78rem;font-weight:500}.stat-value{color:var(--text);letter-spacing:-.03em;font-size:1.5rem;font-weight:800}.stat-value small{color:var(--muted);margin-left:.15rem;font-size:.8rem;font-weight:600}.split-grid{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.form-panel{flex-direction:column;gap:1.25rem;height:fit-content;padding:1.4rem;display:flex}.table-panel{flex-direction:column;gap:1.15rem;min-width:0;padding:1.4rem;display:flex}.panel-title{color:var(--text);font-size:1.06rem;font-weight:700}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-actions{flex-wrap:wrap;gap:.5rem;display:flex}.panel-sub{color:var(--muted);margin-top:.15rem;font-size:.8rem}.status-badge{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .65rem;font-size:.74rem;font-weight:700;display:inline-flex}.status-badge.active{background:var(--success-bg);color:var(--success);border-color:#10b98147}.status-badge.processing{background:var(--info-bg);color:var(--info);border-color:#38bdf847}.status-badge.failed{background:var(--danger-bg);color:var(--danger);border-color:#f43f5e47}.status-badge.deleted{color:var(--dim);background:#64748b24;border-color:#64748b47}.status-badge.renewing{background:var(--warn-bg);color:var(--warn);border-color:#f59e0b4d}.table-actions{flex-wrap:wrap;gap:.4rem;display:flex}.action-btn{border:1px solid var(--panel-border);color:var(--text-2);font-family:var(--sans);cursor:pointer;transition:all var(--t-fast);background:#ffffff0d;border-radius:10px;align-items:center;gap:.35rem;padding:.38rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.action-btn:hover{color:var(--text);background:#ffffff1f}.action-btn.download:hover{background:var(--success-bg);color:var(--success);border-color:#10b98152}.action-btn.history:hover{color:#c4b5fd;background:#8b5cf629;border-color:#8b5cf657}.action-btn.delete:hover{background:var(--danger-bg);color:var(--danger);border-color:#f43f5e52}.tooltip-trigger{cursor:help;position:relative}.tooltip{visibility:hidden;opacity:0;border-radius:var(--r-md);color:#fecdd3;text-align:left;white-space:normal;word-break:break-word;width:min(320px,78vw);transition:opacity var(--t-fast), transform var(--t-fast);z-index:60;pointer-events:none;background:#0a0f1c;border:1px solid #f43f5e66;padding:.7rem .85rem;font-size:.78rem;font-weight:500;line-height:1.5;position:absolute;bottom:140%;left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 18px 34px -16px #020617f2}.tooltip:after{content:"";border:6px solid #0000;border-top-color:#f43f5e66;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-trigger:hover .tooltip{visibility:visible;opacity:1;transform:translate(-50%)translateY(0)}.key-box{border-radius:var(--r-md);font-family:var(--mono);color:#ddd6fe;word-break:break-all;background:#03060fbf;border:1px solid #8b5cf659;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;font-size:.86rem;display:flex}.copy-btn{color:#ddd6fe;font-family:var(--sans);cursor:pointer;transition:all var(--t-fast);background:#8b5cf629;border:1px solid #8b5cf666;border-radius:10px;flex-shrink:0;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}.copy-btn:hover{color:#fff;background:#8b5cf64d}.id-cell{align-items:center;gap:.4rem;max-width:240px;display:inline-flex}.id-cell code{color:var(--muted);word-break:break-all;line-height:1.35}.id-inline{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.id-inline code{color:var(--text-2);word-break:break-all}.copy-id-btn{border:1px solid var(--panel-border);width:26px;height:26px;color:var(--muted);cursor:pointer;transition:all var(--t-fast);background:#ffffff0d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.copy-id-btn:hover{color:#fff;background:#8b5cf638;border-color:#8b5cf666}.expiry-cell{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.dday{font-family:var(--sans);white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.1rem .42rem;font-size:.68rem;font-weight:700}.dday-neutral{color:var(--dim);background:#94a3b824;border-color:#94a3b833}.dday-warn{background:var(--warn-bg);color:var(--warn);border-color:#f59e0b4d}.dday-danger{background:var(--danger-bg);color:var(--danger);border-color:#f43f5e52}.panel-foot{border-top:1px solid var(--panel-border);margin-top:.9rem;padding-top:.9rem}.link-btn{color:var(--primary-hover);font-family:var(--sans);cursor:pointer;transition:color var(--t-fast);background:0 0;border:none;align-items:center;gap:.4rem;padding:.2rem 0;font-size:.82rem;font-weight:600;display:inline-flex}.link-btn:hover{color:#fff;text-decoration:underline}.alert-banner{border-radius:var(--r-md);background:var(--danger-bg);color:#fecdd3;border:1px solid #f43f5e47;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;font-size:.88rem;display:flex}.alert-close{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;font-size:1.15rem;line-height:1}.alert-close:hover{opacity:1}.callout{border-radius:var(--r-md);border:1px solid #0000;gap:.75rem;padding:.85rem 1rem;font-size:.84rem;line-height:1.6;display:flex}.callout .callout-icon{flex-shrink:0;margin-top:1px}.callout p{margin:0}.callout strong{color:var(--text)}.callout-info{background:var(--info-bg);color:#bae6fd;border-color:#38bdf842}.callout-info .callout-icon{color:var(--info)}.callout-warn{background:var(--warn-bg);color:#fde68a;border-color:#f59e0b47}.callout-warn .callout-icon{color:var(--warn)}.callout-danger{background:var(--danger-bg);color:#fecdd3;border-color:#f43f5e47}.callout-danger .callout-icon{color:var(--danger)}.callout-success{background:var(--success-bg);color:#a7f3d0;border-color:#10b98147}.callout-success .callout-icon{color:var(--success)}.helper-text{color:var(--muted);font-size:.76rem}.helper-text.error{color:var(--danger);font-weight:600}.helper-text.success{color:var(--success);font-weight:600}.config-drawer{background:linear-gradient(160deg,#1e1b4b80,#0f1422bf);border:1px solid #8b5cf64d;flex-direction:column;gap:1.1rem;padding:1.4rem;display:flex}.config-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem;display:grid}.guide-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:1.25rem;display:grid}.guide-body{flex-direction:column;gap:1.25rem;display:flex}.guide-section{flex-direction:column;gap:1rem;padding:1.5rem;scroll-margin-top:1.5rem;display:flex}.guide-section>header{align-items:center;gap:.7rem;display:flex}.guide-section .guide-icon{background:var(--grad-soft);border:1px solid var(--panel-border);width:38px;height:38px;color:var(--primary-hover);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.guide-section h2{font-size:1.12rem}.guide-section>h3,.guide-section>h4{color:var(--text);align-items:center;gap:.55rem;margin-top:.3rem;font-weight:600;display:flex}.guide-section>h3{font-size:.98rem}.guide-section>h4{font-size:.92rem}.guide-section>h3:before,.guide-section>h4:before{content:"";background:var(--grad);border-radius:2px;flex-shrink:0;width:3px;height:1.05em}.guide-section p{color:var(--text-2);font-size:.89rem}.guide-toc{flex-direction:column;gap:.5rem;padding:1.2rem;display:flex;position:sticky;top:1.25rem}.guide-toc-title{letter-spacing:.09em;text-transform:uppercase;color:var(--dim);padding:0 .35rem .35rem;font-size:.7rem;font-weight:700}.guide-toc-link{border-radius:var(--r-sm);color:var(--muted);font-family:var(--sans);text-align:left;cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;align-items:center;gap:.6rem;padding:.5rem .6rem;font-size:.83rem;font-weight:500;display:flex}.guide-toc-link:hover{color:var(--text);background:#ffffff0d}.guide-toc-link.active{background:var(--grad-soft);color:#ddd6fe;font-weight:600}.steps{flex-direction:column;gap:.85rem;display:flex}.step{border-radius:var(--r-md);border:1px solid var(--panel-border);background:#ffffff07;gap:.85rem;padding:.9rem 1rem;display:flex}.step-num{color:#fff;background:var(--grad);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:grid}.step-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.step-body h4{font-size:.92rem}.step-body p{color:var(--muted);font-size:.85rem}.endpoint{border-radius:var(--r-md);border:1px solid var(--panel-border);font-family:var(--mono);background:#03060f99;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.7rem .9rem;font-size:.84rem;display:flex}.method{font-family:var(--sans);letter-spacing:.05em;border-radius:7px;padding:.2rem .5rem;font-size:.7rem;font-weight:800}.method.get{background:var(--info-bg);color:var(--info)}.method.post{background:var(--success-bg);color:var(--success)}.method.delete{background:var(--danger-bg);color:var(--danger)}.endpoint .path{color:#c7d2fe}.endpoint .desc{font-family:var(--sans);color:var(--muted);margin-left:auto;font-size:.78rem}.kv-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.kv{border-radius:var(--r-md);border:1px solid var(--panel-border);background:#ffffff07;padding:.8rem .9rem}.kv .kv-k{letter-spacing:.04em;text-transform:uppercase;color:var(--dim);font-size:.72rem;font-weight:700}.kv .kv-v{color:var(--text-2);margin-top:.25rem;font-size:.87rem}.flow{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.flow-node{border-radius:var(--r-md);border:1px solid var(--panel-border);color:var(--text-2);background:#ffffff0a;align-items:center;gap:.45rem;padding:.5rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.flow-node.brand{background:var(--grad-soft);color:#ddd6fe;border-color:#8b5cf64d}.flow-arrow{color:var(--dim);display:inline-flex}.faq{flex-direction:column;gap:.6rem;display:flex}.faq-item{border-radius:var(--r-md);border:1px solid var(--panel-border);background:#ffffff07;padding:.9rem 1rem}.faq-item h4{color:var(--text);margin-bottom:.3rem;font-size:.88rem}.faq-item p{color:var(--muted);font-size:.84rem}@media (width<=1080px){.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-toc{position:static}}@media (width<=1024px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar-nav{flex-flow:wrap}.nav-item{width:auto}.nav-sub-list{display:none}.split-grid{grid-template-columns:1fr}}@media (width<=640px){.app-shell{gap:1rem;padding:.75rem}.main-content{padding:0}.page-header h1{font-size:1.4rem}}
