@font-face{font-family:'Teko';src:url('../fonts/Teko-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}:root{color-scheme:dark;--color-bg:#0f1117;--color-bg-secondary:#161a23;--color-bg-tertiary:#1e2430;--color-surface:#171b25;--color-surface-hover:#1c2230;--color-surface-elevated:#1c2230;--color-text:#e7eaf0;--color-text-secondary:#9aa4b5;--color-text-tertiary:#6b7688;--color-text-muted:#6b7688;--color-text-inverse:#ffffff;--color-border:#2a3140;--color-border-hover:#333c4d;--color-border-focus:var(--color-primary);--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#60a5fa;--color-primary-dark:#1e40af;--color-primary-soft:rgba(59,130,246,0.15);--color-accent:#6366f1;--color-accent-hover:#4f46e5;--color-success:#22c55e;--color-success-hover:#16a34a;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-info:#38bdf8;--color-info-hover:#0ea5e9;--color-initial:#ef4444;--color-pivot:#f59e0b;--color-c2:#b45309;--color-persist:#8b5cf6;--color-procedure:#10b981;--color-inject:#6b7280;--color-consultant:#ec4899;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.4);--shadow-md:0 2px 8px rgba(0,0,0,0.35);--shadow-lg:0 6px 24px rgba(0,0,0,0.35);--shadow-xl:0 12px 32px rgba(0,0,0,0.5);--shadow-pop:0 6px 24px rgba(0,0,0,0.35);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:6px;--radius-md:7px;--radius-lg:10px;--radius-xl:14px;--radius-full:9999px;--font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-family-mono:ui-monospace,'SF Mono','Cascadia Code','Roboto Mono',Consolas,monospace;--font-size-xs:0.75rem;--font-size-sm:0.8125rem;--font-size-base:0.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.375rem;--font-size-3xl:1.75rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-normal:200ms ease;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--text-xs:0.75rem;--text-sm:0.8125rem;--text-md:0.875rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--color-error:#ef4444;--color-secondary:#60a5fa;--z-dropdown:100;--z-sticky:200;--z-fab-backdrop:240;--z-fab:250;--z-modal-backdrop:300;--z-modal:400;--z-tooltip:500;--z-toast:600;}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);}h1{font-size:var(--font-size-3xl);}h2{font-size:var(--font-size-2xl);}h3{font-size:var(--font-size-xl);}h4{font-size:var(--font-size-lg);}h5{font-size:var(--font-size-base);}h6{font-size:var(--font-size-sm);}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary);}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast);}a:hover{color:var(--color-primary-hover);}.text-primary{color:var(--color-primary);}.text-secondary{color:var(--color-text-secondary);}.text-muted{color:var(--color-text-muted);}.text-success{color:var(--color-success);}.text-warning{color:var(--color-warning);}.text-danger{color:var(--color-danger);}.bg-surface{background-color:var(--color-surface);}.bg-primary{background-color:var(--color-primary);}.bg-success{background-color:var(--color-success);}.bg-warning{background-color:var(--color-warning);}.bg-danger{background-color:var(--color-danger);}.rounded-sm{border-radius:var(--radius-sm);}.rounded-md{border-radius:var(--radius-md);}.rounded-lg{border-radius:var(--radius-lg);}.rounded-xl{border-radius:var(--radius-xl);}.rounded-full{border-radius:var(--radius-full);}.shadow-sm{box-shadow:var(--shadow-sm);}.shadow-md{box-shadow:var(--shadow-md);}.shadow-lg{box-shadow:var(--shadow-lg);}.shadow-xl{box-shadow:var(--shadow-xl);}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:7px 12px;font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-semibold);line-height:1;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:filter 150ms ease,background-color 150ms ease,border-color 150ms ease,color 150ms ease,box-shadow 150ms ease;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;}.btn:disabled{opacity:0.5;cursor:not-allowed;}.btn-primary{background:linear-gradient(180deg,var(--color-primary),var(--color-primary-hover));color:#fff;}.btn-primary:hover:not(:disabled){filter:brightness(1.08);}.btn-primary:active:not(:disabled){filter:brightness(0.96);}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text);border-color:var(--color-border-hover);}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:#fff;}.btn-success{background:linear-gradient(180deg,var(--color-success),var(--color-success-hover));color:#fff;}.btn-success:hover:not(:disabled){filter:brightness(1.08);}.btn-danger{background:linear-gradient(180deg,var(--color-danger),var(--color-danger-hover));color:#fff;}.btn-danger:hover:not(:disabled){filter:brightness(1.08);}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border-hover);}.btn-ghost:hover:not(:disabled){color:#fff;border-color:var(--color-primary);}.btn-sm{padding:4px 8px;font-size:12px;}.btn-lg{padding:12px 20px;font-size:14px;}.form-group{margin-bottom:var(--spacing-md);}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);}.form-input,.form-select,.form-textarea{width:100%;padding:6px 10px;font-family:var(--font-family);font-size:13px;color:var(--color-text);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);}.form-input::placeholder{color:var(--color-text-muted);}.form-textarea{min-height:100px;resize:vertical;}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;font-size:12px;font-weight:var(--font-weight-semibold);line-height:1.7;border-radius:var(--radius-full);white-space:nowrap;}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary);}.badge-accent{background:var(--color-accent);color:#fff;}.badge-success{background:rgba(34,197,94,0.15);color:var(--color-success);}.badge-warning{background:rgba(245,158,11,0.16);color:var(--color-warning);}.badge-danger{background:rgba(239,68,68,0.16);color:var(--color-danger);}.badge-info{background:rgba(56,189,248,0.16);color:var(--color-info);}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);}.panel-title,.section-title{font-size:13px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.6px;color:var(--color-text-secondary);}.hint{color:var(--color-text-muted);font-size:12px;}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop);background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;padding:24px;}.modal-backdrop.hidden{display:none!important;}.modal{position:relative;width:100%;max-width:520px;max-height:min(85vh,760px);overflow:auto;background:var(--color-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);animation:modalIn 180ms ease;}@keyframes modalIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--color-border);}.modal-title{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text);}.modal-close{border:none;background:transparent;color:var(--color-text-secondary);font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);}.modal-close:hover{color:#fff;background:var(--color-bg-tertiary);}.modal-body{padding:18px;}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--color-border);}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(16px);background:var(--color-bg-tertiary);border:1px solid var(--color-border-hover);color:var(--color-text);border-radius:10px;padding:10px 16px;font-size:13px;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity 0.2s ease,transform 0.2s ease;z-index:var(--z-toast);max-width:min(480px,90vw);}.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}.toast.ok{border-color:var(--color-success);}.toast.error{border-color:var(--color-danger);}.toast.warn{border-color:var(--color-warning);}.toast.info{border-color:var(--color-primary);}.gm-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:var(--color-bg);display:flex;flex-direction:column;}.gm-overlay-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:linear-gradient(180deg,var(--color-bg-secondary),var(--color-bg));border-bottom:1px solid var(--color-border);z-index:1;}.gm-overlay-title{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text);}.gm-overlay-frame{flex:1;width:100%;border:0;background:var(--color-bg);}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);}.flex{display:flex;}.flex-col{flex-direction:column;}.flex-wrap{flex-wrap:wrap;}.items-center{align-items:center;}.items-start{align-items:flex-start;}.items-end{align-items:flex-end;}.justify-center{justify-content:center;}.justify-between{justify-content:space-between;}.justify-end{justify-content:flex-end;}.gap-xs{gap:var(--spacing-xs);}.gap-sm{gap:var(--spacing-sm);}.gap-md{gap:var(--spacing-md);}.gap-lg{gap:var(--spacing-lg);}.grid{display:grid;}.grid-cols-2{grid-template-columns:repeat(2,1fr);}.grid-cols-3{grid-template-columns:repeat(3,1fr);}.grid-cols-4{grid-template-columns:repeat(4,1fr);}.hidden{display:none!important;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes slideIn{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.animate-fade-in{animation:fadeIn var(--transition-base);}.animate-slide-in{animation:slideIn var(--transition-base);}.animate-pulse{animation:pulse 2s infinite;}::-webkit-scrollbar{width:10px;height:10px;}::-webkit-scrollbar-track{background:var(--color-bg);}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border:2px solid var(--color-bg);border-radius:var(--radius-full);}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover);}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-primary);}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}}.app-legal{width:100%;box-sizing:border-box;border-top:1px solid var(--color-border);background:var(--color-bg-secondary);padding:3px 10px;}.app-legal-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:6px 28px;flex-wrap:wrap;text-align:left;}.app-legal-classic{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;color:var(--color-text);font-size:13px;font-weight:var(--font-weight-semibold);text-decoration:none;white-space:nowrap;transition:color 0.15s ease;}.app-legal-classic:hover{color:var(--color-primary);}.app-legal-logo{height:34px;width:auto;}.app-legal-gh{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:12.5px;font-weight:var(--font-weight-semibold);text-decoration:none;white-space:nowrap;transition:color 0.15s ease;}.app-legal-gh:hover{color:var(--color-text);}.app-legal-gh-logo{flex:0 0 auto;display:block;}.app-legal-disclaimer{flex:1 1 460px;min-width:0;margin:0;color:var(--color-text-secondary);font-size:11.5px;line-height:1.4;text-align:left;}@media (max-width:760px){.app-legal-content{flex-direction:column;align-items:center;text-align:center;gap:6px;}.app-legal-disclaimer{flex-basis:auto;max-width:560px;text-align:center;}.app-legal-gh{margin-left:0;}}.app-legal-scenario{max-width:1200px;margin:0 auto;padding:2px 0 5px;}.scenario-name{font-size:12px;color:var(--color-text-muted);}.fab-container{position:fixed;right:24px;bottom:24px;width:56px;height:56px;z-index:var(--z-fab);}.fab-main{position:absolute;right:0;bottom:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-inverse);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));box-shadow:0 6px 24px rgba(59,130,246,0.45);transition:transform 0.2s ease,box-shadow 0.2s ease;z-index:2;}.fab-main:hover{transform:scale(1.07);box-shadow:0 10px 32px rgba(59,130,246,0.55);}.fab-main:focus-visible{outline:2px solid var(--color-info);outline-offset:3px;}.fab-icon-plus,.fab-icon-close{position:absolute;transition:transform 0.25s ease,opacity 0.2s ease;}.fab-icon-close{opacity:0;transform:rotate(-90deg) scale(0.6);}.fab-container.open .fab-icon-plus{opacity:0;transform:rotate(90deg) scale(0.6);}.fab-container.open .fab-icon-close{opacity:1;transform:rotate(0deg) scale(1);}.fab-container.open .fab-main{transform:scale(1.07);}.fab-item{position:absolute;right:0;bottom:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--color-primary-light);background:var(--color-surface-elevated);border:1px solid var(--color-border);box-shadow:var(--shadow-md);text-decoration:none;opacity:0;transform:scale(0.4);pointer-events:none;transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),opacity 0.25s ease,background 0.15s ease,border-color 0.15s ease;z-index:1;}.fab-item:hover,.fab-item:focus-visible{z-index:3;background:var(--color-bg-tertiary);border-color:var(--color-border-hover);color:var(--color-primary);}.fab-container.open .fab-item-1{transform:translate(0,-132px) scale(1);opacity:1;pointer-events:auto;transition-delay:0.04s;}.fab-container.open .fab-item-2{transform:translate(-66px,-114px) scale(1);opacity:1;pointer-events:auto;transition-delay:0.08s;}.fab-container.open .fab-item-3{transform:translate(-114px,-66px) scale(1);opacity:1;pointer-events:auto;transition-delay:0.12s;}.fab-container.open .fab-item-4{transform:translate(-132px,0) scale(1);opacity:1;pointer-events:auto;transition-delay:0.16s;}.fab-item-label{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:4px 9px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text);font-size:11.5px;font-weight:var(--font-weight-semibold);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s ease;}.fab-item-1 .fab-item-label{right:auto;left:50%;top:auto;bottom:calc(100% + 8px);transform:translateX(-50%);}.fab-item:hover .fab-item-label,.fab-item:focus-visible .fab-item-label{opacity:1;}.fab-backdrop{position:fixed;inset:0;z-index:var(--z-fab-backdrop);background:rgba(4,7,12,0.55);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity 0.25s ease;}.fab-backdrop.visible{opacity:1;pointer-events:auto;}body.has-fab .app-legal-content{padding-right:76px;}@media (max-width:760px){.fab-container{right:16px;bottom:16px;}body.has-fab .app-legal-content{padding-right:0;}}.cv-backdrop{position:fixed;inset:0;z-index:450;background:rgba(4,7,12,0.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;animation:cvIn 160ms ease;}.cv-backdrop[hidden]{display:none!important;}@keyframes cvIn{from{opacity:0;}to{opacity:1;}}.cv-close{position:absolute;top:14px;right:16px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--color-border-hover);background:var(--color-bg-secondary);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color 0.15s ease,color 0.15s ease,transform 0.15s ease;}.cv-close:hover{color:#fff;border-color:var(--color-primary);transform:scale(1.06);}.cv-stage{display:flex;align-items:center;justify-content:center;max-width:min(1120px,96vw);max-height:84vh;border-radius:var(--radius-lg);box-shadow:0 20px 70px rgba(0,0,0,0.6);outline:none;}.cv-stage.cv-zoomed{flex:1 1 auto;width:100%;min-height:0;max-width:none;max-height:none;align-items:flex-start;justify-content:flex-start;overflow:auto;touch-action:none;border-radius:0;box-shadow:none;}.cv-img{display:block;width:auto;height:auto;max-width:min(96vw,860px);max-height:80vh;border-radius:var(--radius-md);border:1px solid var(--color-border-hover);background:var(--color-bg-tertiary);box-shadow:0 8px 30px rgba(0,0,0,0.4);cursor:zoom-in;user-select:none;}.cv-stage.cv-zoomed .cv-img{max-width:none;max-height:none;margin:auto;border-radius:0;cursor:grab;}.cv-img.is-face{display:none;}.cv-stage .card-face{flex:0 0 auto;width:min(96vw,460px,56vh);cursor:zoom-in;user-select:none;filter:drop-shadow(0 12px 34px rgba(0,0,0,0.55));}.cv-stage.cv-zoomed .card-face{width:min(96vw,900px);margin:auto;cursor:grab;filter:none;}.cv-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;max-width:min(96vw,860px);}.cv-name{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text);text-shadow:0 1px 6px rgba(0,0,0,0.6);}.cv-type{font-size:11px;letter-spacing:0.4px;text-transform:uppercase;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:999px;padding:2px 9px;background:rgba(255,255,255,0.04);}.cv-action,.cv-zoom{background:var(--color-bg-secondary);border:1px solid var(--color-border-hover);color:var(--color-text);font-size:12px;border-radius:999px;padding:5px 13px;cursor:pointer;transition:border-color 0.15s ease,color 0.15s ease;}.cv-action{color:var(--color-bg);background:var(--color-primary);border-color:var(--color-primary);font-weight:var(--font-weight-semibold);}.cv-action:hover{filter:brightness(1.1);}.cv-zoom:hover{color:var(--color-primary);border-color:var(--color-primary);}.cv-hint{font-size:11px;color:var(--color-text-muted);text-shadow:0 1px 4px rgba(0,0,0,0.6);}.cv-backdrop.cv-has-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"stage meta" "stage tabs" "stage panels";gap:6px 22px;align-content:center;align-items:start;padding:20px 26px;overflow:auto;}.cv-backdrop.cv-has-details .cv-close{left:16px;right:auto;}.cv-backdrop.cv-has-details .cv-stage{grid-area:stage;align-self:center;justify-self:center;max-width:100%;max-height:82vh;}.cv-backdrop.cv-has-details .cv-img{max-width:100%;max-height:82vh;}.cv-backdrop.cv-has-details .cv-meta{grid-area:meta;align-self:end;justify-content:flex-start;max-width:100%;}.cv-backdrop.cv-has-details .cv-tabs{grid-area:tabs;width:100%;}.cv-backdrop.cv-has-details .cv-panels{grid-area:panels;width:100%;min-height:0;max-height:none;padding:10px 2px 0;}.cv-backdrop.cv-has-details .cv-panel p{font-size:12.5px;line-height:1.5;margin-bottom:8px;}.cv-backdrop.cv-has-details .cv-detail-list li{font-size:12.5px;margin:4px 0;}.cv-backdrop.cv-has-details .cv-info-list{gap:4px 14px;font-size:12.5px;}.cv-backdrop.is-zoomed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}.cv-backdrop.is-zoomed .cv-tabs,.cv-backdrop.is-zoomed .cv-panels{display:none;}.cv-backdrop.cv-has-details.is-zoomed .cv-stage,.cv-backdrop.cv-has-details.is-zoomed .cv-img{max-width:none;max-height:none;}@media (max-width:900px){.cv-backdrop.cv-has-details{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-template-areas:"stage" "meta" "tabs" "panels";gap:10px;}.cv-backdrop.cv-has-details .cv-stage,.cv-backdrop.cv-has-details .cv-img{max-height:50vh;}.cv-backdrop.cv-has-details .cv-panels{max-height:18vh;}}.cv-tabs{display:flex;gap:4px;width:min(96vw,860px);border-bottom:1px solid var(--color-border);}.cv-tab{flex:1 1 auto;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--color-text-secondary);font:inherit;font-size:12px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;padding:8px 14px;cursor:pointer;transition:color 0.15s ease,border-color 0.15s ease,background 0.15s ease;}.cv-tab:hover{color:var(--color-text);}.cv-tab.is-active{color:var(--color-text);border-bottom-color:var(--color-primary);background:linear-gradient(to bottom,rgba(59,130,246,0),rgba(59,130,246,0.15));}.cv-panels{width:min(96vw,860px);max-height:30vh;overflow:auto;padding:12px 2px 2px;text-align:left;}.cv-panel{display:none;}.cv-panel.is-active{display:block;animation:cvPanelIn 0.45s both;}@keyframes cvPanelIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}.cv-panel p{margin:0 0 10px;color:var(--color-text-secondary);font-size:13px;line-height:1.6;}.cv-panel p:last-child{margin-bottom:0;}.cv-detail-list{margin:0;padding-left:18px;color:var(--color-text-secondary);}.cv-detail-list li{margin:5px 0;font-size:13px;line-height:1.5;word-break:break-word;}.cv-detail-list a{color:var(--color-primary);}.cv-info-list{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:13px;}.cv-info-list dt{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;padding-top:1px;}.cv-info-list dd{margin:0;color:var(--color-text);word-break:break-word;}.cv-sub{margin:14px 0 6px;color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;}.cv-sub:first-child{margin-top:0;}.cv-note{color:var(--color-text-secondary);}.cv-note b{color:var(--color-text-muted);font-weight:600;letter-spacing:0.05em;}.cv-quote{margin:12px 0 0;padding:2px 0 2px 12px;border-left:2px solid var(--color-border);color:var(--color-text-secondary);font-size:12.5px;font-style:italic;line-height:1.5;}:root{--shadow-card:0 1px 2px rgba(0,0,0,0.45),0 10px 22px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.05);--shadow-card-hover:0 4px 12px rgba(0,0,0,0.5),0 20px 44px rgba(0,0,0,0.55),inset 0 1px 0 rgba(255,255,255,0.08);--shadow-tray:inset 0 2px 14px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.03);--glow:var(--color-primary);}@keyframes riseIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}@keyframes popIn{from{opacity:0;transform:scale(0.9);}to{opacity:1;transform:scale(1);}}.anim-rise{animation:riseIn 0.55s cubic-bezier(0.22,0.7,0.22,1) both;}.anim-pop{animation:popIn 0.35s ease-out both;}.surface-felt{background-color:var(--color-bg);background-image:radial-gradient(1100px 620px at 50% -12%,rgba(59,130,246,0.1),transparent 62%),radial-gradient(900px 520px at 50% 116%,rgba(99,102,241,0.08),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,0.012) 0 1px,transparent 1px 3px),repeating-linear-gradient(45deg,rgba(255,255,255,0.008) 0 1px,transparent 1px 3px);background-attachment:fixed;}.webllm-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);}.webllm-lead{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.45;}.webllm-gpu{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.45;word-break:break-word;}.webllm-note{margin:0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-info);border-radius:var(--radius-sm);background:rgba(56,189,248,0.1);color:var(--color-text);font-size:var(--font-size-xs);line-height:1.5;}.webllm-warning{margin:0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm);background:rgba(245,158,11,0.1);color:var(--color-text);font-size:var(--font-size-xs);line-height:1.5;}.webllm-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);}.webllm-progress{height:8px;border-radius:var(--radius-full);background:var(--color-bg);border:1px solid var(--color-border);overflow:hidden;}.webllm-progress-bar{height:100%;width:0;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transition:width 0.2s ease;}.webllm-status{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.45;word-break:break-word;}.webllm-downloads{border-top:1px solid var(--color-border);padding-top:var(--space-2);}.webllm-downloads-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);}.webllm-downloads-list{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-1);}.webllm-dl-item{display:flex;align-items:center;gap:var(--space-2);padding:3px 0;font-size:var(--font-size-xs);}.webllm-dl-name{flex:1 1 auto;min-width:0;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.webllm-dl-size{flex:0 0 auto;color:var(--color-text-muted);}.webllm-dl-badge{flex:0 0 auto;padding:1px 7px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);}.webllm-downloads-empty{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.45;}.ai-live{margin:0 var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);overflow:hidden;}.ai-live-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);}.ai-live-head .ai-live-spacer{flex:1 1 auto;}.ai-live-text{margin:0;padding:var(--space-3);max-height:260px;overflow:auto;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text);white-space:pre-wrap;word-break:break-word;}.card-face{position:relative;display:block;width:100%;aspect-ratio:5 / 7;container-type:inline-size;overflow:hidden;font-family:'Teko','Segoe UI',Arial,sans-serif;font-weight:400;line-height:1.05;color:#14181f;}.card-face .cf-template{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill;}.card-face .cf-block{position:absolute;overflow:hidden;}.card-face .cf-line{white-space:pre-wrap;overflow-wrap:anywhere;}.card-face .cf-title{display:flex;align-items:center;justify-content:center;font-weight:600;}.card-face .cf-title .cf-line{width:100%;white-space:nowrap;}.card-face .cf-artwork{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden;}.card-face .cf-artwork img{max-width:100%;max-height:100%;object-fit:contain;}.card-face .cf-watermark{position:absolute;left:-40%;top:-40%;width:180%;height:180%;display:flex;flex-direction:column;justify-content:space-around;transform:rotate(-30deg);opacity:0.04;pointer-events:none;overflow:hidden;}.card-face .cf-wm-row{display:flex;justify-content:space-around;white-space:nowrap;font-size:3cqw;letter-spacing:0.12em;text-transform:uppercase;color:#4b5563;}.card-face .cf-wm-row:nth-child(odd){padding-left:7%;}.card-face .cf-footer{position:absolute;display:flex;align-items:center;justify-content:center;gap:0.8cqw;color:#6b7280;text-decoration:none;opacity:0.78;letter-spacing:0.03em;}.card-face .cf-footer svg{width:1.7em;height:1.7em;fill:currentColor;flex:0 0 auto;}.has-card-face{position:relative;overflow:hidden;}img.is-face{display:none;}