:root{--color-primary-900:#030712;--color-primary-800:#111827;--color-primary-700:#1f2937;--color-primary-600:#374151;--color-primary-500:#4b5563;--color-primary-400:#6b7280;--color-primary-300:#9ca3af;--color-primary-200:#d1d5db;--color-primary-100:#f3f4f6;--color-primary-50:#f9fafb;--color-blue-700:#1d4ed8;--color-blue-600:#2563eb;--color-blue-50:#eef6ff;--color-blue-25:#f3f8ff;--color-green-700:#047857;--color-green-50:#ecfdf5;--color-orange-700:#c2410c;--color-orange-50:#fff7ed;--color-red-700:#b91c1c;--color-red-50:#fef2f2;--color-purple-700:#6d28d9;--color-purple-50:#f5f3ff;--color-surface-page:#f5f7fb;--color-surface-card:#fff;--color-surface-subtle:#f9fafb;--color-border:#e5e7eb;--color-border-input:#ddd;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-muted:#4b5563;--color-text-inverse:#fff;--color-text-link:#1d4ed8;--color-text-success:#047857;--color-text-error:#b91c1c;--color-text-warning:#c2410c;--color-action-primary:#111827;--color-action-primary-hover:#1f2937;--color-action-disabled-bg:#e5e7eb;--opacity-disabled:.6;--opacity-muted:.7;--opacity-subtle:.55;--font-family-primary:Inter, system-ui, -apple-system, sans-serif;--font-family-fallback:system-ui, -apple-system, sans-serif;--font-size-2xs:11px;--font-size-xs:13px;--font-size-sm:14px;--font-size-base:15px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-size-4xl:36px;--font-size-5xl:44px;--font-size-6xl:52px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-snug:1.35;--line-height-normal:1.4;--line-height-relaxed:1.6;--letter-spacing-tight:-.03em;--letter-spacing-snug:-.02em;--letter-spacing-tight-sm:-.01em;--letter-spacing-normal:0em;--letter-spacing-wide:.03em;--letter-spacing-wider:.08em;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-14:56px;--space-15:60px;--space-16:64px;--space-page-padding:var(--space-10);--space-page-padding-sm:var(--space-6);--space-card-padding:var(--space-6);--space-card-padding-sm:var(--space-4);--space-grid-gap:var(--space-5);--space-section-gap:var(--space-9);--space-form-gap:14px;--space-panel-pad:18px;--space-details-pad:26px;--shadow-none:none;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 4px 10px #00000026;--shadow-md:0 4px 20px #0000000f;--shadow-lg:0 10px 30px #00000014;--shadow-xl:0 14px 35px #0000001a;--shadow-inset-accent:inset 4px 0 0 var(--color-blue-600);--elevation-1:var(--shadow-md);--elevation-2:var(--shadow-lg);--elevation-3:var(--shadow-xl);--radius-xs:4px;--radius-sm:6px;--radius-base:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:20px;--radius-full:9999px;--radius-circle:50%;--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--duration-xslow:.5s;--duration-pulse:1.4s;--easing-default:ease;--easing-in:ease-in;--easing-out:ease-out;--easing-in-out:ease-in-out;--easing-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-default:all var(--duration-normal) var(--easing-default);--transition-colors:color var(--duration-fast) var(--easing-default), background-color var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default);--transition-transform:transform var(--duration-normal) var(--easing-default);--transition-shadow:box-shadow var(--duration-normal) var(--easing-default);--animation-pulse:pulse var(--duration-pulse) var(--easing-in-out) infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:var(--opacity-subtle)}50%{opacity:1}to{opacity:var(--opacity-subtle)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root{--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-tooltip:600}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), box-shadow var(--duration-normal) var(--easing-default), transform var(--duration-normal) var(--easing-default), opacity var(--duration-fast) var(--easing-default);outline-offset:3px;border:1.5px solid #0000;outline:2px solid #0000;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn:focus-visible{outline-color:var(--color-blue-600)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);min-height:32px}.btn--md{padding:10px var(--space-4);font-size:var(--font-size-sm);min-height:40px}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);min-height:48px}.btn--primary{background:var(--color-action-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--color-action-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--primary:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(0)scale(.98)}.btn--secondary{background:var(--color-surface-card);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn--secondary:hover:not(:disabled){border-color:var(--color-primary-300);background:var(--color-primary-50)}.btn--secondary:active:not(:disabled){transform:scale(.98)}.btn--ghost{color:var(--color-text-primary);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--color-primary-100);color:var(--color-text-primary)}.btn--ghost:active:not(:disabled){background:var(--color-primary-200)}.btn--danger{background:var(--color-red-50);color:var(--color-red-700);border-color:color-mix(in srgb, var(--color-red-700) 30%, transparent)}.btn--danger:hover:not(:disabled){background:var(--color-red-700);color:var(--color-text-inverse);border-color:var(--color-red-700)}.btn--success{background:var(--color-green-50);color:var(--color-green-700);border-color:color-mix(in srgb, var(--color-green-700) 30%, transparent)}.btn--success:hover:not(:disabled){background:var(--color-green-700);color:var(--color-text-inverse);border-color:var(--color-green-700)}.btn--icon{border-radius:var(--radius-circle);flex-shrink:0;padding:0}.btn--icon.btn--sm{width:28px;height:28px;min-height:28px}.btn--icon.btn--md{width:36px;height:36px;min-height:36px}.btn--icon.btn--lg{width:44px;height:44px;min-height:44px}.btn--full{width:100%}.btn--loading{cursor:wait;pointer-events:none}.btn--loading .btn__label{opacity:0}.btn__spinner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.input,.select,.textarea{width:100%;padding:10px var(--space-3);background:var(--color-surface-card);border:1.5px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-primary);color:var(--color-text-primary);min-height:42px;transition:border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default), background-color var(--duration-fast) var(--easing-default);outline:none;display:block}.input::placeholder,.textarea::placeholder{color:var(--color-primary-300)}.input:hover:not(:disabled):not(:focus):not(.input--error),.select:hover:not(:disabled):not(:focus):not(.select--error),.textarea:hover:not(:disabled):not(:focus):not(.textarea--error){border-color:var(--color-primary-300)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-blue-600);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-blue-600) 15%, transparent)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-primary-50);color:var(--color-primary-300);cursor:not-allowed;border-color:var(--color-border-input)}.input--error,.select--error,.textarea--error{border-color:var(--color-red-700)}.input--error:focus,.select--error:focus,.textarea--error:focus{border-color:var(--color-red-700);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-red-700) 15%, transparent)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:calc(var(--space-3) + 20px);cursor:pointer}.select option{color:var(--color-text-primary);background:var(--color-surface-card)}.textarea{resize:vertical;min-height:110px;line-height:var(--line-height-relaxed)}.textarea--sm{min-height:80px}.textarea--lg{min-height:160px}.input--sm,.select--sm,.textarea--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);min-height:34px}.input--lg,.select--lg{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);min-height:50px}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper .input{flex:1}.input-wrapper .input--has-icon-left{padding-left:calc(var(--space-3) + 20px)}.input-wrapper .input--has-icon-right{padding-right:calc(var(--space-3) + 20px)}.input-wrapper__icon{color:var(--color-primary-400);pointer-events:none;justify-content:center;align-items:center;width:20px;display:flex;position:absolute}.input-wrapper__icon--left{left:var(--space-3)}.input-wrapper__icon--right{right:var(--space-3)}.input-wrapper__icon--right.input-wrapper__icon--action{pointer-events:auto;cursor:pointer;color:var(--color-primary-400);transition:color var(--duration-fast) var(--easing-default);background:0 0;border:none;padding:0}.input-wrapper__icon--right.input-wrapper__icon--action:hover{color:var(--color-text-primary)}.input-icon-emoji{font-size:var(--font-size-xs);-webkit-user-select:none;user-select:none;line-height:1}.checkbox,.radio{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-sm);color:var(--color-text-primary);display:inline-flex}.checkbox input[type=checkbox],.radio input[type=radio]{appearance:none;border:1.5px solid var(--color-border-input);background:var(--color-surface-card);cursor:pointer;width:18px;min-width:18px;height:18px;min-height:18px;transition:background-color var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default);outline:none;flex-shrink:0;place-items:center;display:grid}.checkbox input[type=checkbox]{border-radius:var(--radius-xs)}.radio input[type=radio]{border-radius:var(--radius-circle)}.checkbox input[type=checkbox]:checked{background:var(--color-blue-600);border-color:var(--color-blue-600)}.checkbox input[type=checkbox]:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;transform:rotate(-45deg)translateY(-1px)}.radio input[type=radio]:checked{border-color:var(--color-blue-600)}.radio input[type=radio]:checked:after{content:"";border-radius:var(--radius-circle);background:var(--color-blue-600);width:8px;height:8px}.checkbox input[type=checkbox]:hover:not(:checked):not(:disabled),.radio input[type=radio]:hover:not(:checked):not(:disabled){border-color:var(--color-blue-600)}.checkbox input[type=checkbox]:focus-visible,.radio input[type=radio]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-blue-600) 20%, transparent)}.checkbox input[type=checkbox]:disabled,.radio input[type=radio]:disabled,.checkbox--disabled,.radio--disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-1);line-height:var(--line-height-snug);display:block}.form-label--required:after{content:" *";color:var(--color-text-error);font-weight:var(--font-weight-regular)}.form-field{gap:var(--space-1);flex-direction:column;display:flex}.form-field+.form-field{margin-top:var(--space-1)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.form-error{font-size:var(--font-size-xs);color:var(--color-text-error);align-items:flex-start;gap:var(--space-1);line-height:var(--line-height-normal);display:flex}.form-error:before{content:"⚠";flex-shrink:0;margin-top:1px;font-size:10px}.form-success{font-size:var(--font-size-xs);color:var(--color-text-success);align-items:center;gap:var(--space-1);display:flex}.form-success:before{content:"✓";font-weight:var(--font-weight-bold);flex-shrink:0}.radio-group{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.radio-group__legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-2);float:left;width:100%}.card{background:var(--color-surface-card);border-radius:var(--radius-xl);box-shadow:var(--elevation-2);overflow:hidden}.card--flat{box-shadow:none;border:1px solid var(--color-border)}.card--interactive{cursor:pointer;transition:box-shadow var(--duration-normal) var(--easing-default), transform var(--duration-normal) var(--easing-default), border-color var(--duration-fast) var(--easing-default)}.card--interactive:hover{box-shadow:var(--elevation-3);transform:translateY(-2px)}.card--interactive:active{box-shadow:var(--elevation-1);transform:translateY(0)scale(.99)}.card--interactive:focus-visible{outline:2px solid var(--color-blue-600);outline-offset:2px}.card--compact .card__header{padding:var(--space-3) var(--space-4)}.card--compact .card__body{padding:var(--space-4)}.card--compact .card__footer{padding:var(--space-3) var(--space-4)}.card__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.card__header h2,.card__header h3{margin:0}.card__body{padding:var(--space-6)}.card__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-subtle);justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap;letter-spacing:var(--letter-spacing-wide);padding:4px 10px;line-height:1;display:inline-flex}.badge--neutral{background:var(--color-primary-100);color:var(--color-primary-600)}.badge--blue{background:var(--color-blue-50);color:var(--color-blue-700)}.badge--green{background:var(--color-green-50);color:var(--color-green-700)}.badge--orange{background:var(--color-orange-50);color:var(--color-orange-700)}.badge--red{background:var(--color-red-50);color:var(--color-red-700)}.badge--purple{background:var(--color-purple-50);color:var(--color-purple-700)}.badge--sm{font-size:var(--font-size-2xs);padding:2px 8px}.badge--lg{font-size:var(--font-size-sm);padding:6px 14px}.badge--dot:before{content:"";border-radius:var(--radius-circle);background:currentColor;width:6px;min-width:6px;height:6px}.badge--count{border-radius:var(--radius-circle);width:20px;min-width:20px;height:20px;font-size:var(--font-size-2xs);justify-content:center;padding:0}.chip{align-items:center;gap:var(--space-2);padding:5px var(--space-3);background:var(--color-primary-100);color:var(--color-text-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default);white-space:nowrap;border:1px solid #0000;display:inline-flex}.chip--blue{background:var(--color-blue-50);color:var(--color-blue-700)}.chip--green{background:var(--color-green-50);color:var(--color-green-700)}.chip--orange{background:var(--color-orange-50);color:var(--color-orange-700)}.chip--interactive{cursor:pointer}.chip--interactive:hover{background:var(--color-primary-200)}.chip--interactive:focus-visible{outline:2px solid var(--color-blue-600);outline-offset:2px}.chip__dismiss{border-radius:var(--radius-circle);cursor:pointer;width:16px;height:16px;color:var(--color-primary-400);transition:background-color var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.chip__dismiss:hover{background:var(--color-primary-200);color:var(--color-text-primary)}.chip__dismiss:focus-visible{outline:2px solid var(--color-blue-600);outline-offset:1px}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);animation:fadeIn var(--duration-normal) var(--easing-out);border:1px solid;display:flex}.alert__icon{font-size:var(--font-size-lg);flex-shrink:0;margin-top:1px;line-height:1}.alert__body{flex:1;min-width:0}.alert__title{font-weight:var(--font-weight-bold);margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.alert__message{line-height:var(--line-height-relaxed);opacity:.9}.alert__dismiss{flex-shrink:0;margin-left:auto}.alert--success{background:var(--color-green-50);color:var(--color-green-700);border-color:color-mix(in srgb, var(--color-green-700) 30%, transparent)}.alert--warning{background:var(--color-orange-50);color:var(--color-orange-700);border-color:color-mix(in srgb, var(--color-orange-700) 30%, transparent)}.alert--danger{background:var(--color-red-50);color:var(--color-red-700);border-color:color-mix(in srgb, var(--color-red-700) 30%, transparent)}.alert--info{background:var(--color-blue-50);color:var(--color-blue-700);border-color:color-mix(in srgb, var(--color-blue-700) 30%, transparent)}.alert--compact{padding:var(--space-2) var(--space-3);align-items:center}.alert--compact .alert__title{margin:0}.spinner{border-radius:var(--radius-circle);animation:spin var(--duration-slow) linear infinite;border-style:solid;flex-shrink:0;display:inline-block}.spinner--xs{border-width:1.5px;width:12px;height:12px}.spinner--sm{border-width:2px;width:16px;height:16px}.spinner--md{border-width:2.5px;width:24px;height:24px}.spinner--lg{border-width:3px;width:36px;height:36px}.spinner--xl{border-width:3.5px;width:48px;height:48px}.spinner--dark{border-color:color-mix(in srgb, var(--color-action-primary) 15%, transparent);border-top-color:var(--color-action-primary)}.spinner--light{border-color:#fff #ffffff40 #ffffff40}.spinner--blue{border-color:color-mix(in srgb, var(--color-blue-600) 15%, transparent);border-top-color:var(--color-blue-600)}.spinner--muted{border-color:var(--color-border);border-top-color:var(--color-primary-400)}.loader{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;flex-direction:column;display:flex}.loader--inline{gap:var(--space-2);flex-direction:row;padding:0}.loader--overlay{background:color-mix(in srgb, var(--color-surface-page) 80%, transparent);z-index:var(--z-overlay);animation:fadeIn var(--duration-normal) var(--easing-out);padding:0;position:fixed;inset:0}.empty-state,.error-state{text-align:center;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-10) var(--space-6);flex-direction:column;display:flex}.empty-state__icon{border-radius:var(--radius-circle);background:var(--color-primary-100);width:56px;height:56px;color:var(--color-primary-400);flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:flex}.empty-state__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);margin:0}.empty-state__message{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:300px;line-height:var(--line-height-relaxed);margin:0}.error-state__icon{border-radius:var(--radius-circle);background:var(--color-red-50);width:56px;height:56px;color:var(--color-red-700);flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:flex}.error-state__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.error-state__message{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:300px;line-height:var(--line-height-relaxed);margin:0}.empty-state--compact,.error-state--compact{padding:var(--space-6);gap:var(--space-3)}.empty-state--compact .empty-state__icon,.error-state--compact .error-state__icon{width:40px;height:40px;font-size:18px}.empty-state--compact .empty-state__title,.error-state--compact .error-state__title{font-size:var(--font-size-base)}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);z-index:var(--z-tooltip);background:var(--color-primary-900);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--easing-out), transform var(--duration-fast) var(--easing-out);position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden;transform:translateY(4px)}[data-tooltip]:after{content:"";z-index:var(--z-tooltip);border:5px solid #0000;border-top-color:var(--color-primary-900);pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--easing-out);position:absolute;bottom:calc(100% + 3px);left:50%;translate:-50%}[data-tooltip]:hover:before,[data-tooltip]:hover:after,[data-tooltip]:focus-visible:before,[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}[data-tooltip][data-tooltip-placement=bottom]:before{top:calc(100% + 8px);bottom:auto;transform:translateY(-4px)}[data-tooltip][data-tooltip-placement=bottom]:hover:before,[data-tooltip][data-tooltip-placement=bottom]:focus-visible:before{transform:translateY(0)}[data-tooltip][data-tooltip-placement=bottom]:after{border-top-color:#0000;border-bottom-color:var(--color-primary-900);top:calc(100% + 3px);bottom:auto}[data-tooltip][data-tooltip-placement=right]:before{top:50%;bottom:auto;left:calc(100% + 8px);transform:translate(-4px)}[data-tooltip][data-tooltip-placement=right]:hover:before,[data-tooltip][data-tooltip-placement=right]:focus-visible:before{transform:translate(0)}[data-tooltip][data-tooltip-placement=right]:after{border-top-color:#0000;border-right-color:var(--color-primary-900);top:50%;bottom:auto;left:calc(100% + 3px);translate:0 -50%}[data-tooltip][data-tooltip-placement=left]:before{inset:50% calc(100% + 8px) auto auto;transform:translate(4px)}[data-tooltip][data-tooltip-placement=left]:hover:before,[data-tooltip][data-tooltip-placement=left]:focus-visible:before{transform:translate(0)}[data-tooltip][data-tooltip-placement=left]:after{border-top-color:#0000;border-left-color:var(--color-primary-900);inset:50% calc(100% + 3px) auto auto;translate:0 -50%}*{box-sizing:border-box;margin:0;padding:0}input,select,textarea,button{font:inherit}body{font-family:var(--font-family-primary);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto}h1{line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);font-weight:var(--font-weight-bold)}h2{line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-snug);font-weight:var(--font-weight-bold)}h3{line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-normal);font-weight:var(--font-weight-semibold)}.candidateJobItem{background:var(--color-surface-card);border:none;border-bottom:1px solid var(--color-border);cursor:pointer;gap:var(--space-2);padding:var(--space-4) var(--space-panel-pad);text-align:left;transition:background-color var(--duration-fast) var(--easing-default);flex-direction:column;width:100%;display:flex}.candidateJobItem:hover{background:var(--color-surface-subtle)}.candidateJobItem.active{background:var(--color-blue-25);box-shadow:var(--shadow-inset-accent)}.candidateJobItem__title-row{align-items:flex-start;gap:var(--space-2);justify-content:space-between;display:flex}.candidateJobItem h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.candidateJobItem p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:1px}.candidateListScroller{height:100%;overflow-y:auto}.cardDescription{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.jobMeta{gap:var(--space-2);flex-wrap:wrap;display:flex}.metaPill{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:4px 10px}.metaLocation{background:var(--color-blue-50);color:var(--color-blue-700)}.metaSalary{background:var(--color-green-50);color:var(--color-green-700)}.metaType{background:var(--color-orange-50);color:var(--color-orange-700)}.terminalStatus{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.auth-form{animation:slideUp var(--duration-normal) var(--easing-out)}.auth-form__heading{margin-bottom:var(--space-7)}.auth-form__heading h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);color:var(--color-text-primary);margin-bottom:var(--space-1)}.auth-form__heading p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.auth-form__alert{margin-bottom:var(--space-5)}.auth-form__fields{gap:var(--space-5);flex-direction:column;display:flex}.auth-name-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.auth-form__submit{margin-top:var(--space-2)}@media (width<=480px){.auth-name-row{grid-template-columns:1fr}}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-brand{background:var(--color-primary-800);padding:var(--space-10) var(--space-12);color:var(--color-text-inverse);background-image:radial-gradient(circle,#ffffff0b 1px,#0000 1px);background-size:24px 24px;flex-direction:column;justify-content:space-between;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.auth-brand:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff0a 0%,#0000 70%);width:400px;height:400px;position:absolute;bottom:-120px;right:-120px}.auth-brand__logo{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.auth-brand__logo-mark{border-radius:var(--radius-md);width:40px;height:40px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);letter-spacing:var(--letter-spacing-snug);background:#ffffff1f;border:1px solid #ffffff26;flex-shrink:0;justify-content:center;align-items:center;display:flex}.auth-brand__logo-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);letter-spacing:var(--letter-spacing-tight-sm)}.auth-brand__hero{padding:var(--space-16) 0 var(--space-10);flex-direction:column;flex:1;justify-content:center;display:flex}.auth-brand__headline{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-inverse);margin:0 0 var(--space-5);line-height:1.15}.auth-brand__headline em{color:#ffffff73;font-style:normal}.auth-brand__subtext{font-size:var(--font-size-base);color:#ffffff8c;line-height:var(--line-height-relaxed);margin:0 0 var(--space-10);max-width:320px}.auth-brand__features{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.auth-brand__feature{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:#ffffffb3;display:flex}.auth-brand__feature-icon{border-radius:var(--radius-sm);color:#ffffffe6;background:#ffffff14;border:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:11px;display:flex}.auth-brand__footer{font-size:var(--font-size-xs);color:#ffffff40}.auth-form-panel{padding:var(--space-10);background:var(--color-surface-page);flex-direction:column;align-items:center;min-height:100vh;display:flex;overflow-y:auto}.auth-form-container{width:100%;max-width:400px;margin-top:auto;margin-bottom:auto}.auth-mobile-logo{align-items:center;gap:var(--space-2);margin-bottom:var(--space-9);text-decoration:none;display:none}.auth-mobile-logo__mark{background:var(--color-action-primary);border-radius:var(--radius-sm);width:32px;height:32px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);letter-spacing:var(--letter-spacing-snug);justify-content:center;align-items:center;display:flex}.auth-mobile-logo__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight-sm)}.auth-tabs{background:var(--color-primary-100);border-radius:var(--radius-lg);margin-bottom:var(--space-8);gap:2px;padding:4px;display:flex}.auth-tab{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-normal) var(--easing-default), color var(--duration-normal) var(--easing-default), box-shadow var(--duration-normal) var(--easing-default);white-space:nowrap;background:0 0;border:none;flex:1;line-height:1}.auth-tab:hover:not(.auth-tab--active){color:var(--color-text-primary)}.auth-tab:focus-visible{outline:2px solid var(--color-blue-600);outline-offset:-2px}.auth-tab--active{background:var(--color-surface-card);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.auth-success-banner{margin-bottom:var(--space-6);animation:slideUp var(--duration-normal) var(--easing-out)}@media (width<=760px){.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-logo{display:flex}.auth-form-panel{padding:var(--space-14) var(--space-6) var(--space-10)}.auth-form-container{max-width:100%;margin-top:0;margin-bottom:0}}.db-layout{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.db-sidebar{background:var(--color-primary-800);color:var(--color-text-inverse);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.db-sidebar__logo{align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid #ffffff14;flex-shrink:0;display:flex}.db-sidebar__logo-mark{border-radius:var(--radius-md);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:34px;letter-spacing:var(--letter-spacing-snug);background:#ffffff1f;border:1px solid #ffffff26;flex-shrink:0;justify-content:center;align-items:center;width:34px;display:flex}.db-sidebar__logo-name{color:var(--color-text-inverse);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight-sm)}.db-nav{padding:var(--space-4) var(--space-3);flex:1}.db-nav__label{color:#ffffff4d;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);margin-bottom:var(--space-2);padding:0 var(--space-3);text-transform:uppercase}.db-nav__item{border-radius:var(--radius-md);color:#fff9;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-3);padding:10px var(--space-3);transition:background-color var(--duration-normal) var(--easing-default), color var(--duration-normal) var(--easing-default);text-decoration:none;display:flex}.db-nav__item:hover{color:var(--color-text-inverse);background:#ffffff12}.db-nav__item--active{color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);background:#ffffff1f}.db-nav__icon{opacity:.85;text-align:center;flex-shrink:0;width:16px;font-size:13px}.db-sidebar__footer{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid #ffffff14;flex-direction:column;flex-shrink:0;display:flex}.db-sidebar__user{align-items:center;gap:var(--space-3);min-width:0;display:flex}.db-sidebar__avatar{border-radius:var(--radius-circle);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:#ffffff26;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.db-sidebar__user-info{min-width:0}.db-sidebar__user-name{color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.db-sidebar__user-role{color:#fff6;font-size:var(--font-size-xs);margin-top:1px}.db-sidebar .btn--ghost{color:#ffffffa6;border-color:#ffffff1f}.db-sidebar .btn--ghost:hover:not(:disabled){color:var(--color-text-inverse);background:#ffffff1a}.db-sidebar .btn--ghost:active:not(:disabled){background:#ffffff26}.db-main{background:var(--color-surface-page);flex-direction:column;min-height:100vh;display:flex}.db-topbar{background:var(--color-surface-card);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-8);z-index:var(--z-sticky);justify-content:space-between;display:flex;position:sticky;top:0}.db-topbar__left{min-width:0}.db-topbar__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin-bottom:var(--space-1)}.db-topbar__title span{color:var(--color-blue-600)}.db-topbar__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.db-topbar__right{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.db-content{padding:var(--space-7) var(--space-8);flex:1}.db-alert{margin-bottom:var(--space-5)}.db-loader-wrap{padding:var(--space-16) var(--space-8);justify-content:center;align-items:center;display:flex}.db-empty-inline{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-5)}.db-stats{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.db-stat-card{background:var(--color-surface-card);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);align-items:center;gap:var(--space-4);padding:var(--space-5);display:flex}.db-stat-card__icon{background:var(--color-primary-100);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;line-height:1;display:flex}.db-stat-card__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);margin-bottom:3px;line-height:1}.db-stat-card__label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.db-section{margin-top:var(--space-10)}.db-section__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.db-section__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug)}.db-forms-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.db-form-card{background:var(--color-surface-card);border-radius:var(--radius-xl);box-shadow:var(--elevation-1);padding:var(--space-7)}.db-form-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);margin-bottom:var(--space-6)}.db-form{gap:var(--space-5);flex-direction:column;display:flex}.db-form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.db-cards-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.db-entity-card{background:var(--color-surface-card);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);gap:var(--space-3);padding:var(--space-5);transition:box-shadow var(--duration-normal) var(--easing-default);flex-direction:column;display:flex}.db-entity-card:hover{box-shadow:var(--elevation-2)}.db-entity-card__header{align-items:flex-start;gap:var(--space-3);justify-content:space-between;display:flex}.db-entity-card__header-left{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.db-entity-card__avatar{background:var(--color-primary-100);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.db-entity-card__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-tight);margin-bottom:2px}.db-entity-card__sub{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.db-entity-card__description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.db-entity-card__meta{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.db-apps-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.db-app-card{background:var(--color-surface-card);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);gap:var(--space-3);padding:var(--space-5);flex-direction:column;display:flex}.db-app-card__header{align-items:flex-start;gap:var(--space-3);justify-content:space-between;display:flex}.db-app-card__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:2px}.db-app-card__job{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:2px}.db-app-card__job strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.db-app-card__company{color:var(--color-text-muted);font-size:var(--font-size-xs)}.db-app-card__resume{color:var(--color-blue-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);align-self:flex-start;text-decoration:none}.db-app-card__resume:hover{text-decoration:underline}.db-app-card__letter{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.db-app-card__actions{align-items:center;gap:var(--space-2);padding-top:var(--space-1);flex-wrap:wrap;margin-top:auto;display:flex}.db-candidate-layout{align-items:start;gap:var(--space-5);grid-template-columns:340px minmax(0,1fr);height:calc(100vh - 148px);max-height:740px;display:grid}.db-job-list{background:var(--color-surface-card);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);flex-direction:column;height:100%;display:flex;overflow:hidden}.db-job-list__header{border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-panel-pad);flex-shrink:0}.db-job-list__header h2{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);margin-bottom:2px}.db-job-list__header p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.db-job-list__search{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);flex-shrink:0}.db-job-list .candidateListScroller{flex:1;min-height:0;height:100%!important;max-height:none!important;display:block!important}.db-job-details{background:var(--color-surface-card);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);height:100%;padding:var(--space-details-pad);overflow-y:auto}.db-job-details__empty{justify-content:center;align-items:center;height:100%;display:flex}.db-job-details__header{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);justify-content:space-between;display:flex}.db-job-details__header h2{font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-snug);line-height:var(--line-height-tight);margin-bottom:var(--space-1)}.db-job-details__header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.db-job-details__meta{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.db-job-details__body{border-top:1px solid var(--color-border);padding-top:var(--space-6)}.db-job-details__body h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.db-job-details__body p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.db-apply-form{border-top:1px solid var(--color-border);gap:var(--space-5);margin-top:var(--space-7);padding-top:var(--space-6);flex-direction:column;display:flex}.db-apply-form h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}@media (width<=1200px){.db-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=1024px){.db-layout{grid-template-columns:200px 1fr}.db-forms-grid{grid-template-columns:1fr}.db-candidate-layout{grid-template-columns:300px minmax(0,1fr)}}@media (width<=760px){.db-layout{grid-template-columns:1fr}.db-sidebar{display:none}.db-topbar{padding:var(--space-4) var(--space-5)}.db-content{padding:var(--space-5)}.db-stats{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.db-stat-card__value{font-size:var(--font-size-2xl)}.db-forms-grid{grid-template-columns:1fr}.db-candidate-layout{grid-template-columns:1fr;height:auto;max-height:none}.db-job-list{height:360px}.db-job-details{height:auto;min-height:420px}.db-job-details__empty{height:260px}.db-form-row{grid-template-columns:1fr}.db-topbar__title{font-size:var(--font-size-lg)}.db-topbar__subtitle{display:none}}.db-modal-overlay{animation:fadeIn var(--duration-normal) var(--easing-default);padding:var(--space-6);z-index:var(--z-modal);background:#0006;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:0}.db-modal{animation:slideUp var(--duration-normal) var(--easing-out);background:var(--color-surface-card);border-radius:var(--radius-xl);box-shadow:var(--elevation-3);flex-direction:column;width:100%;max-width:400px;max-height:80vh;display:flex}.db-modal__header{border-bottom:1px solid var(--color-border);padding:var(--space-5) var(--space-6);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.db-modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug)}.db-modal__close{background:var(--color-primary-100);border-radius:var(--radius-circle);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);height:28px;transition:background-color var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default);border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;display:flex}.db-modal__close:hover{background:var(--color-primary-200);color:var(--color-text-primary)}.db-modal__body{padding:var(--space-3);overflow-y:auto}.db-applied-list{flex-direction:column;gap:2px;display:flex}.db-applied-item{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);text-align:left;transition:background-color var(--duration-fast) var(--easing-default);background:0 0;border:none;justify-content:space-between;width:100%;display:flex}.db-applied-item:hover{background:var(--color-surface-subtle)}.db-applied-item__info{flex-direction:column;gap:2px;min-width:0;display:flex}.db-applied-item__title{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.db-applied-item__company{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.db-applied-empty{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-5);text-align:center}@media (width<=760px){.db-modal-overlay{justify-content:center;align-items:flex-end;padding:0}.db-modal{border-bottom-right-radius:0;border-bottom-left-radius:0;max-width:100%;max-height:90vh}}.jobSkeleton{background:var(--color-surface-card);border-radius:var(--radius-lg);padding:var(--space-card-padding-sm);gap:var(--space-3);flex-direction:column;display:flex}.skeletonTitle,.skeletonCompany,.skeletonLocation,.skeletonTags span{background:var(--color-action-disabled-bg);border-radius:var(--radius-sm);animation:var(--animation-pulse)}.skeletonTitle{width:70%;height:20px}.skeletonCompany{width:45%;height:14px}.skeletonLocation{width:30%;height:14px}.skeletonTags{gap:var(--space-2);display:flex}.skeletonTags span{width:80px;height:28px}.skeletonDetail{background:var(--color-action-disabled-bg);border-radius:var(--radius-base);height:150px;margin-top:var(--space-5)}.post-form{width:100%;max-width:860px;margin:0 auto}.post-form__heading{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.post-form__body{gap:var(--space-5);flex-direction:column;display:flex}.post-editor{border:1.5px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-surface-card);transition:border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default);overflow:visible}.post-editor:focus-within{border-color:var(--color-blue-600);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-blue-600) 15%, transparent)}.post-editor--error{border-color:var(--color-red-700)}.post-editor--error:focus-within{border-color:var(--color-red-700);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-red-700) 15%, transparent)}.post-editor__toolbar{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-surface-subtle);flex-wrap:wrap;display:flex}.post-editor__tool{min-width:28px;height:28px;padding:0 var(--space-1);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:background-color var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.post-editor__tool:hover{background:var(--color-primary-100);color:var(--color-text-primary)}.post-editor__tool.is-active{background:var(--color-primary-800);color:var(--color-text-inverse)}.post-editor__tool--label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);font-family:var(--font-family-primary);letter-spacing:-.01em;min-width:28px}.post-editor__tool:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.post-editor__tool svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:14px;height:14px}.post-editor__tool svg.icon--filled{fill:currentColor;stroke:none}.post-editor__divider{background:var(--color-border);width:1px;height:18px;margin:0 var(--space-1);flex-shrink:0}.post-editor__emoji-wrap{margin-left:auto;position:relative}.post-editor__emoji-tool{font-size:16px}.post-editor__emoji-picker{top:calc(100% + var(--space-2));z-index:var(--z-dropdown);border-radius:var(--radius-lg);box-shadow:var(--elevation-3);position:absolute;right:0;overflow:hidden}.post-editor__content{min-height:140px;padding:var(--space-3);cursor:text}.post-editor__content .tiptap{min-height:120px;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-relaxed,1.6);outline:none}.post-editor__content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-primary-300);pointer-events:none;float:left;height:0}.post-editor__content .tiptap h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:var(--space-3) 0 var(--space-2)}.post-editor__content .tiptap h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:var(--space-3) 0 var(--space-2)}.post-editor__content .tiptap h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);margin:var(--space-2) 0 var(--space-2)}.post-editor__content .tiptap h1:first-child,.post-editor__content .tiptap h2:first-child,.post-editor__content .tiptap h3:first-child{margin-top:0}.post-editor__content .tiptap ul,.post-editor__content .tiptap ol{padding-left:var(--space-6)}.post-editor__content .tiptap blockquote{border-left:3px solid var(--color-primary-300);margin:var(--space-2) 0;padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);background:var(--color-surface-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic}.post-editor__content .tiptap code{background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--radius-xs);border:1px solid var(--color-border);padding:1px 5px;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9em}.post-editor__content .tiptap pre{background:var(--color-primary-800);color:var(--color-text-inverse);border-radius:var(--radius-md);padding:var(--space-4);font-family:Menlo,Monaco,Courier New,monospace;font-size:var(--font-size-xs);margin:var(--space-2) 0;overflow-x:auto}.post-editor__content .tiptap pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}.post-form__media-section{gap:var(--space-3);flex-direction:column;display:flex}.post-form__media-label{align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:.02em;display:flex}.post-form__media-count{background:var(--color-primary-100);color:var(--color-text-secondary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;display:inline-flex}.post-form__media-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.post-form__media-item{aspect-ratio:4/3;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-primary-800);flex-shrink:0;position:relative;overflow:hidden}.post-form__media-item img,.post-form__media-video-thumb{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-normal) var(--easing-default);display:block}.post-form__media-item:hover img,.post-form__media-item:hover .post-form__media-video-thumb{transform:scale(1.04)}.post-form__media-item:after{content:"";transition:background var(--duration-fast) var(--easing-default);pointer-events:none;z-index:1;background:0 0;position:absolute;inset:0}.post-form__media-item:hover:after{background:#00000026}.post-form__media-play{pointer-events:none;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.post-form__media-play svg{fill:#ffffffe6;filter:drop-shadow(0 2px 6px #00000080);width:34px;height:34px;transition:transform var(--duration-fast) var(--easing-default)}.post-form__media-item:hover .post-form__media-play svg{transform:scale(1.1)}.post-form__media-type-badge{color:#ffffffe6;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;border-radius:var(--radius-xs);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3;pointer-events:none;background:#0009;padding:2px 6px;position:absolute;bottom:7px;left:7px}.post-form__media-remove{border-radius:var(--radius-circle);color:#fff;cursor:pointer;z-index:4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:24px;height:24px;transition:background-color var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);background:#111827b8;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:7px;right:7px}.post-form__media-remove svg{stroke:currentColor;fill:none;stroke-width:2.5px;stroke-linecap:round;pointer-events:none;width:10px;height:10px}.post-form__media-remove:hover{background:#b91c1ce6;transform:scale(1.12)}.post-form__footer{justify-content:space-between;gap:var(--space-3)}.post-form__footer-actions{align-items:center;gap:var(--space-2);display:flex}.post-form__attach-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-card);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);cursor:pointer;white-space:nowrap;transition:border-color var(--duration-fast) var(--easing-default), color var(--duration-fast) var(--easing-default), background-color var(--duration-fast) var(--easing-default);display:inline-flex}.post-form__attach-btn:hover{border-color:var(--color-primary-400);color:var(--color-text-primary);background:var(--color-primary-50)}.post-form__attach-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:14px;height:14px}.post-form__attach-count{background:var(--color-primary-800);color:var(--color-text-inverse);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;line-height:1;display:inline-flex}.post-form__file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.post-form__emoji-backdrop{z-index:calc(var(--z-dropdown) - 1);position:fixed;inset:0}.media-carousel{gap:var(--space-2);flex-direction:column;display:flex}.media-carousel__track{scroll-snap-type:x mandatory;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-subtle);display:flex;overflow-x:auto}.media-carousel__slide{aspect-ratio:16/9;scroll-snap-align:start;background:var(--color-primary-800);width:100%;min-width:100%;overflow:hidden}.media-carousel__image,.media-carousel__video{object-fit:cover;width:100%;height:100%;display:block}.media-carousel__dots{justify-content:center;gap:var(--space-1);display:flex}.media-carousel__dot{border-radius:var(--radius-circle);background:var(--color-primary-200);width:6px;height:6px}.media-carousel__dot.is-active{background:var(--color-primary-700)}.post-card{border:1px solid var(--color-border);background:linear-gradient(180deg, color-mix(in srgb, var(--color-primary-50) 35%, transparent), transparent 52%), var(--color-surface-card);box-shadow:var(--elevation-1);transition:transform var(--duration-normal) var(--easing-default), box-shadow var(--duration-normal) var(--easing-default), border-color var(--duration-fast) var(--easing-default);position:relative}.post-card:before{content:"";border-radius:inherit;border:1px solid color-mix(in srgb, var(--color-primary-200) 45%, transparent);opacity:0;transition:opacity var(--duration-fast) var(--easing-default);pointer-events:none;position:absolute;inset:0}.post-card:hover{box-shadow:var(--elevation-3);border-color:color-mix(in srgb, var(--color-primary-200) 70%, var(--color-border));transform:translateY(-4px)}.post-card:hover:before{opacity:1}@media (prefers-reduced-motion:reduce){.post-card{transition:none}.post-card:hover{transform:none}}.post-card__body{gap:var(--space-4);flex-direction:column;display:flex}.post-card__header{gap:var(--space-3);align-items:flex-start;display:flex}.post-card__avatar{border-radius:var(--radius-circle);background:var(--color-primary-100);width:48px;height:48px;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.post-card__meta{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.post-card__name{font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.post-card__headline,.post-card__time{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.post-card__username{font-size:calc(var(--font-size-xs) + 1px);color:var(--color-primary-700);font-weight:var(--font-weight-semibold);background:color-mix(in srgb, var(--color-primary-100) 75%, transparent);border:1px solid color-mix(in srgb, var(--color-primary-200) 80%, transparent);border-radius:var(--radius-full);padding:2px var(--space-2);letter-spacing:.01em;align-self:flex-start}.post-card__content{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed,1.6);color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.post-card__media{margin-top:var(--space-2);border-radius:var(--radius-lg);overflow:hidden}.post-feed{width:100%;max-width:min(1100px,100%);margin:0 auto}.post-feed--skeleton{gap:var(--space-3);flex-direction:column;display:flex}.post-feed__scroller{gap:var(--space-4);flex-direction:column;max-height:80vh;display:flex}.post-feed__item{padding:0 0 var(--space-4)}.post-feed__loading-more{padding:var(--space-4) 0;gap:var(--space-2);flex-direction:column;display:flex}
