.toast{bottom:var(--spacing-lg);align-items:center;gap:var(--spacing-md);max-width:calc(100vw - var(--spacing-lg) * 2);background:var(--color-text-primary);color:var(--color-surface);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-size:var(--font-size-sm);box-shadow:var(--shadow-elevated);z-index:var(--z-index-toast);opacity:0;pointer-events:none;font-weight:600;transition:transform .3s,opacity .3s;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(80px)}.toast--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.toast__message{white-space:normal}.toast__action{border:var(--border-width-sm) solid var(--color-surface);color:var(--color-surface);border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;flex-shrink:0;font-weight:700}.toast__action:hover{background:color-mix(in srgb, currentColor 15%, transparent)}.toast__action:focus-visible{outline:var(--border-width-md) solid var(--color-surface);outline-offset:2px}@media (width<=640px){.toast{left:var(--spacing-md);right:var(--spacing-md);max-width:none;transform:translateY(80px)}.toast--visible{transform:translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(6px);padding-top:max(var(--spacing-md), env(safe-area-inset-top));padding-right:max(var(--spacing-md), env(safe-area-inset-right));padding-bottom:max(var(--spacing-md), env(safe-area-inset-bottom));padding-left:max(var(--spacing-md), env(safe-area-inset-left));z-index:var(--z-index-modal);background:#000000b8;justify-content:center;align-items:center;animation:.2s ease-out modalOverlayFadeIn;display:flex;position:fixed;inset:0}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-backdrop{cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.modal-container{z-index:1;background:var(--color-modal-bg);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-modal);border-radius:16px;flex-direction:column;width:100%;max-height:90dvh;animation:.3s cubic-bezier(.22,1,.36,1) modalScaleIn;display:flex;position:relative}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-container--sm{max-width:400px}.modal-container--md{max-width:600px}.modal-container--lg{max-width:800px}.modal-container--xl{max-width:1000px}.modal-container--full{width:min(1400px,96vw);height:92dvh;max-height:92dvh}.modal-container--full-narrow{width:min(90vh,96vw)}.modal-container--full .modal-content{min-height:0;padding:var(--spacing-md);display:flex;overflow:hidden}.modal-container--full .modal-content>*{flex:auto;min-width:0;min-height:0}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-xl);color:var(--color-text-primary);margin:0;font-weight:700}.modal-close{color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-content{padding:var(--spacing-lg);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--color-surface);border-radius:var(--radius-sm)}.modal-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@media (width<=768px){.modal-overlay{padding:0 0 env(safe-area-inset-bottom);align-items:flex-end}.modal-container{border-radius:16px 16px 0 0;max-height:95dvh;animation:.3s cubic-bezier(.22,1,.36,1) modalSlideUpMobile}@keyframes modalSlideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-container--sm,.modal-container--md,.modal-container--lg,.modal-container--xl,.modal-container--full{max-width:100%}.modal-container--full{width:100%;height:95dvh;max-height:95dvh}.modal-header,.modal-content{padding:var(--spacing-md)}}@media (orientation:landscape) and (height<=520px){.modal-overlay{align-items:center;padding:0}.modal-container{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.modal-header{padding:var(--spacing-xs) var(--spacing-md)}.modal-title{font-size:var(--font-size-base)}.modal-content{padding:var(--spacing-xs)}}.legal-content{max-width:800px;padding:var(--spacing-xl);color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin:0 auto}.legal-content h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-weight:700}.legal-content h2{font-size:var(--font-size-xl);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-default);padding-bottom:var(--spacing-xs);font-weight:700}.legal-content h3{font-size:var(--font-size-lg);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-weight:600}.legal-content p{margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.legal-content ul,.legal-content ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl)}.legal-content li{margin-bottom:var(--spacing-xs)}.legal-content a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:underline}.legal-content a:hover{color:var(--color-primary-hover)}.legal-content strong{color:var(--color-text-primary);font-weight:600}.legal-effective-date,.legal-version{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.legal-section{margin-bottom:var(--spacing-2xl)}.legal-contact{background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0}.legal-contact p{margin-bottom:var(--spacing-xs)}.legal-contact p:last-child{margin-bottom:0}.legal-footer{border-top:2px solid var(--color-border-default);padding-top:var(--spacing-lg);margin-top:var(--spacing-2xl);text-align:center}.legal-footer p{margin-bottom:var(--spacing-sm)}.legal-footer p:last-child{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}@media (width<=768px){.legal-content{padding:var(--spacing-md)}.legal-content h1{font-size:var(--font-size-2xl)}.legal-content h2{font-size:var(--font-size-lg)}.legal-content h3{font-size:var(--font-size-base)}}.cookie-settings{gap:var(--spacing-xl);flex-direction:column;display:flex}.cookie-settings__intro{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.cookie-settings__category{padding:var(--spacing-lg);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--spacing-md);flex-direction:column;display:flex}.cookie-settings__category-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);display:flex}.cookie-settings__category-info{flex:1}.cookie-settings__category-title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:700;line-height:var(--line-height-tight)}.cookie-settings__category-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.cookie-settings__examples{font-size:var(--font-size-xs);color:var(--color-text-muted);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.cookie-settings__examples strong{color:var(--color-text-secondary);font-weight:600}.cookie-settings__toggle-wrapper{align-items:flex-end;gap:var(--spacing-xs);flex-direction:column;flex-shrink:0;display:flex}.cookie-settings__toggle{cursor:pointer;width:48px;height:24px;display:inline-block;position:relative}.cookie-settings__toggle--disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.cookie-settings__toggle-input{opacity:0;width:0;height:0;position:absolute}.cookie-settings__toggle-slider{background-color:var(--color-border);transition:background-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:24px;position:absolute;inset:0}.cookie-settings__toggle-slider:before{content:"";background-color:var(--color-surface);width:18px;height:18px;transition:transform var(--transition-fast);border-radius:50%;position:absolute;bottom:3px;left:3px}.cookie-settings__toggle-input:checked+.cookie-settings__toggle-slider{background-color:var(--color-primary)}.cookie-settings__toggle-input:checked+.cookie-settings__toggle-slider:before{transform:translate(24px)}.cookie-settings__toggle-input:focus-visible+.cookie-settings__toggle-slider{outline:2px solid var(--color-primary);outline-offset:2px}.cookie-settings__toggle-input:disabled+.cookie-settings__toggle-slider{cursor:not-allowed}.cookie-settings__toggle-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;min-width:60px;font-weight:600}.cookie-settings__actions{padding-top:var(--spacing-md);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.cookie-settings__button{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);cursor:pointer;font-weight:600}.cookie-settings__button--primary{background-color:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary)}.cookie-settings__button--primary:hover,.cookie-settings__button--primary:focus-visible{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.cookie-settings__button--primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=640px){.cookie-settings__category-header{gap:var(--spacing-md);flex-direction:column}.cookie-settings__toggle-wrapper{align-items:center;gap:var(--spacing-sm);flex-direction:row}}.cookie-banner{bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);z-index:var(--z-index-modal);pointer-events:none;transform:translateY(calc(100% + var(--spacing-md)));opacity:0;transition:transform var(--transition-normal), opacity var(--transition-normal);position:fixed}.cookie-banner--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.cookie-banner__content{background:var(--color-modal-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);max-width:800px;padding:var(--spacing-lg);box-shadow:var(--shadow-modal);gap:var(--spacing-lg);flex-direction:column;margin:0 auto;display:flex}@media (width>=640px){.cookie-banner{left:var(--spacing-lg);right:var(--spacing-lg);bottom:var(--spacing-lg)}.cookie-banner__content{padding:var(--spacing-xl);flex-direction:row;align-items:center}}.cookie-banner__text{flex:1}.cookie-banner__title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:700;line-height:var(--line-height-tight)}.cookie-banner__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.cookie-banner__link{appearance:none;font:inherit;cursor:pointer;color:var(--color-primary);transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.cookie-banner__link:hover,.cookie-banner__link:focus-visible{color:var(--color-primary-hover)}.cookie-banner__actions{gap:var(--spacing-sm);flex-direction:column;width:100%;display:flex}@media (width>=640px){.cookie-banner__actions{flex-direction:row;flex-shrink:0;width:auto}}.cookie-banner__button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;cursor:pointer;font-weight:600}.cookie-banner__button--primary{background-color:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary)}.cookie-banner__button--primary:hover,.cookie-banner__button--primary:focus-visible{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.cookie-banner__button--secondary{color:var(--color-text-primary);border:1px solid var(--color-border);background-color:#0000}.cookie-banner__button--secondary:hover,.cookie-banner__button--secondary:focus-visible{background-color:var(--color-surface-hover);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.cookie-banner__button--text{color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-md);background-color:#0000;border:1px solid #0000}.cookie-banner__button--text:hover,.cookie-banner__button--text:focus-visible{background-color:var(--color-surface-hover);border-color:var(--color-border)}.cookie-banner__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.binder-surface{isolation:isolate;position:relative}.binder-surface__layer{z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.binder-surface__layer--finish-linen{opacity:.5;background-repeat:repeat}.book-viewer{gap:var(--spacing-md);width:100%;padding:var(--spacing-md);border-radius:var(--radius-lg);background-color:var(--color-card-surface);border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.two-page-warning{align-self:center;align-items:center;gap:var(--spacing-xs);max-width:100%;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-warning-dark);background-color:var(--color-warning);box-shadow:var(--shadow-sm);color:var(--color-black);font-size:var(--font-size-xs);text-align:center;flex-shrink:0;font-weight:600;display:inline-flex}.two-page-warning__close{border-radius:var(--radius-full);width:16px;height:16px;color:inherit;cursor:pointer;background-color:#0000001f;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.two-page-warning__close:hover{background-color:#00000038}.book-viewer__header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:0 2px;display:flex}.book-viewer__name{letter-spacing:-.02em;min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:1.06rem;font-weight:700;overflow:hidden}.book-viewer__actions{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.book-viewer__mode-toggle{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--radius-full);background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border);display:flex}.book-viewer__mode-toggle-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-xs);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;font-weight:700;display:inline-flex}.book-viewer__mode-toggle-btn:hover:not(.book-viewer__mode-toggle-btn--active){color:var(--color-text-primary)}.book-viewer__mode-toggle-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.book-viewer__mode-toggle-btn--active{background:var(--color-primary);color:var(--color-on-primary)}.book-viewer__mode-toggle-btn--active:hover{background:var(--color-primary-hover)}.book-viewer__stage{justify-content:center;align-items:center;gap:var(--spacing-sm);display:flex;position:relative}.book-viewer__viewport{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.book-viewer__deck{flex:1;justify-content:center;align-self:stretch;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.book-viewer__leaf-layer{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.book-viewer__leaf-box{position:relative;overflow:hidden}.book-viewer__leaf-static{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.book-viewer__page,.book-viewer__leaf-box{flex:1;min-width:0}.book-viewer__page{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-sm)}.book-viewer__page--reverse:after{content:"";border-radius:inherit;pointer-events:none;background-image:linear-gradient(135deg,#ffffff12,#0000001a);position:absolute;inset:0}.book-viewer__nav{border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-border);background-color:var(--color-surface-raised);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.book-viewer__nav:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text-primary)}.book-viewer__nav:disabled{opacity:.35;cursor:not-allowed}.book-viewer__swipe-hint{left:50%;bottom:var(--spacing-sm);z-index:2;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-border);background:var(--color-surface-raised);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);white-space:nowrap;pointer-events:none;opacity:0;align-items:center;font-weight:600;animation:2.8s forwards book-viewer-hint-fade;display:flex;position:absolute}@keyframes book-viewer-hint-fade{0%{opacity:0;transform:translate(-50%,4px)}12%{opacity:1;transform:translate(-50%)}82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,4px)}}@media (prefers-reduced-motion:reduce){.book-viewer__swipe-hint{opacity:1;animation:none;transform:translate(-50%)}}.book-viewer__grid{gap:var(--spacing-sm);width:100%;max-width:720px;margin:0 auto;display:grid}.book-viewer__grid--cols-2{grid-template-columns:repeat(2,1fr);max-width:380px}.book-viewer__grid--cols-3{grid-template-columns:repeat(3,1fr);max-width:560px}.book-viewer__grid--cols-4{grid-template-columns:repeat(4,1fr);max-width:720px}.book-viewer__slot{aspect-ratio:63/88;border-radius:var(--radius-md);background-color:var(--binder-slot-bg,var(--color-surface));border:var(--border-width-sm) solid var(--binder-slot-border,var(--color-border-default));position:relative;overflow:hidden}.book-viewer__slot--sleeved{border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--border-width-md) var(--binder-sleeve,#0000000f);justify-content:center;align-items:center;padding:8px;display:flex;container-type:size}.book-viewer__slot--sleeved .book-viewer__card-img{aspect-ratio:63/88;border-radius:calc(var(--radius-sm) - 2px);width:min(100%,71.5909cqh);max-width:100%;height:auto;max-height:100%;margin:auto}.book-viewer__card-img{object-fit:cover;border-radius:var(--radius-md);width:100%;height:100%;display:block}.book-viewer__card-img--enter{animation:.45s cubic-bezier(.2,.8,.3,1) both book-viewer-card-enter}@keyframes book-viewer-card-enter{0%{opacity:0;transform:scale(.92)translateY(6px)}to{opacity:1;transform:none}}.book-viewer__empty-slot{width:100%;height:100%}.book-viewer__footer{justify-content:center;align-items:center;gap:var(--spacing-sm);display:flex}.book-viewer__counter{font-size:var(--font-size-xs);letter-spacing:.02em;text-transform:uppercase;color:inherit;opacity:.65;font-weight:600}.book-viewer__dots{align-items:center;gap:6px;display:none}.book-viewer__dot{border-radius:var(--radius-full);background-color:var(--color-border-strong);opacity:.5;width:6px;height:6px;transition:opacity var(--transition-fast), transform var(--transition-fast), background-color var(--transition-fast)}.book-viewer__dot--active{background-color:var(--color-primary);opacity:1;transform:scale(1.3)}@media (width<=767px){.book-viewer__dots{display:flex}}@media (width<=640px){.book-viewer__nav{width:30px;height:30px}.book-viewer__stage{gap:var(--spacing-xs)}.book-viewer__mode-toggle-btn span{display:none}}.book-viewer--fit{gap:var(--spacing-sm);height:100%;min-height:0;box-shadow:none;color:var(--color-text-primary);background:0 0;border:none;border-radius:0;padding:0;position:relative}.book-viewer--fit .book-viewer__stage{flex:1;min-width:0;min-height:0;overflow:hidden;container:binder-stage/size}.book-viewer--fit .book-viewer__viewport{height:100%;overflow:hidden}.book-viewer--fit .book-viewer__deck--single{--board-pad:clamp(var(--spacing-xs), 1.4cqh, var(--spacing-md));padding:var(--board-pad);box-sizing:border-box}.book-viewer--fit .book-viewer__page,.book-viewer--fit .book-viewer__leaf-box{width:min(100%, calc((100cqh - 2 * var(--board-pad,0px)) * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);box-sizing:border-box;flex:0 auto;min-width:0;max-width:100%;min-height:0;max-height:100%;margin:auto}.book-viewer--fit .book-viewer__page{--page-pad:clamp(var(--spacing-xs), 1.6cqh, var(--spacing-lg));padding:var(--page-pad);border-radius:var(--radius-xl);justify-content:center;align-items:center;display:flex;container-type:size}.book-viewer--fit .book-viewer__leaf-box{border-radius:var(--radius-xl)}.book-viewer--fit .book-viewer__page--board{box-shadow:0 0 0 var(--board-pad) var(--color-surface-raised), 0 0 0 calc(var(--board-pad) + var(--border-width-sm)) var(--color-border), var(--shadow-lg)}.book-viewer--fit .book-viewer__page .book-viewer__grid{width:min(100%, calc((100cqh - 2 * var(--page-pad,0px)) * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);grid-auto-rows:1fr;max-width:100%;max-height:100%;margin:auto}.book-viewer--fit .book-viewer__slot--empty{background-color:var(--binder-empty-bg,var(--color-input-bg));border:var(--border-width-md) dashed var(--binder-empty-border,var(--color-border-strong))}.book-viewer--fit .book-viewer__slot--cardback{border-style:solid}.book-viewer--fit .book-viewer__slot--filled{border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-sm)}.book-viewer--fit .binder-spread{flex:auto;min-width:0;min-height:0}.book-viewer--fit .binder-spread__book{width:min(100%, calc(100cqh * var(--spread-ar,1.62)));max-width:100%;height:auto;max-height:100%;padding:clamp(var(--spacing-sm), 1.4cqh, var(--spacing-md));box-sizing:border-box;margin:auto}.book-viewer--fit .binder-spread__page{padding:clamp(var(--spacing-xs), 1.2cqh, var(--spacing-md));gap:var(--spacing-xs)}.book-viewer--fit .binder-spread__page-content{container-type:size}.book-viewer--fit .binder-spread__page-fit{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);max-width:100%;max-height:100%;margin:auto}.book-viewer--fit .binder-spread__page-content .book-viewer__grid{grid-auto-rows:1fr;width:100%;max-width:none;height:100%}.binder-spread{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex}.binder-spread__book{--spread-ar:var(--spread-ar-wide,1.62);max-width:100%;height:100%;max-height:100%;aspect-ratio:var(--spread-ar,1.62);box-sizing:border-box;padding:var(--spacing-lg);border-radius:var(--radius-xl);border:var(--border-width-sm) solid var(--color-border);background:linear-gradient(180deg, var(--color-surface-raised), var(--color-card-surface));box-shadow:var(--shadow-lg);display:flex;position:relative}.binder-spread__leaf-layer{padding:inherit;box-sizing:border-box;pointer-events:none;display:flex;position:absolute;inset:0}.binder-spread__leaf-gap,.binder-spread__leaf-box{flex:1;min-width:0;min-height:0}.binder-spread__leaf-box{position:relative}.binder-leaf{pointer-events:none;perspective:1500px;perspective-origin:var(--leaf-vanishing-point,50% 50%);position:absolute;inset:0}.binder-leaf__flap{transform-style:preserve-3d;position:absolute;top:0;bottom:0}.binder-leaf--spread.binder-leaf--x{--leaf-vanishing-point:0% 50%}.binder-leaf--spread.binder-leaf--y{--leaf-vanishing-point:50% 0%}.book-viewer--fit .binder-leaf{perspective:clamp(600px,200cqh,2200px)}.binder-leaf__seg{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;position:absolute;top:0;left:0}.binder-leaf--x .binder-leaf__seg{transform-origin:0}.binder-leaf--y .binder-leaf__seg{transform-origin:top}.binder-leaf--x .binder-leaf__seg--root{width:calc(100% / var(--leaf-segments,3))}.binder-leaf--y .binder-leaf__seg--root{height:calc(100% / var(--leaf-segments,3))}.binder-leaf__face{background-color:var(--color-surface);backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.binder-leaf--x .binder-leaf__face--back{transform:rotateY(180deg)}.binder-leaf--y .binder-leaf__face--back{transform:rotateX(180deg)}.binder-leaf__page{align-items:stretch;display:flex;position:absolute}.binder-leaf--x .binder-leaf__page{width:calc(100% * var(--leaf-segments,3));height:100%;top:0}.binder-leaf--y .binder-leaf__page{width:100%;height:calc(100% * var(--leaf-segments,3));left:0}.binder-leaf__shade,.binder-leaf__gloss{pointer-events:none;position:absolute;inset:0}.binder-leaf__shade{background-color:#000}.binder-leaf--x .binder-leaf__gloss{background-image:linear-gradient(#ffffffe6,#ffffff40 45%,#ffffffbf)}.binder-leaf--y .binder-leaf__gloss{background-image:linear-gradient(90deg,#ffffffe6,#ffffff40 45%,#ffffffbf)}.binder-leaf__shadow-area{pointer-events:none;position:absolute}.binder-leaf--x .binder-leaf__shadow-area{top:0;bottom:0}.binder-leaf--y .binder-leaf__shadow-area{left:0;right:0}.binder-leaf__cast-shadow,.binder-leaf__contact-shadow{will-change:transform, opacity;position:absolute}.binder-leaf--x .binder-leaf__cast-shadow,.binder-leaf--x .binder-leaf__contact-shadow{top:0;bottom:0;left:0}.binder-leaf--y .binder-leaf__cast-shadow,.binder-leaf--y .binder-leaf__contact-shadow{top:0;left:0;right:0}.binder-leaf--x .binder-leaf__cast-shadow{background-image:linear-gradient(90deg,#0000,#0000002e 35%,#0009 62%,#0000001f 86%,#0000)}.binder-leaf--y .binder-leaf__cast-shadow{background-image:linear-gradient(#0000,#0000002e 35%,#0009 62%,#0000001f 86%,#0000)}.binder-leaf--x .binder-leaf__contact-shadow{background-image:linear-gradient(90deg,#0000,#000c 65%,#00000059)}.binder-leaf--y .binder-leaf__contact-shadow{background-image:linear-gradient(#0000,#000c 65%,#00000059)}.binder-spread__page{gap:var(--spacing-sm);min-width:0;min-height:0;padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 var(--border-width-md) transparent;transition:box-shadow var(--transition-fast);flex-direction:column;flex:1;display:flex}.binder-spread__page--selectable{cursor:pointer}.binder-spread__page--selectable:hover{box-shadow:inset 0 0 0 var(--border-width-md) var(--color-border-strong)}.binder-spread__page--active,.binder-spread__page--active.binder-spread__page--selectable:hover{box-shadow:inset 0 0 0 var(--border-width-md) var(--color-primary-border-soft)}.binder-spread__page-content{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.binder-spread__page-fit{width:100%;max-height:100%;aspect-ratio:var(--grid-ar,.72)}.binder-spread__page-content .binder-grid,.binder-spread__page-content .book-viewer__grid{width:100%;max-width:none}.binder-spread__page-label{text-align:center;font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--binder-label-ink,var(--color-text-muted));font-weight:700}.binder-spread__page-label--btn{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);transition:color var(--transition-fast), background-color var(--transition-fast);margin:0 auto;display:inline-flex}.binder-spread__page-label--btn:hover{color:var(--color-text-secondary);background-color:var(--color-surface-hover)}.binder-spread__page-label--btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-spread__page-label--active,.binder-spread__page-label--active:hover{color:var(--binder-label-active-ink,var(--color-primary));background-color:var(--binder-label-active-bg,var(--color-primary-subtle))}.binder-spread__page-editing-dot{border-radius:var(--radius-full);background-color:var(--binder-label-active-ink,var(--color-primary));width:5px;height:5px}.binder-spread__cover{text-align:center;border-radius:var(--radius-md);justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative}.binder-spread__cover--grid,.binder-spread__cover--page{gap:var(--spacing-md);flex-direction:column}.binder-spread__cover-name{padding:0 var(--spacing-lg);font-size:var(--font-size-lg);letter-spacing:-.01em;color:inherit;overflow-wrap:break-word;font-weight:700}.binder-spread__cover-grid-fit{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;container-type:size}.binder-spread__cover-grid{grid-template-columns:repeat(var(--cover-grid-cols,2), 1fr);gap:var(--spacing-sm);width:min(100%, max(80px, calc((100cqh - var(--spacing-sm)) * 63 / 88 + var(--spacing-sm))));display:grid}.binder-spread__cover-cell{aspect-ratio:63/88;border-radius:var(--radius-md);background-color:var(--binder-slot-bg,var(--color-surface));border:var(--border-width-sm) solid var(--binder-slot-border,var(--color-border-default));overflow:hidden}.binder-spread__cover-cell-img{object-fit:cover;width:100%;height:100%;display:block}.binder-spread__cover-cell-empty{background-image:radial-gradient(var(--binder-empty-border,#0000000f) 1.4px, transparent 1.4px);background-size:12px 12px;width:100%;height:100%}.binder-spread__cover-page-content{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.binder-spread__cover-title-band{max-width:100%;padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-base);letter-spacing:-.01em;text-align:center;color:inherit;overflow-wrap:break-word;flex-shrink:0;align-self:center;font-weight:700}.binder-spread__spine{left:50%;top:var(--spacing-md);bottom:var(--spacing-md);pointer-events:none;justify-content:center;align-items:center;width:26px;display:flex;position:absolute;transform:translate(-50%)}.binder-spread__spine-shadow{border-radius:var(--radius-sm);background:linear-gradient(90deg,#0000,#0000002e,#0000002e,#0000);position:absolute;inset:0}@media (width<=767px){.binder-spread__book,.binder-spread__page{padding:var(--spacing-sm)}.binder-spread__spine{width:16px}.book-viewer--fit .binder-spread__cover--grid,.book-viewer--fit .binder-spread__cover--page{gap:var(--spacing-sm)}.book-viewer--fit .binder-spread__cover-title-band{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}}@media (height<=520px){.book-viewer--fit{gap:var(--spacing-xs)}.book-viewer--fit .book-viewer__header{padding:0}.book-viewer--fit .book-viewer__footer{right:var(--spacing-xs);pointer-events:none;position:absolute;bottom:0}}@container binder-stage (aspect-ratio<=1){.binder-spread__book{--spread-ar:var(--spread-ar-stacked,.35);flex-direction:column}.binder-spread__leaf-layer{flex-direction:column}.binder-spread__spine{top:50%;bottom:auto;left:var(--spacing-md);right:var(--spacing-md);width:auto;height:26px;transform:translateY(-50%)}.binder-spread__spine-shadow{background:linear-gradient(#0000,#0000002e,#0000002e,#0000)}}@media (width<=767px){@container binder-stage (aspect-ratio<=1){.binder-spread__spine{height:16px}}}.binder-immersive{z-index:var(--z-index-overlay);background:var(--color-background);overscroll-behavior:contain;touch-action:manipulation;height:100dvh;position:fixed;inset:0}.binder-immersive__chevron{z-index:2;width:40px;height:18px;padding-top:env(safe-area-inset-top);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-immersive-scrim);color:var(--color-white);cursor:pointer;transition:opacity var(--transition-normal);border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.binder-immersive__bar{z-index:1;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-white);background:var(--color-immersive-scrim);transition:opacity var(--transition-normal), transform var(--transition-normal);display:flex;position:absolute;left:0;right:0}.binder-immersive__bar--top{align-items:stretch;gap:var(--spacing-xs);padding-top:max(var(--spacing-sm), env(safe-area-inset-top));padding-left:max(var(--spacing-md), env(safe-area-inset-left));padding-right:max(var(--spacing-md), env(safe-area-inset-right));flex-direction:column;top:0}.binder-immersive__top-bar-row{align-items:center;gap:var(--spacing-sm);width:100%;display:flex}.binder-immersive__bar--bottom{padding-bottom:max(var(--spacing-sm), env(safe-area-inset-bottom));padding-left:max(var(--spacing-md), env(safe-area-inset-left));padding-right:max(var(--spacing-md), env(safe-area-inset-right));justify-content:center;bottom:0}.binder-immersive--chrome-hidden .binder-immersive__bar--top{opacity:0;pointer-events:none;transform:translateY(-100%)}.binder-immersive--chrome-hidden .binder-immersive__bar--bottom{opacity:0;pointer-events:none;transform:translateY(100%)}.binder-immersive__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-base);flex:1;font-weight:700;overflow:hidden}.binder-immersive__icon-btn{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-white);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.binder-immersive__icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--color-white) 18%, transparent)}.binder-immersive__icon-btn:focus-visible{outline:var(--border-width-md) solid var(--color-white);outline-offset:2px}.binder-immersive__icon-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.binder-immersive__add-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast);border:none;font-weight:700;display:inline-flex}.binder-immersive__add-btn:hover:not(:disabled){background:var(--color-primary-hover)}.binder-immersive__add-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.binder-immersive__add-btn:focus-visible{outline:var(--border-width-md) solid var(--color-white);outline-offset:2px}.binder-immersive__stage{padding:max(var(--spacing-xs), env(safe-area-inset-top)) max(var(--spacing-xs), env(safe-area-inset-right)) max(var(--spacing-xs), env(safe-area-inset-bottom)) max(var(--spacing-xs), env(safe-area-inset-left));box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden;container:binder-stage/size}@media (prefers-reduced-motion:reduce){.binder-immersive__bar,.binder-immersive__chevron{transition:none}}.binder-immersive__stage .binder-grid-panel{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);max-width:100%;min-height:0;max-height:100%;padding:clamp(var(--spacing-xs), 2cqh, var(--spacing-lg));box-sizing:border-box;box-shadow:none;justify-content:center;align-items:center;margin:auto;display:flex;container-type:size}.binder-immersive__stage .binder-grid-section{justify-content:center;width:100%;height:100%}.binder-immersive__stage .binder-grid{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);grid-auto-rows:1fr;max-width:100%;max-height:100%;margin:auto}.binder-immersive__stage>.binder-spread{width:100%;min-width:0;height:100%;min-height:0}.binder-immersive__stage .binder-spread__book{width:min(100%, calc(100cqh * var(--spread-ar,1.62)));max-width:100%;height:auto;max-height:100%;padding:clamp(var(--spacing-sm), 1.6cqh, var(--spacing-md));box-sizing:border-box;margin:auto}.binder-immersive__stage .binder-spread__page{padding:clamp(var(--spacing-xs), 1.4cqh, var(--spacing-md));gap:var(--spacing-xs)}.binder-immersive__stage .binder-spread__page-content{container-type:size}.binder-immersive__stage .binder-spread__page-fit{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);max-width:100%;max-height:100%;margin:auto}.binder-immersive__stage .binder-spread__page-content .binder-grid{grid-auto-rows:1fr;width:100%;max-width:none;height:100%}.binder-immersive__stage .binder-slot__swap{opacity:1;width:20px;height:20px;display:flex}.binder-immersive__stage .binder-slot__add{width:32px;height:32px;display:flex}@media (width<=1023px){.binder-immersive__stage .binder-slot__actions{display:flex}.binder-immersive__stage .binder-slot__swap,.binder-immersive__stage .binder-slot__remove,.binder-immersive__stage .binder-slot__position,.binder-immersive__stage .binder-spread__page-label{display:none}.binder-immersive__stage .binder-spread__page--active,.binder-immersive__stage .binder-spread__page--active.binder-spread__page--selectable:hover{box-shadow:inset 0 0 0 var(--border-width-md) var(--color-primary)}}.binder-export{gap:var(--spacing-md);flex-direction:column;display:flex}.binder-export__toggles{align-items:center;gap:var(--spacing-sm);scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.binder-export__toggles::-webkit-scrollbar{display:none}.binder-export__toggles .binder-editor__view-toggle{flex-shrink:0;padding:2px}.binder-export__toggles .binder-editor__view-toggle-btn{padding:var(--spacing-xs) 6px}.binder-export__toggles .binder-editor__view-toggle-btn span{display:none}.binder-export__toggle{align-items:center;gap:var(--spacing-xs);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;display:flex}.binder-export__toggle-label{font-size:var(--font-size-xs);color:var(--color-text-primary);font-weight:600}.binder-export__toggles .binder-editor__switch{width:32px;height:18px}.binder-export__toggles .binder-editor__switch:after{width:14px;height:14px}.binder-export__toggles .binder-editor__switch-input:checked+.binder-editor__switch:after{transform:translate(14px)}.binder-export__viewport{width:100%;height:min(52vh,480px)}.binder-export__viewport-inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.binder-export__scaler{transform:scale(var(--export-scale,1))}.binder-export__generate-btn{align-self:flex-end;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast);border:none;font-weight:700;display:inline-flex}.binder-export__generate-btn:hover:not(:disabled){background:var(--color-primary-hover)}.binder-export__generate-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-export__generate-btn:disabled{opacity:.7;cursor:default}.binder-export__spinner{animation:.8s linear infinite spin}.binder-export__canvas{box-sizing:border-box;border:var(--border-width-sm) solid var(--color-border);color:var(--color-text-primary);flex-direction:column;display:flex;overflow:hidden}.binder-export__stage{background-color:var(--color-card-surface);flex:1;min-height:0;display:flex;container-type:size}.binder-export__art{flex:1;min-width:0;min-height:0;display:flex}.binder-export__page{justify-content:center;align-items:center;gap:var(--spacing-xs);min-width:0;min-height:0;padding:clamp(var(--spacing-xs), 1.6cqh, var(--spacing-lg));box-sizing:border-box;flex-direction:column;flex:1;display:flex}.binder-export__page-content{flex:1;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;display:flex;container-type:size}.binder-export__page-fit{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);min-width:0;max-width:100%;min-height:0;max-height:100%}.binder-export__page-fit .book-viewer__grid{grid-auto-rows:1fr;width:100%;max-width:none;height:100%}.binder-export__art .book-viewer__slot--empty{background-color:var(--binder-empty-bg,var(--color-input-bg));border:var(--border-width-md) dashed var(--binder-empty-border,var(--color-border-strong))}.binder-export__art .book-viewer__slot--cardback{border-style:solid}.binder-export__art .book-viewer__slot--filled{border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-sm)}.binder-export__art .binder-spread{flex:auto;min-width:0;min-height:0}.binder-export__art .binder-spread__book{aspect-ratio:1.62;width:min(100%,162cqh);max-width:100%;height:auto;max-height:100%;padding:clamp(var(--spacing-sm), 1.4cqh, var(--spacing-md));box-sizing:border-box;border-radius:0;margin:auto}.binder-export__art .binder-spread__page{padding:clamp(var(--spacing-xs), 1.2cqh, var(--spacing-md));gap:var(--spacing-xs);border-radius:0}.binder-export__art .binder-spread__page-content{container-type:size}.binder-export__art .binder-spread__page-fit{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);max-width:100%;max-height:100%;margin:auto}.binder-export__art .binder-spread__page-content .book-viewer__grid{grid-auto-rows:1fr;width:100%;max-width:none;height:100%}.binder-export__band{justify-content:space-between;align-items:center;gap:var(--spacing-md);background-color:var(--color-card-surface);border-top:var(--border-width-sm) solid var(--color-border);box-sizing:border-box;flex-shrink:0;height:2.4em;padding:0 1.2em;display:flex}.binder-export__band--name-hidden{justify-content:flex-end}.binder-export__band-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;min-width:0;color:var(--color-text-primary);font-size:.85em;font-weight:700;overflow:hidden}.binder-export__band-brand{letter-spacing:.01em;color:var(--color-text-secondary);flex-shrink:0;font-size:.85em;font-weight:700}.bottom-sheet-overlay{-webkit-backdrop-filter:blur(6px);z-index:calc(var(--z-index-popover) - 1);opacity:0;background:#000000b8;border:none;padding:0;transition:opacity .25s ease-out;position:fixed;inset:0}.bottom-sheet-overlay--open{opacity:1}.bottom-sheet{left:var(--spacing-md);right:var(--spacing-md);bottom:var(--keyboard-inset,0px);background:var(--color-modal-bg);border-top:1px solid var(--color-border-strong);box-shadow:var(--shadow-modal);z-index:var(--z-index-popover);max-height:min(var(--sheet-max-height,85vh), calc(100dvh - var(--keyboard-inset,0px) - 16px));border-top-left-radius:16px;border-top-right-radius:16px;flex-direction:column;transition:transform .25s ease-out,bottom .15s ease-out;display:flex;position:fixed;transform:translateY(100%)}.bottom-sheet--open{transform:translateY(0)}@media (width>=768px){.bottom-sheet{max-width:500px;left:50%;right:auto;transform:translate(-50%,100%)}.bottom-sheet--open{transform:translate(-50%)}}.bottom-sheet-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.bottom-sheet-title{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0;font-weight:600}.bottom-sheet-close{color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.bottom-sheet-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.bottom-sheet-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.bottom-sheet-content{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-xl);overscroll-behavior:contain;flex:1;overflow-y:auto}@supports (padding-bottom:env(safe-area-inset-bottom)){.bottom-sheet-content{padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom))}}.app-header{height:var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-background);z-index:var(--z-index-header);isolation:isolate;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.app-header:before{content:"";background:linear-gradient(90deg, transparent, var(--color-primary), transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.app-header__container{justify-content:space-between;align-items:center;width:100%;height:100%;display:flex}.app-header__logo{color:var(--color-text-primary);transition:color var(--transition-fast);align-items:center;gap:6px;text-decoration:none;display:flex}.app-header__logo:hover{color:var(--color-primary-text)}.app-header__logo-text{letter-spacing:-.025em;font-size:14px;font-weight:700;line-height:1}.app-header__nav{align-items:center;gap:var(--spacing-sm);display:flex}.app-header__user-actions,.app-header__auth-links{align-items:center;gap:6px;display:flex}.app-header__link{color:var(--color-text-secondary);border:1px solid var(--color-border);background:var(--color-surface-raised);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border-radius:7px;padding:6px 13px;font-size:13px;font-weight:500;text-decoration:none}.app-header__link:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-strong)}.app-header__link--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.app-header__link--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.app-header__loading{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:20px;height:20px;animation:.8s linear infinite app-header-spin}@keyframes app-header-spin{to{transform:rotate(360deg)}}@media (width<=520px){.app-header{padding:0 16px}.app-header__logo-text{font-size:13px}.app-header__auth-links{gap:4px}.app-header__link{padding:6px 10px}}.user-menu{position:relative}.user-menu__trigger{align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background-color:#0000;display:flex}.user-menu__avatar{background-color:var(--color-primary);width:32px;height:32px;color:var(--color-on-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);justify-content:center;align-items:center;font-weight:600;display:flex}.user-menu__avatar--large{width:40px;height:40px;font-size:var(--font-size-base)}.user-menu__email{font-size:var(--font-size-sm);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.user-menu__chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.user-menu__chevron--open{transform:rotate(180deg)}.user-menu__dropdown{background:var(--color-card-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);min-width:240px;box-shadow:var(--shadow-modal);z-index:var(--z-index-dropdown);animation:.15s cubic-bezier(.22,1,.36,1) dropdownFadeIn;position:relative;overflow:hidden}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu__header{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);display:flex}.user-menu__info{gap:var(--spacing-xs);flex-direction:column;display:flex;overflow:hidden}.user-menu__name{font-size:var(--font-size-sm);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.user-menu__divider{background-color:var(--color-border);opacity:.5;height:1px}.user-menu__nav{padding:var(--spacing-xs) 0}.user-menu__item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast);background-color:#0000;border:none;text-decoration:none;display:flex}.user-menu__item:hover{background-color:var(--color-surface-hover)}.user-menu__item--danger{color:var(--color-error)}.user-menu__item--danger:hover{background-color:var(--color-error-bg)}.user-menu__item--enterprise{color:var(--color-primary);font-weight:600}.user-menu__item--enterprise:hover{background-color:var(--color-surface-hover)}@media (width<=480px){.user-menu__email{display:none}}.user-menu__sheet.bottom-sheet-overlay{z-index:calc(var(--z-index-user-menu-sheet) - 1)}.user-menu__sheet.bottom-sheet{z-index:var(--z-index-user-menu-sheet)}.user-menu__sheet .user-menu__header{padding:0 0 var(--spacing-md);background:0 0}.user-menu__sheet .user-menu__nav{padding:var(--spacing-xs) 0}.contact-modal{min-height:200px}.contact-modal__success{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.contact-modal__success-icon{color:var(--color-success);animation:.5s cubic-bezier(.22,1,.36,1) successPop}@keyframes successPop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.contact-modal__success-title{font-size:var(--font-size-xl);color:var(--color-text-primary);margin:0;font-weight:700}.contact-modal__success-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);max-width:400px;margin:0}.contact-modal__form{gap:var(--spacing-lg);flex-direction:column;display:flex}.contact-modal__error{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-error-bg);border:var(--border-width-sm) solid var(--color-error-light);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);font-weight:600;animation:.5s errorShake;display:flex}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.contact-modal__field{gap:var(--spacing-xs);flex-direction:column;display:flex}.contact-modal__label{font-size:var(--font-size-sm);color:var(--color-text-primary);align-items:center;gap:var(--spacing-xs);font-weight:600;display:flex}.contact-modal__required{color:var(--color-error);font-weight:700}.contact-modal__input,.contact-modal__select,.contact-modal__textarea{font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md);border:var(--border-width-md) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:var(--input-min-height-sm)}.contact-modal__input::placeholder,.contact-modal__textarea::placeholder{color:var(--color-text-muted)}.contact-modal__input:focus,.contact-modal__select:focus,.contact-modal__textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-primary-lift);outline:none}.contact-modal__input:disabled,.contact-modal__select:disabled,.contact-modal__textarea:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.contact-modal__select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b4dd9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;padding-right:calc(var(--spacing-md) * 3);background-size:20px}.contact-modal__textarea{resize:vertical;min-height:120px;line-height:var(--line-height-normal)}.contact-modal__char-count{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;margin-top:calc(var(--spacing-xs) * -1)}.contact-modal__actions{gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width-sm) solid var(--color-border-default);flex-direction:column;justify-content:flex-end;display:flex}@media (width>=769px){.contact-modal__actions{flex-direction:row}.contact-modal__button{width:auto}}.contact-modal__button{font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);box-shadow:var(--shadow-md);justify-content:center;align-items:center;gap:var(--spacing-xs);min-height:var(--button-min-height-touch);width:100%;transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:none;font-weight:600;display:flex}.contact-modal__button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.contact-modal__button:not(:disabled):active{transform:translateY(0)}.contact-modal__button--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary-lift)}.contact-modal__button--primary:not(:disabled):hover{background:var(--color-primary-hover);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.contact-modal__button--secondary{background:var(--color-surface);color:var(--color-text-primary);border:var(--border-width-md) solid var(--color-border-default)}.contact-modal__button--secondary:not(:disabled):hover{background:var(--color-card-surface);border-color:var(--color-primary)}.contact-modal__spinner{border:var(--border-width-md) solid #ffffff4d;border-top-color:var(--color-white);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-modal__notice{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;padding-top:var(--spacing-sm);line-height:var(--line-height-normal);margin:0}@media (width>=769px){.contact-modal__actions{flex-direction:row}.contact-modal__button{width:auto;min-width:120px}}@media (width<=768px){.contact-modal__success{padding:var(--spacing-xl) var(--spacing-md)}}.color-scheme-toggle{cursor:pointer;background-color:#0000;border:none;align-items:center;display:flex}.color-scheme-toggle:focus-visible{box-shadow:0 0 0 4px var(--color-primary-bg);outline:none}.color-scheme-toggle--row{gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:background-color var(--transition-fast)}.color-scheme-toggle--row:hover{background-color:var(--color-surface-hover)}.color-scheme-toggle__label{text-align:left;flex:1}.color-scheme-toggle__switch{background:var(--color-border-strong);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);width:48px;height:28px;transition:all var(--transition-normal);flex-shrink:0;position:relative}.color-scheme-toggle__switch--on{background:var(--color-primary);border-color:var(--color-primary)}.color-scheme-toggle__slider{background:var(--color-text-primary);border-radius:var(--radius-full);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal);position:absolute;top:2px;left:2px}.color-scheme-toggle__switch--on .color-scheme-toggle__slider{transform:translate(20px)}.color-scheme-toggle--icon{width:44px;height:44px;color:var(--color-text-secondary);border-radius:var(--radius-full);transition:background-color var(--transition-fast), color var(--transition-fast);justify-content:center}.color-scheme-toggle--icon:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.feedback-modal{min-height:200px}.feedback-modal__success{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.feedback-modal__success-icon{color:var(--color-success);animation:.5s cubic-bezier(.22,1,.36,1) feedbackSuccessPop}@keyframes feedbackSuccessPop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.feedback-modal__success-message{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0;font-weight:600}.feedback-modal__form{gap:var(--spacing-lg);flex-direction:column;display:flex}.feedback-modal__intro{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.feedback-modal__field{gap:var(--spacing-xs);flex-direction:column;display:flex}.feedback-modal__label{font-size:var(--font-size-sm);color:var(--color-text-primary);align-items:center;gap:var(--spacing-xs);font-weight:600;display:flex}.feedback-modal__required{color:var(--color-error);font-weight:700}.feedback-modal__stars{align-items:center;gap:var(--spacing-xs);display:flex}.feedback-modal__star{padding:var(--spacing-2xs);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-full);transition:color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.feedback-modal__star:hover:not(:disabled){transform:scale(1.1)}.feedback-modal__star--filled{color:var(--color-primary)}.feedback-modal__star:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.feedback-modal__star:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.feedback-modal__type-row{background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-full);flex-wrap:wrap;align-items:center;gap:3px;width:fit-content;max-width:100%;padding:3px;display:flex}.feedback-modal__type{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;font-weight:500;display:inline-flex}.feedback-modal__type:hover:not(:disabled):not(.feedback-modal__type--active){color:var(--color-text-primary);background:var(--color-surface-hover)}.feedback-modal__type--active{background:var(--color-primary);color:var(--color-on-primary)}.feedback-modal__type:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.feedback-modal__type:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.feedback-modal__input,.feedback-modal__textarea{font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md);border:var(--border-width-md) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:var(--input-min-height-sm)}.feedback-modal__input::placeholder,.feedback-modal__textarea::placeholder{color:var(--color-text-muted)}.feedback-modal__input:focus,.feedback-modal__textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-primary-lift);outline:none}.feedback-modal__input:disabled,.feedback-modal__textarea:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.feedback-modal__textarea{resize:vertical;min-height:110px;line-height:var(--line-height-normal)}.feedback-modal__char-count{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;margin-top:calc(var(--spacing-xs) * -1)}.feedback-modal__signed-in{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.feedback-modal__helper-text{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:calc(var(--spacing-sm) * -1) 0 0}.feedback-modal__error{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-error-bg);border:var(--border-width-sm) solid var(--color-error-light);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);font-weight:600;display:flex}.feedback-modal__actions{gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width-sm) solid var(--color-border-default);flex-direction:column;justify-content:flex-end;display:flex}.feedback-modal__button{font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);box-shadow:var(--shadow-md);justify-content:center;align-items:center;gap:var(--spacing-xs);min-height:var(--button-min-height-touch);width:100%;transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:none;font-weight:600;display:flex}.feedback-modal__button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.feedback-modal__button--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary-lift)}.feedback-modal__button--primary:not(:disabled):hover{background:var(--color-primary-hover);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.feedback-modal__button--secondary{background:var(--color-surface);color:var(--color-text-primary);border:var(--border-width-md) solid var(--color-border-default)}.feedback-modal__button--secondary:not(:disabled):hover{background:var(--color-card-surface);border-color:var(--color-primary)}.feedback-modal__spinner{border:var(--border-width-md) solid #ffffff4d;border-top-color:var(--color-white);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite feedbackSpin}@keyframes feedbackSpin{to{transform:rotate(360deg)}}@media (width>=769px){.feedback-modal__actions{flex-direction:row}.feedback-modal__button{width:auto;min-width:120px}}.binders-badge{border-radius:var(--radius-full);background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border-default);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.binders-badge:hover{background:var(--color-surface-raised);border-color:var(--color-primary-border-soft);color:var(--color-primary);transform:scale(1.05)}.binders-badge:active{transform:scale(.95)}.binders-badge:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.binders-badge__icon{transition:color var(--transition-fast);flex-shrink:0}.binders-badge__icon--active{color:var(--color-primary)}.binders-badge:hover .binders-badge__icon--active{color:var(--color-primary-hover)}.button{cursor:pointer;color:var(--color-text-primary);transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:500;display:inline-flex}.button:disabled{opacity:.5;cursor:not-allowed}.button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.button:active:not(:disabled){transform:scale(.97)}.button--primary{background:var(--color-primary);color:var(--color-on-primary);border:none;height:42px;padding:0 20px;font-size:14px;font-weight:600}.button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.button--ghost,.button--secondary{border:1px solid var(--color-border);background:var(--color-surface-raised);height:36px;color:var(--color-text-primary);border-radius:8px;padding:0 13px;font-size:13px}.button--ghost:hover:not(:disabled),.button--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.button--icon,.button--icon-only{border:1px solid var(--color-border);background:var(--color-surface-raised);width:36px;min-width:36px;height:36px;color:var(--color-text-secondary);border-radius:8px;flex-shrink:0;padding:0}.button--icon:hover:not(:disabled),.button--icon-only:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-strong)}.button--danger{color:var(--color-error);background:#ef444424;border:1px solid #ef444461}.button--danger:hover:not(:disabled){background:#ef444433}.button--sm{height:32px;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:0 14px}.button--sm.button--primary{height:32px;font-weight:600}.button--sm.button--icon-only{width:32px;min-width:32px;height:32px;padding:0}.button--pill{border-radius:var(--radius-full)}.button__icon{flex-shrink:0;width:16px;height:16px}.button__icon--lg{width:20px;height:20px}.button--loading{pointer-events:none;opacity:.7}.button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}@media (width<=520px){.button--primary{height:38px;padding:0 16px}.button--icon,.button--icon-only{width:34px;min-width:34px;height:34px}}@media (hover:none) and (pointer:coarse){.button--icon,.button--icon-only{width:44px;min-width:44px;height:44px;min-height:44px}.button--sm:not(.button--icon-only){min-height:44px}}.drawer-overlay{-webkit-backdrop-filter:blur(6px);z-index:calc(var(--z-index-modal) - 1);opacity:0;background:#000000b8;transition:opacity .2s cubic-bezier(.4,0,.2,1);position:fixed;inset:0}.drawer-overlay--open{opacity:1}.drawer{background:var(--color-surface);border-right:1px solid var(--color-border-strong);width:min(280px,84vw);box-shadow:var(--shadow-modal);z-index:var(--z-index-modal);flex-direction:column;transition:transform .2s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.drawer--open{transform:translate(0)}.drawer__header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.drawer__title{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 auto 0 0;font-weight:600}.drawer__close{color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-full);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.drawer__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.drawer__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.drawer__content{padding:var(--spacing-md);overscroll-behavior:contain;flex:1;overflow-y:auto}@supports (padding-bottom:env(safe-area-inset-bottom)){.drawer__content{padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom))}}.favorite-button{cursor:pointer;color:#ffffffe6;transition:background-color var(--transition-fast,.15s) ease, color var(--transition-fast,.15s) ease, transform var(--transition-fast,.15s) ease;z-index:2;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.favorite-button:hover{color:#fff;background:#0009}.favorite-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorite-button:disabled{opacity:.5;cursor:not-allowed}.favorite-button--liked{color:var(--color-error);background:#ffffffe6}.favorite-button--liked:hover{color:#dc2626;background:#fff}.favorite-button--sm{width:28px;height:28px;padding:5px}.favorite-button--sm .favorite-button__icon{width:16px;height:16px}.favorite-button--md{width:36px;height:36px;padding:7px}.favorite-button--md .favorite-button__icon{width:20px;height:20px}.favorite-button--lg{width:44px;height:44px;padding:9px}.favorite-button--lg .favorite-button__icon{width:24px;height:24px}.favorite-button__icon{flex-shrink:0;display:block}.heart-particles{pointer-events:none;z-index:10;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.heart-particle{width:12px;height:12px;color:var(--color-error);transform-origin:50%;position:absolute;top:0;left:0}.favorites-badge{border-radius:var(--radius-full);background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border-default);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.favorites-badge:hover{background:var(--color-surface-raised);border-color:var(--color-primary-border-soft);color:var(--color-primary);transform:scale(1.05)}.favorites-badge:active{transform:scale(.95)}.favorites-badge:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorites-badge__icon{transition:color var(--transition-fast);flex-shrink:0}.favorites-badge__icon--filled{color:var(--color-error)}.favorites-badge:hover .favorites-badge__icon--filled{color:#dc2626}.favorites-badge__count{background:linear-gradient(135deg, var(--color-error), #dc2626);color:#fff;text-align:center;border-radius:var(--radius-full);min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;animation:.3s cubic-bezier(.34,1.56,.64,1) badgePop;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 4px #ef444466}@keyframes badgePop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.lock-modal-backdrop{z-index:var(--z-index-pro-locked-modal)}.lock-modal-backdrop .confirm-dialog{border-color:var(--color-primary-border-soft);box-shadow:var(--shadow-primary-soft)}.lock-modal__icon{background:var(--color-primary-bg);border-radius:var(--radius-lg);width:64px;height:64px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.lock-modal__icon--favorite{color:var(--color-error);background:linear-gradient(135deg,#ef44441a,#dc262626)}.lock-modal__icon--search{background:linear-gradient(135deg, var(--color-primary-subtle), var(--color-primary-glow));color:var(--color-primary)}.lock-modal__benefits{gap:var(--spacing-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lock-modal__benefit{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500;display:flex}.lock-modal__benefit-check{background:var(--color-primary-bg);border:var(--border-width-sm) solid var(--color-primary-border-soft);border-radius:var(--radius-full);width:22px;height:22px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.lock-modal-backdrop .confirm-dialog__actions{align-items:stretch;gap:var(--spacing-sm);flex-direction:column-reverse}.lock-modal-backdrop .confirm-dialog__button--warning{background:linear-gradient(135deg, var(--color-upgrade-amber-light), var(--color-upgrade-amber-dark));width:100%;color:var(--color-black);box-shadow:var(--shadow-primary-bold);transition:background var(--transition-fast);border-color:#0000;font-weight:700}.lock-modal-backdrop .confirm-dialog__button--warning:hover:not(:disabled){background:linear-gradient(135deg, var(--color-upgrade-amber-dark), var(--color-warning-dark));box-shadow:var(--shadow-primary-bold)}.lock-modal-backdrop .confirm-dialog__button--cancel{width:100%;color:var(--color-text-secondary);background:0 0;border:none}.lock-modal-backdrop .confirm-dialog__button--cancel:hover:not(:disabled){color:var(--color-text-primary);background:0 0;border-color:#0000}.lock-modal__alt{margin-top:var(--spacing-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.lock-modal__alt-link{font-family:var(--font-family-base);font-size:inherit;color:var(--color-primary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-weight:600}.lock-modal__alt-link:hover{color:var(--color-primary-hover)}.logo{line-height:0;display:inline-block;position:relative}.logo--landing-hero{display:inline-block;position:relative}.logo--landing-hero:before{content:"";background:var(--color-text-primary);-webkit-mask-image:var(--logo-mask);mask-image:var(--logo-mask);-webkit-mask-image:var(--logo-mask);pointer-events:none;transition:background-color var(--transition-normal), filter var(--transition-normal);position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.logo--landing-hero:hover:before{background:var(--color-primary);filter:drop-shadow(0 0 20px var(--color-primary-glow))}.logo--landing-hero .logo__image{opacity:0}.logo__image{max-width:100%;height:auto;display:block}.logo__image--light{display:none}.logo__image--dark,:root[data-theme=light] .logo__image--light{display:block}:root[data-theme=light] .logo__image--dark{display:none}.logo-icon{background:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex;position:relative;-webkit-mask-image:url(/images/logo/Artfinder-Logo-icon-black.svg);mask-image:url(/images/logo/Artfinder-Logo-icon-black.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.section-autoplay-control{background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-autoplay-control:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-strong)}.section-autoplay-control:focus-visible{box-shadow:0 0 0 4px var(--color-primary-bg);outline:none}.sheet-accordion-section{flex-direction:column;display:flex}.sheet-accordion-section__header{align-items:center;gap:var(--spacing-md);width:100%;min-height:48px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;font-weight:500;display:flex}.sheet-accordion-section__header:hover{background:var(--color-surface-raised)}.sheet-accordion-section__label{flex:1}.sheet-accordion-section__chevron{color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0}.sheet-accordion-section__chevron--open{transform:rotate(180deg)}.sheet-accordion-section__panel{transition:grid-template-rows var(--transition-normal);grid-template-rows:0fr;display:grid}.sheet-accordion-section__panel--open{grid-template-rows:1fr}.sheet-accordion-section__panel-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.sheet-accordion-section__panel{transition:none}}.page.page--editor{gap:0;max-width:none;padding:0}.binder-editor{--editor-settings-w:clamp(232px, 18vw, 296px);--editor-tray-w:clamp(268px, 21vw, 380px);gap:var(--spacing-md);height:calc(100svh - var(--header-height));padding:var(--spacing-md);box-sizing:border-box;display:flex;overflow:hidden}.binder-editor__settings{flex-shrink:0;min-height:0;display:flex}.binder-editor__center{gap:var(--spacing-sm);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.binder-editor__tray{width:var(--editor-tray-w);flex-shrink:0;min-height:0;display:flex}.binder-editor__tray .card-source-dock{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.binder-editor__tray .card-source-dock__body{flex:1;min-height:0;max-height:none}.binder-editor__tray .card-source-dock__grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.binder-editor__resizer{width:var(--border-width-lg);border-radius:var(--radius-full);cursor:col-resize;transition:background var(--transition-fast);background:0 0;flex-shrink:0;position:relative}.binder-editor__resizer:after{content:"";inset-block:0;inset-inline:calc(-1 * var(--spacing-xs));position:absolute}.binder-editor__resizer:hover,.binder-editor__resizer:focus-visible{background:var(--color-border)}.binder-editor__resizer.binder-editor__resizer--active{background:var(--color-primary)}.binder-editor--resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.binder-editor__settings-panel{width:var(--editor-settings-w);background:var(--color-card-surface);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-xl);box-sizing:border-box;flex-direction:column;height:100%;display:flex;overflow:hidden}.binder-editor__settings-panel--sheet{background:0 0;border:none;border-radius:0;width:100%;height:auto;overflow:visible}.binder-editor__settings-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm);background:var(--color-card-surface);border-bottom:var(--border-width-sm) solid var(--color-border);flex-shrink:0;display:flex}.binder-editor__settings-title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:700;display:flex}.binder-editor__settings-title svg{color:var(--color-primary)}.binder-editor__hide-btn{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-self:center;align-items:center;display:inline-flex}.binder-editor__hide-btn:hover{color:var(--color-primary);background:var(--color-primary-bg)}.binder-editor__hide-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__expand-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:0 0;font-weight:700;display:inline-flex}.binder-editor__expand-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-bg)}.binder-editor__expand-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__settings-body{gap:var(--spacing-md);min-height:0;padding:var(--spacing-md);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:var(--color-border-strong) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.binder-editor__settings-panel--sheet .binder-editor__settings-body{padding:0;overflow:visible}:root[data-theme=light] .binder-editor__settings-body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.binder-editor__settings-body::-webkit-scrollbar-thumb{background:var(--color-border-strong)}.binder-editor__settings-body::-webkit-scrollbar-track{background:0 0}.binder-editor__settings-section{gap:var(--spacing-sm);flex-direction:column;display:flex}.binder-editor__settings-scope-hint{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--color-primary-subtle);color:var(--color-primary-text);font-size:var(--font-size-sm);flex-direction:column;gap:2px;font-weight:700;display:flex}.binder-editor__settings-scope-hint-note{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500}.binder-editor__settings-label{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);font-weight:700}.binder-editor__settings-divider{height:var(--border-width-sm);background:var(--color-border)}.binder-editor__settings-label-row{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.binder-editor__clear-btn{font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-weight:700}.binder-editor__clear-btn:hover:not(:disabled){color:var(--color-error)}.binder-editor__clear-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__clear-btn:disabled{color:var(--color-text-muted);opacity:var(--opacity-disabled);cursor:default}.binder-editor__settings-label--locked{align-items:center;gap:var(--spacing-xs);display:inline-flex}.binder-editor__name-field{justify-content:space-between;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-input-bg);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-md);cursor:text;transition:border-color var(--transition-fast);display:flex}.binder-editor__name-field:hover{border-color:var(--color-primary)}.binder-editor__name-field:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__name-field-text{font-size:var(--font-size-base);color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.binder-editor__name-field svg{color:var(--color-text-muted);flex-shrink:0}.binder-editor__name-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-input-bg);border:var(--border-width-sm) solid var(--color-primary);border-radius:var(--radius-md);box-sizing:border-box;box-shadow:0 0 0 2px var(--color-primary-light);outline:none;font-weight:700}.binder-editor__settings-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500;line-height:var(--line-height-normal)}.binder-editor__layout{gap:var(--spacing-xs);padding:var(--spacing-xs);display:flex}.binder-editor__layout-option{box-sizing:border-box;text-align:center;padding:var(--spacing-sm);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:default;-webkit-user-select:none;user-select:none;flex:1;font-weight:700}.binder-editor__layout-option--active{border-color:var(--color-border-accent);color:var(--color-text-primary)}.binder-editor__settings-group-body{gap:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-md) var(--spacing-md);flex-direction:column;display:flex}.binder-editor__settings-body .sheet-accordion-section{border-radius:var(--radius-md)}.binder-editor__settings-body .sheet-accordion-section+.sheet-accordion-section{border-top:var(--border-width-sm) solid var(--color-border);padding-top:var(--spacing-sm)}.binder-editor__settings-body .sheet-accordion-section__header{letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;font-weight:700;font-size:var(--font-size-xs);color:var(--color-primary)}.binder-editor__settings-body .sheet-accordion-section__header svg:first-child{color:var(--color-primary)}.binder-editor__settings-body .sheet-accordion-section__chevron{color:var(--color-text-muted)}.binder-editor__segmented{background:var(--color-input-bg);border-radius:var(--radius-full);gap:2px;padding:2px;display:flex}.binder-editor__segmented-btn{min-width:0;padding:var(--spacing-xs);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-xs);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex:1;font-weight:700;overflow:hidden}.binder-editor__segmented-btn--active{background:var(--color-primary);color:var(--color-on-primary)}.binder-editor__segmented-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-input-bg);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;box-sizing:border-box;font-weight:600}.binder-editor__select:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__theme-preview{justify-content:center;align-items:center;gap:var(--spacing-sm);height:56px;padding:var(--spacing-sm);box-sizing:border-box;border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-md);display:flex}.binder-editor__theme-preview-slot{border-radius:var(--radius-sm);background-color:var(--binder-slot-bg,var(--color-surface));border:var(--border-width-sm) solid var(--binder-slot-border,var(--color-border-default));flex:1;align-self:stretch;max-width:56px}.binder-editor__theme-preview-slot--sleeved{box-shadow:inset 0 0 0 var(--border-width-md) var(--binder-sleeve,transparent)}.binder-editor__range-row{justify-content:space-between;align-items:center;display:flex}.binder-editor__range-value{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:700}.binder-editor__range{appearance:none;width:100%;height:4px;margin:var(--spacing-sm) 0;background:var(--color-input-bg);border-radius:var(--radius-full);cursor:pointer}.binder-editor__range::-webkit-slider-runnable-track{background:var(--color-input-bg);border-radius:var(--radius-full);height:4px}.binder-editor__range::-webkit-slider-thumb{appearance:none;border-radius:var(--radius-full);background:var(--color-primary);width:16px;height:16px;box-shadow:var(--shadow-sm);cursor:pointer;margin-top:-6px}.binder-editor__range::-moz-range-track{background:var(--color-input-bg);border-radius:var(--radius-full);height:4px}.binder-editor__range::-moz-range-thumb{border-radius:var(--radius-full);background:var(--color-primary);width:16px;height:16px;box-shadow:var(--shadow-sm);cursor:pointer;border:none}.binder-editor__range:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__swatch-groups{gap:var(--spacing-sm);flex-direction:column;display:flex}.binder-editor__swatch-group-label{margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);display:block}.binder-editor__swatches{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(26px,1fr));display:grid}.binder-editor__swatch{aspect-ratio:1;border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;width:auto;color:var(--color-text-secondary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex;position:relative}.binder-editor__swatch:hover{border-color:var(--color-primary);transform:translateY(-1px)}.binder-editor__swatch:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__swatch--none{background:var(--color-input-bg)}.binder-editor__swatch--active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.binder-editor__swatch-check{border-radius:var(--radius-full);background:var(--color-primary);width:14px;height:14px;color:var(--color-on-primary);justify-content:center;align-items:center;display:flex;position:absolute;top:-5px;right:-5px}.binder-editor__swatch--custom{background-image:conic-gradient(#ff5f5f,#ffd15f,#7bff5f,#5fffe0,#5f9bff,#c15fff,#ff5f9b,#ff5f5f)}.binder-editor__custom-color{gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-raised);flex-direction:column;display:flex}.binder-editor__custom-color-row{align-items:center;gap:var(--spacing-sm);display:flex}.binder-editor__custom-color .binder-editor__segmented-btn{color:var(--color-white)}.binder-editor__custom-color .binder-editor__segmented-btn--active{box-shadow:inset 0 0 0 var(--border-width-md) var(--color-white)}.binder-editor__custom-color-picker{touch-action:none}.binder-editor__custom-color-picker .react-colorful{width:100%;height:auto}.binder-editor__custom-color-picker .react-colorful__saturation{border-radius:var(--radius-sm);height:110px}.binder-editor__custom-color-picker .react-colorful__hue{height:14px;margin-top:var(--spacing-sm);border-radius:var(--radius-full)}.binder-editor__custom-color-hex{min-width:0;padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-xs);flex:1}.binder-editor__custom-color-hex:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__custom-color-recents{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.binder-editor__custom-color-recent{border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-xs);cursor:pointer;width:20px;height:20px;padding:0}.binder-editor__custom-color-recent:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__custom-color-eyedropper{border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-full);background:var(--color-input-bg);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.binder-editor__custom-color-eyedropper:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.binder-editor__custom-color-eyedropper:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__custom-color-apply{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width-sm) solid var(--color-primary);border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary-text);font-family:var(--font-family-base);font-size:var(--font-size-xs);cursor:pointer;transition:opacity var(--transition-fast), background-color var(--transition-fast);font-weight:600;display:inline-flex}.binder-editor__custom-color-apply:hover:not(:disabled){background:var(--color-primary-subtle)}.binder-editor__custom-color-apply:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__custom-color-apply:disabled{opacity:var(--opacity-disabled);cursor:default}.binder-editor__sleeves{justify-content:space-between;align-items:center;gap:var(--spacing-md);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.binder-editor__sleeves-label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.binder-editor__switch-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.binder-editor__switch{background:var(--color-border-strong);border-radius:var(--radius-full);width:40px;height:23px;transition:background-color var(--transition-fast);flex-shrink:0;position:relative}.binder-editor__switch:after{content:"";background:var(--color-white);border-radius:var(--radius-full);width:19px;height:19px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);position:absolute;top:2px;left:2px}.binder-editor__switch-input:checked+.binder-editor__switch{background:var(--color-primary)}.binder-editor__switch-input:checked+.binder-editor__switch:after{transform:translate(17px)}.binder-editor__switch-input:focus-visible+.binder-editor__switch{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.cover-card-picker{gap:var(--spacing-sm);flex-direction:column;display:flex}.cover-card-picker__grid{align-content:flex-start;align-items:flex-start;gap:var(--spacing-sm);scrollbar-width:thin;flex-wrap:wrap;max-height:320px;padding-right:2px;display:flex;overflow-y:auto}.cover-card-picker__card{flex:0 0 calc((100% - var(--spacing-sm) * 3) / 4);width:calc((100% - var(--spacing-sm) * 3) / 4);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-input-bg);cursor:pointer;aspect-ratio:63/88;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);padding:0;position:relative;overflow:hidden}.cover-card-picker__card:hover:not(:disabled){border-color:var(--color-primary)}.cover-card-picker__card:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.cover-card-picker__card:disabled{opacity:var(--opacity-disabled);cursor:default}.cover-card-picker__card--selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.cover-card-picker__img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.cover-card-picker__badge{border-radius:var(--radius-full);background:var(--color-primary);min-width:16px;height:16px;color:var(--color-on-primary);text-align:center;box-shadow:var(--shadow-sm);padding:0 3px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:3px;right:3px}.cover-randomizer{--reel-tick:70ms;--reel-settle:.26s;gap:var(--spacing-sm);flex-direction:column;display:flex}.cover-randomizer__icon{flex-shrink:0}.cover-randomizer__icon--spinning{animation:.6s linear infinite cover-randomizer-shuffle}.cover-randomizer__reel{gap:var(--spacing-sm);display:flex}.cover-randomizer__slot{flex:0 0 calc((100% - var(--spacing-sm) * 3) / 4);width:calc((100% - var(--spacing-sm) * 3) / 4);aspect-ratio:63/88;border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-input-bg);transition:border-color var(--transition-fast);position:relative;overflow:hidden}.cover-randomizer__img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.cover-randomizer__reel--spinning .cover-randomizer__slot{border-color:var(--color-primary-border-soft)}.cover-randomizer__slot--rolling .cover-randomizer__img{filter:blur(1px);opacity:.9;animation:cover-randomizer-roll var(--reel-tick) linear infinite}.cover-randomizer__slot--landed{border-color:var(--color-primary);animation:cover-randomizer-land var(--reel-settle) cubic-bezier(.2, 1.3, .4, 1)}@keyframes cover-randomizer-shuffle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cover-randomizer-roll{0%{transform:translateY(-9%)scale(1.08)}to{transform:translateY(9%)scale(1.08)}}@keyframes cover-randomizer-land{0%{box-shadow:0 0 0 0 var(--color-primary-light);transform:scale(.9)}55%{box-shadow:0 0 0 4px var(--color-primary-light);transform:scale(1.06)}to{transform:scale(1);box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.binder-editor__mobile-add,.binder-editor__mobile-preview{transition:none}.binder-editor__mobile-bar--celebrate .binder-editor__mobile-preview,.cover-randomizer__icon--spinning,.cover-randomizer__slot--landed,.cover-randomizer__slot--rolling .cover-randomizer__img{animation:none}.cover-randomizer__slot--rolling .cover-randomizer__img{filter:none;opacity:1}}.binder-editor__settings-btn{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:0 0;font-weight:600;display:inline-flex}.binder-editor__settings-btn:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-bg)}.binder-editor__settings-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__settings-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.binder-editor__settings-btn--danger{color:var(--color-error)}.binder-editor__settings-btn--danger:hover:not(:disabled){color:var(--color-error);border-color:var(--color-error);background:#ef444414}.binder-editor__settings-btn--locked svg:last-child{color:var(--color-warning);margin-left:auto}.binder-editor__settings-footer{gap:var(--spacing-sm);padding-top:var(--spacing-md);flex-direction:column;margin-top:auto;display:flex}.binder-editor__settings-rail{align-items:center;gap:var(--spacing-md);width:52px;height:100%;padding:var(--spacing-sm) 0;background:var(--color-card-surface);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;flex-direction:column;display:flex}.binder-editor__expand-btn{padding:var(--spacing-sm);color:var(--color-primary);border-color:var(--color-primary-border-soft);background:var(--color-primary-bg)}.binder-editor__rail-divider{background:var(--color-border-strong);width:24px;height:1px}.binder-editor__rail-footer{align-items:center;gap:var(--spacing-md);flex-direction:column;margin-top:auto;display:flex}.binder-editor__rail-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.binder-editor__rail-btn:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-surface-raised)}.binder-editor__rail-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__rail-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.binder-editor__rail-btn--danger{color:var(--color-error)}.binder-editor__rail-btn--danger:hover:not(:disabled){color:var(--color-error);background:#ef444414}.binder-editor__toolbar{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;flex-shrink:0;min-width:0;display:flex}.binder-editor .page-rail{padding:var(--spacing-xs) var(--spacing-sm)}.binder-editor__breadcrumb{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.binder-editor__back{align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);transition:color var(--transition-fast);flex-shrink:0;font-weight:600;text-decoration:none;display:inline-flex}.binder-editor__back:hover{color:var(--color-primary)}.binder-editor__crumb-sep{color:var(--color-text-muted);flex-shrink:0}.binder-editor__crumb-current{font-size:var(--font-size-lg);color:var(--color-primary);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.binder-editor__toolbar-primary{align-items:center;gap:var(--spacing-xs);min-width:0;display:flex}.binder-editor__start-over-btn{display:none}.binder-editor__icon-btn--danger{color:var(--color-error);border-color:#ef44444d}.binder-editor__icon-btn--danger:hover:not(:disabled){color:var(--color-error);border-color:var(--color-error);background:#ef444414}.binder-editor__toolbar-actions{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;min-width:0;display:flex}.binder-editor__toolbar-actions-group{display:contents}.binder-editor__mobile-toolbar-btn{display:none}.binder-editor__view-toggle{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--radius-full);background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border);display:flex}.binder-editor__view-toggle-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-xs);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;font-weight:700;display:inline-flex}.binder-editor__view-toggle-btn:hover:not(.binder-editor__view-toggle-btn--active){color:var(--color-text-primary)}.binder-editor__view-toggle-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__view-toggle-btn--active{background:var(--color-primary);color:var(--color-on-primary)}.binder-editor__view-toggle-btn--active:hover{background:var(--color-primary-hover)}.binder-editor__icon-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);font-weight:600;display:inline-flex}.binder-editor__icon-btn:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-bg)}.binder-editor__icon-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__icon-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.binder-editor__icon-btn--active{color:var(--color-success);background:#10b98114;border-color:#10b9814d}.binder-editor__toolbar-gear{display:none}.binder-editor__stage{min-width:0;min-height:0;padding:var(--spacing-xs);box-sizing:border-box;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden;container:binder-stage/size}.binder-editor__stage .binder-grid-panel{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);max-width:100%;min-height:0;max-height:100%;padding:clamp(var(--spacing-xs), 2cqh, var(--spacing-lg));box-sizing:border-box;box-shadow:none;justify-content:center;align-items:center;margin:auto;display:flex;container-type:size}.binder-editor__stage .binder-grid-section{justify-content:center;width:100%;height:100%}.binder-editor__stage .binder-grid{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);grid-auto-rows:1fr;max-width:100%;max-height:100%;margin:auto}.binder-editor__stage>.binder-spread{width:100%;min-width:0;height:100%;min-height:0}.binder-editor__stage .binder-spread__book{width:min(100%, calc(100cqh * var(--spread-ar,1.62)));max-width:100%;height:auto;max-height:100%;padding:clamp(var(--spacing-sm), 1.6cqh, var(--spacing-md));box-sizing:border-box;margin:auto}.binder-editor__stage .binder-spread__page{padding:clamp(var(--spacing-xs), 1.4cqh, var(--spacing-md));gap:var(--spacing-xs)}.binder-editor__stage .binder-spread__page-content{container-type:size}.binder-editor__stage .binder-spread__page-fit{width:min(100%, calc(100cqh * var(--grid-ar,.72)));height:auto;aspect-ratio:var(--grid-ar,.72);max-width:100%;max-height:100%;margin:auto}.binder-editor__stage .binder-spread__page-content .binder-grid{grid-auto-rows:1fr;width:100%;max-width:none;height:100%}.binder-editor__mobile-bar{gap:var(--spacing-sm);flex-shrink:0;display:none}.binder-editor__mobile-add{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);cursor:pointer;box-shadow:var(--shadow-primary-lift);white-space:nowrap;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), flex-grow var(--transition-normal);border:none;flex:auto;font-weight:700;display:inline-flex}.binder-editor__mobile-add:hover:not(:disabled){background:var(--color-primary-hover)}.binder-editor__mobile-add:disabled{background:var(--color-surface-raised);color:var(--color-text-muted);box-shadow:none;cursor:default;flex-grow:0}.binder-editor__mobile-add:focus-visible,.binder-editor__mobile-preview:focus-visible,.binder-editor__mobile-immersive:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-editor__mobile-preview{justify-content:center;align-items:center;gap:var(--spacing-sm);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);width:52px;color:var(--color-text-primary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast), flex-grow var(--transition-normal);flex:none;display:inline-flex}.binder-editor__mobile-preview:hover{color:var(--color-primary);border-color:var(--color-primary)}.binder-editor__mobile-preview-label{font-family:var(--font-family-base);font-size:var(--font-size-base);white-space:nowrap;font-weight:700;display:none}.binder-editor__mobile-bar--full .binder-editor__mobile-preview{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary-lift);border-color:#0000;flex-grow:1}.binder-editor__mobile-bar--celebrate .binder-editor__mobile-preview{--preview-settle:.52s;animation:binder-mobile-preview-promote var(--preview-settle) ease-out}.binder-editor__mobile-bar--full .binder-editor__mobile-preview:hover{background:var(--color-primary-hover);color:var(--color-on-primary);border-color:#0000}.binder-editor__mobile-bar--full .binder-editor__mobile-preview-label{display:inline}@keyframes binder-mobile-preview-promote{0%{box-shadow:0 0 0 0 var(--color-primary-light)}55%{box-shadow:0 0 0 6px var(--color-primary-light)}to{box-shadow:var(--shadow-primary-lift)}}.binder-editor__mobile-immersive{border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);width:52px;color:var(--color-text-primary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.binder-editor__mobile-immersive:hover{color:var(--color-primary);border-color:var(--color-primary)}@media (width<=1023px){.binder-editor{gap:var(--spacing-md);padding:var(--spacing-md);height:calc(100svh - var(--header-height));flex-direction:column}.binder-editor__settings,.binder-editor__tray,.binder-editor__resizer{display:none}.binder-editor__settings-panel{width:100%}.binder-editor__tray{width:auto}.binder-editor__mobile-bar{display:flex}.binder-editor__toolbar{flex-wrap:nowrap}.binder-editor__toolbar-actions{flex-wrap:nowrap;justify-content:flex-end;overflow-x:auto}.binder-editor__toolbar-gear{display:inline-flex}.binder-editor__toolbar-preview{display:none}.binder-editor__start-over-btn,.binder-editor__mobile-toolbar-btn{display:inline-flex}.binder-editor__stage .binder-slot__actions{display:flex}.binder-editor__stage .binder-slot__swap,.binder-editor__stage .binder-slot__remove,.binder-editor__stage .binder-slot__position{display:none}.binder-editor__stage .binder-slot__add{display:flex}.binder-editor__stage .binder-spread__page-label{display:none}.binder-editor__stage .binder-spread__page--active,.binder-editor__stage .binder-spread__page--active.binder-spread__page--selectable:hover{box-shadow:inset 0 0 0 var(--border-width-md) var(--color-primary)}}@media (width<=767px){.binder-editor__icon-btn-label{display:none}.binder-editor__icon-btn{padding:var(--spacing-xs) var(--spacing-sm)}}@media (width<=640px){.binder-editor__view-toggle-btn span:not(.binder-editor__icon-btn-label),.binder-editor__back-label,.binder-editor__crumb-sep{display:none}}@media (width<=767px) and (orientation:portrait){.binder-editor{gap:var(--spacing-sm);padding:var(--spacing-sm)}.binder-editor__center{gap:var(--spacing-xs)}.binder-editor .page-rail{padding:var(--spacing-xs)}.binder-editor .page-thumbnail,.binder-editor .page-rail__add-tile{width:44px}}@media (orientation:landscape) and (height<=520px){.binder-editor__breadcrumb{display:none}.binder-editor__toolbar{flex-wrap:nowrap}.binder-editor .page-rail{padding:2px var(--spacing-xs)}.binder-editor .page-thumbnail,.binder-editor .page-rail__add-tile{width:34px}.binder-editor .page-thumbnail__label{display:none}.binder-editor__mobile-bar{gap:var(--spacing-xs)}.binder-editor__mobile-add{padding:var(--spacing-sm)}.binder-editor__mobile-preview{width:40px}}@media (hover:none) and (pointer:coarse){.binder-editor__swatches{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}.binder-editor__range::-webkit-slider-thumb{width:24px;height:24px;margin-top:-10px}.binder-editor__range::-moz-range-thumb{width:24px;height:24px}.binder-editor__custom-color-picker .react-colorful__hue{height:22px}.binder-editor__custom-color-picker .react-colorful__pointer{width:28px;height:28px}.binder-editor__custom-color-hex{padding:var(--spacing-sm);font-size:var(--font-size-sm)}.binder-editor__custom-color-recent{width:28px;height:28px}.binder-editor__custom-color-eyedropper{width:36px;height:36px}}.binder-grid-panel{background-color:var(--color-card-surface);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-md);touch-action:manipulation}.binder-grid-panel__name{text-align:left;color:var(--color-text-primary);margin-bottom:var(--spacing-md);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;font-size:1.06rem;font-weight:700;display:block;overflow:hidden}.binder-grid-panel__watermark{text-align:center;margin-top:var(--spacing-sm);letter-spacing:.05em;color:var(--color-text-muted);opacity:.5;font-size:.755rem;font-weight:500;display:block}.binder-grid-section{flex-direction:column;align-items:center;width:100%;display:flex}.binder-grid{gap:var(--spacing-sm);width:100%;max-width:720px;display:grid}.binder-grid--cols-2{grid-template-columns:repeat(2,1fr);max-width:380px}.binder-grid--cols-3{grid-template-columns:repeat(3,1fr);max-width:560px}.binder-grid--cols-4{grid-template-columns:repeat(4,1fr);max-width:720px}.binder-slot{aspect-ratio:63/88;border-radius:var(--radius-md);cursor:default;transition:box-shadow var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);position:relative;overflow:hidden}.binder-slot--empty{background-color:var(--binder-empty-bg,var(--color-input-bg));border:var(--border-width-md) dashed var(--binder-empty-border,var(--color-border-strong));touch-action:none;justify-content:center;align-items:center;display:flex}.binder-slot--empty-cardback{border-style:solid;padding:0}.binder-slot--empty-icon{color:var(--color-text-muted);opacity:.4}.binder-slot__add{border-radius:var(--radius-full);background:var(--color-primary);width:40px;height:40px;color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast);z-index:2;border:none;justify-content:center;align-items:center;margin:auto;display:none;position:absolute;inset:0}.binder-slot__add:hover{background:var(--color-primary-hover)}.binder-slot__add:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-slot__cardback-image{object-fit:cover;width:100%;height:100%;display:block}.binder-slot--filled{border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-sm)}.binder-slot--filled:hover{box-shadow:var(--shadow-primary-lift);border-color:var(--color-primary);transform:translateY(-2px)}.binder-slot__drag-surface{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.binder-slot--dragging{opacity:.4}.binder-slot--drag-over{border-color:var(--color-primary);background:var(--color-primary-bg);box-shadow:0 0 0 3px var(--color-primary-light);border-style:solid}.binder-slot--sleeved{border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--border-width-md) var(--binder-sleeve,#0000000f);justify-content:center;align-items:center;padding:8px;display:flex;container-type:size}.binder-slot--sleeved .binder-slot__drag-surface{aspect-ratio:63/88;width:min(100%,71.5909cqh);max-width:100%;height:auto;max-height:100%;margin:auto}.binder-slot--sleeved .binder-slot__image{border-radius:calc(var(--radius-sm) - 2px)}.binder-slot__image{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.binder-slot__remove{border-radius:var(--radius-full);color:#fff;cursor:pointer;opacity:0;width:24px;height:24px;transition:opacity var(--transition-fast), background-color var(--transition-fast);z-index:2;background:#0009;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.binder-slot--filled:hover .binder-slot__remove,.binder-slot__remove:focus-visible{opacity:1}.binder-slot__remove:hover{background:var(--color-error)}.binder-slot__remove:focus-visible,.binder-slot__swap:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-slot__swap{border-radius:var(--radius-full);background:var(--color-primary);width:24px;height:24px;color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast);z-index:2;border:none;justify-content:center;align-items:center;display:none;position:absolute;top:4px;left:4px}.binder-slot__swap:hover{background:var(--color-primary-hover)}.binder-slot__actions{border-radius:var(--radius-full);width:22px;height:22px;color:var(--color-white);cursor:pointer;transition:background-color var(--transition-fast);z-index:2;background:#0000008c;border:none;justify-content:center;align-items:center;display:none;position:absolute;bottom:4px;right:4px}.binder-slot__actions:after{content:"";border-radius:var(--radius-full);position:absolute;inset:-7px}.binder-slot__actions:hover{background:#000000bf}.binder-slot__actions:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-slot-actions{gap:var(--spacing-xs);padding-bottom:var(--spacing-sm);flex-direction:column;display:flex}.binder-slot-actions__item{align-items:center;gap:var(--spacing-md);width:100%;min-height:var(--button-min-height-touch);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-base);font-size:var(--font-size-base);text-align:left;border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);font-weight:600;display:flex}.binder-slot-actions__item:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.binder-slot-actions__item:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.binder-slot-actions__item--danger{color:var(--color-error)}.binder-slot__position{color:#ffffffb3;border-radius:var(--radius-sm);pointer-events:none;background:#0006;padding:1px 5px;font-size:10px;font-weight:700;position:absolute;bottom:4px;left:4px}.binder-slot-overlay{aspect-ratio:63/88;border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);border:var(--border-width-md) solid var(--color-primary);cursor:grabbing;overflow:hidden}.binder-slot-overlay img{object-fit:cover;width:100%;height:100%;display:block}.card-source-dock{background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.card-source-dock__header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:var(--border-width-sm) solid var(--color-border);display:flex}.card-source-dock__header-icon{color:var(--color-text-accent);flex-shrink:0}.card-source-dock__header-title{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0;font-weight:700}.card-source-dock__tabs{border-bottom:var(--border-width-sm) solid var(--color-border);display:flex}.card-source-dock__tab{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-xs);font-family:var(--font-family-base);color:var(--color-text-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;display:flex;position:relative}.card-source-dock__tab:hover{color:var(--color-text-secondary);background:var(--color-surface-hover)}.card-source-dock__tab--active{color:var(--color-primary);background:var(--color-primary-bg);border-bottom:var(--border-width-md) solid var(--color-primary)}.card-source-dock__tab-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:700}.card-source-dock__tab--active .card-source-dock__tab-label{color:var(--color-primary-text)}.card-source-dock__tab--locked{opacity:.7}.card-source-dock__tab--locked:hover{opacity:1}.card-source-dock__tab-lock{color:var(--color-warning);position:absolute;top:6px;right:6px}@media (width<=1023px){.card-source-dock__tab-icon{width:21px;height:21px}}.card-source-dock__body{padding:var(--spacing-md);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:var(--color-border-strong) transparent;min-height:180px;max-height:400px;overflow-y:auto}:root[data-theme=light] .card-source-dock__body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.card-source-dock__body::-webkit-scrollbar-thumb{background:var(--color-border-strong)}.card-source-dock__body::-webkit-scrollbar-track{background:0 0}.bottom-sheet-content .card-source-dock__body{min-height:0;max-height:none;overflow:visible}.card-source-dock__search{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.card-source-dock__search-input{font-family:var(--font-family-base);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-input-bg);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex:1}.card-source-dock__search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.card-source-dock__search-input::placeholder{color:var(--color-text-muted)}.card-source-dock__search-field{flex:1;align-items:center;min-width:0;display:flex;position:relative}.card-source-dock__search-icon{left:var(--spacing-md);color:var(--color-primary);pointer-events:none;position:absolute}.card-source-dock__search-input--icon{padding-left:calc(var(--spacing-md) * 2 + 14px)}.card-source-dock__history,.card-source-dock__search-bar,.card-source-dock__preview-cta{margin-bottom:var(--spacing-md)}.card-source-dock__filters{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.card-source-dock__filters-row{align-items:center;gap:var(--spacing-sm);display:flex}.card-source-dock__collection-select{align-items:center;gap:var(--spacing-xs);min-width:0;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-input-bg);color:var(--color-text-primary);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);font-weight:500;display:inline-flex}.card-source-dock__collection-select:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.card-source-dock__collection-select--open{border-color:var(--color-primary);background:var(--color-primary-bg)}.card-source-dock__collection-select-icon{color:var(--color-text-muted);flex-shrink:0}.card-source-dock__collection-select-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.card-source-dock__collection-select-count{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-shrink:0}.card-source-dock__collection-select-chevron{opacity:.7;transition:transform var(--transition-fast);flex-shrink:0}.card-source-dock__collection-select--open .card-source-dock__collection-select-chevron{transform:rotate(180deg)}.card-source-dock__collection-menu{z-index:var(--z-index-dropdown);background-color:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-lg);min-width:220px;max-width:280px;max-height:320px;box-shadow:var(--shadow-md);padding:var(--spacing-xs);flex-direction:column;gap:2px;display:flex;position:fixed;overflow-y:auto}.card-source-dock__collection-menu--sheet{min-width:0;max-width:none;max-height:none;box-shadow:none;background-color:#0000;border:none;padding:0;position:static}.card-source-dock__collection-option{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);cursor:pointer;text-align:left;transition:background-color var(--transition-fast);background:0 0;border:none;display:flex}.card-source-dock__collection-option:hover{background-color:var(--color-surface-hover)}.card-source-dock__collection-option--selected{background-color:var(--color-primary-subtle);color:var(--color-primary-text)}.card-source-dock__collection-option-check{width:1rem;height:1rem;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.card-source-dock__collection-option-icon{color:var(--color-text-muted);flex-shrink:0}.card-source-dock__collection-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.card-source-dock__collection-option-count{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-shrink:0}.card-source-dock__dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px;display:inline-block}.card-source-dock__tag-pills{align-items:center;gap:var(--spacing-xs);scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;margin:-2px;padding:2px;display:flex;overflow-x:auto}.card-source-dock__tag-pills::-webkit-scrollbar{display:none}.card-source-dock__pill{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;font-weight:500;display:inline-flex}.card-source-dock__pill:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.card-source-dock__pill--active{background:var(--color-primary-bg);border-color:var(--color-border-accent);color:var(--color-primary-text)}.card-source-dock__pill:focus-visible,.card-source-dock__collection-select:focus-visible,.card-source-dock__clear-filters:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.card-source-dock__clear-filters{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;flex-shrink:0;font-weight:600;display:inline-flex}.card-source-dock__clear-filters:hover{border-color:var(--color-error);color:var(--color-error)}.card-source-dock__grid{gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr);display:grid}.card-source-dock__empty{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl) var(--spacing-md);color:var(--color-text-muted);text-align:center;flex-direction:column;display:flex}.card-source-dock__empty-icon{opacity:.4}.card-source-dock__empty-text{font-size:var(--font-size-sm)}.source-card{aspect-ratio:63/88;border-radius:var(--radius-sm);cursor:default;border:var(--border-width-sm) solid var(--color-border);touch-action:auto;transition:box-shadow var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);position:relative;overflow:hidden}.source-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-primary-lift);transform:translateY(-1px)}.source-card--in-binder{border-color:var(--color-primary)}.source-card__count-badge{background:var(--color-primary);min-width:22px;height:22px;color:var(--color-on-primary);border-radius:var(--radius-full);pointer-events:none;z-index:2;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;top:3px;left:3px}.source-card--dragging{opacity:.4}.source-card__image{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.source-card__drag-handle{color:#fff;border-radius:var(--radius-full);cursor:grab;touch-action:none;z-index:2;opacity:.7;width:22px;height:22px;transition:opacity var(--transition-fast);background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;top:3px;right:3px}.source-card__drag-handle:hover{opacity:1}.source-card__drag-handle:active{cursor:grabbing}.source-card__add-btn{background:var(--color-primary-light);cursor:pointer;opacity:0;transition:opacity var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.source-card:hover .source-card__add-btn{opacity:1}.source-card__add-btn-icon{background:var(--color-primary);width:30px;height:30px;color:var(--color-on-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-primary-bold);justify-content:center;align-items:center;display:flex}.source-card-overlay{aspect-ratio:63/88;border-radius:var(--radius-sm);width:100px;box-shadow:var(--shadow-elevated);border:var(--border-width-md) solid var(--color-primary);cursor:grabbing;overflow:hidden}.source-card-overlay img{object-fit:cover;width:100%;height:100%;display:block}.card-source-dock__loading{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);color:var(--color-text-muted);flex-direction:column;display:flex}.card-source-dock__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite dock-spin}@keyframes dock-spin{to{transform:rotate(360deg)}}.binder-detail__loading{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);min-height:60vh;color:var(--color-text-muted);flex-direction:column;display:flex}.binder-detail__loading-spinner{border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite binder-detail-spin}@keyframes binder-detail-spin{to{transform:rotate(360deg)}}.binder-detail__error{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);min-height:40vh;color:var(--color-text-muted);text-align:center;flex-direction:column;display:flex}.binder-detail__error-btn{font-family:var(--font-family-base);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-lg);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-primary);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast);font-weight:600;text-decoration:none}.binder-detail__error-btn:hover{background-color:var(--color-primary-light);box-shadow:var(--shadow-primary-lift)}@media (width<=767px){.binder-grid-panel{padding:var(--spacing-sm);border-radius:var(--radius-lg)}.card-source-dock{border-radius:var(--radius-lg)}.bottom-sheet-content .card-source-dock{box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}.binder-grid{gap:var(--spacing-xs)}.binder-grid--cols-2{max-width:280px}.binder-grid--cols-3,.binder-grid--cols-4{max-width:100%}.card-source-sheet.bottom-sheet{height:min(var(--sheet-max-height,85vh), calc(100dvh - var(--keyboard-inset,0px) - 16px))}.card-source-sheet .bottom-sheet-content{flex-direction:column;min-height:0;display:flex}.bottom-sheet-content .card-source-dock{flex-direction:column;flex:1;min-height:0;display:flex}.bottom-sheet-content .card-source-dock__body{flex-direction:column;flex:1;min-height:0;max-height:none;display:flex;overflow-y:auto}.card-source-dock__body>.card-source-dock__empty,.card-source-dock__body>.card-source-dock__loading{flex:1}.binder-slot__add{width:36px;height:36px}.source-card__add-btn{opacity:1;background:var(--color-primary-subtle)}.source-card__add-btn-icon{width:24px;height:24px}}.page-rail{--page-thumb-footer-height:22px;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-card-surface);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;display:flex}.page-rail__track{align-items:stretch;gap:var(--spacing-sm);padding-bottom:var(--spacing-xs);scrollbar-width:thin;display:flex;overflow-x:auto}.page-thumbnail{border:var(--border-width-md) solid transparent;border-radius:var(--radius-md);background-color:var(--color-surface-raised);width:60px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;flex:none;gap:2px;padding:3px;display:flex;position:relative}.page-thumbnail--active{border-color:var(--color-primary);box-shadow:var(--shadow-primary-lift)}.page-thumbnail--pair-left{margin-right:calc(var(--spacing-sm) * -1);border-right-color:#0000;border-top-right-radius:0;border-bottom-right-radius:0}.page-thumbnail--pair-right{border-left-color:#0000;border-top-left-radius:0;border-bottom-left-radius:0}.page-thumbnail--dragging{opacity:.5;z-index:1}.page-thumbnail:hover:not(.page-thumbnail--active){border-color:var(--color-border-strong)}.page-thumbnail__surface:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.page-thumbnail__move{z-index:2;border-radius:var(--radius-full);background-color:var(--color-surface);width:18px;height:18px;color:var(--color-text-secondary);box-shadow:var(--shadow-sm);opacity:0;cursor:pointer;transition:opacity var(--transition-fast), color var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.page-thumbnail:hover .page-thumbnail__move,.page-thumbnail__move:focus-visible{opacity:1}.page-thumbnail__move:hover:not(:disabled){color:var(--color-primary)}.page-thumbnail:hover .page-thumbnail__move:disabled,.page-thumbnail__move:disabled:focus-visible{opacity:.35;cursor:not-allowed}.page-thumbnail__move--left{left:-6px}.page-thumbnail__move--right{right:-6px}.page-thumbnail__surface{cursor:grab;touch-action:manipulation;background:0 0;border:none;width:100%;padding:0;display:block}.page-thumbnail__surface:active{cursor:grabbing}.page-thumbnail__surface--cover{border-radius:var(--radius-sm);background-color:var(--color-surface-hover);cursor:pointer;flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.page-thumbnail__cover-icon{color:var(--color-text-muted);transition:color var(--transition-fast)}.page-thumbnail--cover.page-thumbnail--active .page-thumbnail__cover-icon{color:var(--color-primary)}.page-thumbnail__grid{gap:2px;width:100%;display:grid}.page-thumbnail__grid--cols-2{grid-template-columns:repeat(2,1fr)}.page-thumbnail__grid--cols-3{grid-template-columns:repeat(3,1fr)}.page-thumbnail__grid--cols-4{grid-template-columns:repeat(4,1fr)}.page-thumbnail__slot{aspect-ratio:5/7;background-color:var(--binder-slot-bg,var(--color-surface-hover));border-radius:2px;overflow:hidden}.page-thumbnail__slot--empty{background-color:var(--binder-empty-bg,var(--color-input-bg))}.page-thumbnail__slot-image{object-fit:cover;width:100%;height:100%;display:block}.page-thumbnail__footer{justify-content:space-between;align-items:center;gap:var(--spacing-xs);min-height:var(--page-thumb-footer-height);margin-top:auto;display:flex}.page-thumbnail__label{align-items:center;gap:var(--spacing-xs);min-width:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);flex:1;font-weight:600;display:inline-flex}.page-thumbnail__label-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.page-thumbnail--active .page-thumbnail__label{color:var(--color-primary)}.page-thumbnail__selected-dot{border-radius:var(--radius-full);background-color:var(--color-primary);width:5px;height:5px}.page-thumbnail__menu-wrapper{position:relative}.page-thumbnail__menu-btn{width:var(--page-thumb-footer-height);height:var(--page-thumb-footer-height);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.page-thumbnail__menu-btn:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text-primary)}.page-thumbnail__menu-btn:disabled{opacity:.5;cursor:not-allowed}.page-thumbnail__menu{z-index:var(--z-index-popover);min-width:168px;padding:var(--spacing-xs);background-color:var(--color-surface);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);flex-direction:column;display:flex;position:fixed}.page-thumbnail__menu-section{gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs);border-bottom:var(--border-width-sm) solid var(--color-border);flex-direction:column;display:flex}.page-thumbnail__menu-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600}.page-thumbnail__move-select{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-xs);cursor:pointer}.page-thumbnail__move-select:disabled{opacity:.5;cursor:not-allowed}.page-thumbnail__menu-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-xs);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;display:flex}.page-thumbnail__menu-item:hover:not(:disabled){background-color:var(--color-surface-hover)}.page-thumbnail__menu-item:disabled{opacity:.45;cursor:not-allowed}.page-thumbnail__menu-item--danger{color:var(--color-error)}.page-thumbnail__actions-sheet{gap:var(--spacing-xs);flex-direction:column;display:flex}.page-thumbnail__actions-sheet-section{gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-xs);border-bottom:var(--border-width-sm) solid var(--color-border);flex-direction:column;display:flex}.page-thumbnail__actions-sheet-row{align-items:center;gap:var(--spacing-md);width:100%;min-height:48px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;font-weight:500;display:flex}.page-thumbnail__actions-sheet-row:hover:not(:disabled){background:var(--color-surface-raised)}.page-thumbnail__actions-sheet-row:disabled{opacity:var(--opacity-disabled);cursor:default}.page-thumbnail__actions-sheet-row--danger{color:var(--color-error)}.page-rail__add-tile{width:60px;min-height:0;padding:var(--spacing-xs);border:var(--border-width-md) dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-xs);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;display:flex}.page-rail__add-tile:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.page-rail__add-tile:disabled{opacity:.5;cursor:not-allowed}.page-rail__add-tile--locked{color:var(--color-text-muted);border-style:solid}.page-rail__add-tile--locked:hover:not(:disabled){border-color:var(--color-warning);color:var(--color-warning)}.page-rail__add-label{font-weight:600}:root[data-theme=dark] .page-rail{background-color:var(--surface-dark-panel);border-color:var(--surface-dark-border)}:root[data-theme=dark] .page-thumbnail{background-color:var(--surface-dark-glass-soft)}:root[data-theme=dark] .page-thumbnail__move{background-color:var(--surface-dark-panel-strong);color:var(--color-dark-text-secondary)}:root[data-theme=dark] .page-thumbnail__menu{background-color:var(--surface-dark-panel-strong);border-color:var(--surface-dark-border)}:root[data-theme=dark] .page-thumbnail__menu-item{color:var(--color-dark-text-primary)}:root[data-theme=dark] .page-thumbnail__menu-section{border-bottom-color:var(--surface-dark-border)}:root[data-theme=dark] .page-thumbnail__menu-label{color:var(--color-dark-text-secondary)}:root[data-theme=dark] .page-thumbnail__move-select{background-color:var(--surface-dark-base);border-color:var(--surface-dark-border);color:var(--color-dark-text-primary)}:root[data-theme=dark] .page-thumbnail__actions-sheet-row{color:var(--color-dark-text-primary)}:root[data-theme=dark] .page-thumbnail__actions-sheet-section{border-bottom-color:var(--surface-dark-border)}@media (width<=1023px){.page-thumbnail__move{display:none}}@media (width<=640px){.page-rail{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md)}.page-thumbnail,.page-rail__add-tile{width:54px}}@property --search-glow-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes search-glow-spin{to{--search-glow-angle:360deg}}.search-glow{border-radius:var(--radius-full);width:100%;position:relative}.search-glow[data-radius=xl]{border-radius:var(--radius-xl)}.search-glow__content{z-index:1;border-radius:inherit;background:var(--color-background);position:relative}.search-glow__ring,.search-glow__bloom{border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--transition-normal);background:conic-gradient(from var(--search-glow-angle), transparent 0deg, transparent 200deg, var(--color-primary-glow) 280deg, var(--color-primary) 340deg, var(--color-primary) 360deg);animation:1.9s linear infinite paused search-glow-spin;position:absolute;inset:0}.search-glow__ring{z-index:2;padding:var(--border-width-md);-webkit-mask-composite:xor;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.search-glow__bloom{z-index:0;inset:calc(-1 * var(--border-width-lg));filter:blur(12px)}.search-glow[data-loading=true] .search-glow__ring,.search-glow[data-loading=true] .search-glow__bloom{opacity:1;animation-play-state:running}@media (prefers-reduced-motion:reduce){.search-glow__ring,.search-glow__bloom{animation:none}}.search-input-wrapper{background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);align-items:center;gap:10px;padding:0 14px;transition:border-color .18s,box-shadow .18s;display:flex;position:relative}.search-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.search-input{height:50px;color:var(--color-text-primary);font-size:15px;line-height:var(--line-height-normal);resize:none;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;overflow:hidden}.search-input::placeholder{color:var(--color-text-muted)}.search-input:focus{outline:none}.search-input-wrapper .button--icon-only{border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);border-color:#0000}.search-input-wrapper .button--icon-only:hover:not(:disabled){background:var(--color-primary-hover);color:var(--color-on-primary);border-color:#0000}@media (width<=520px){.search-input-wrapper{gap:8px;padding:0 10px}.search-input{height:46px;font-size:14px}}@media (hover:none) and (pointer:coarse){.search-input-wrapper{min-height:var(--button-min-height-touch)}}.search-history{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.search-history__label{color:var(--color-text-muted);flex-shrink:0;font-size:12px;font-weight:500}.search-history__list{gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.search-history__item{max-width:200px;display:inline-flex}.search-history__pill{border-radius:var(--radius-full);background:var(--color-chip-bg);border:1px solid var(--color-border);max-width:100%;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);font-family:inherit;font-size:12px;line-height:var(--line-height-normal);align-items:center;padding:4px 12px;display:inline-flex}.search-history__pill-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-history__pill--card{gap:var(--spacing-xs);padding-left:6px;overflow:visible}.search-history__pill-thumb{object-fit:cover;border-radius:2px;flex-shrink:0;width:18px;height:25px}.search-history__pill:hover{background:var(--color-chip-hover);color:var(--color-text-primary);border-color:var(--color-border-strong)}.search-history__pill:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.search-history__pill:disabled,.search-history__more:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.search-history__more{border-radius:var(--radius-full);background:var(--color-chip-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);font-family:inherit;font-size:12px;line-height:var(--line-height-normal);white-space:nowrap;justify-content:center;align-items:center;padding:4px 12px;display:inline-flex}.search-history__more:hover{background:var(--color-chip-hover);color:var(--color-text-primary);border-color:var(--color-border-strong)}.search-history__more:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.search-history__item--mobile-only{display:none}@media (width<=640px){.search-history{gap:var(--spacing-xs)}.search-history__label{font-size:11px}.search-history__list{gap:var(--spacing-xs)}.search-history__item{max-width:160px}.search-history__item--desktop-only{display:none}.search-history__item--mobile-only{display:inline-flex}.search-history__pill,.search-history__more{padding:3px 10px;font-size:11px}}.search-history-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:var(--z-index-modal);padding:var(--spacing-md);background:#000000a6;justify-content:center;align-items:center;animation:.2s ease-out searchHistoryFadeIn;display:flex;position:fixed;inset:0}@keyframes searchHistoryFadeIn{0%{opacity:0}to{opacity:1}}.search-history-modal-backdrop__dismiss{cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.search-history-modal{z-index:1;background:var(--color-card-surface);border:var(--border-width-lg) solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);flex-direction:column;width:100%;max-width:480px;max-height:70vh;animation:.3s cubic-bezier(.34,1.56,.64,1) searchHistorySlideUp;display:flex;position:relative;overflow:hidden}@keyframes searchHistorySlideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.search-history-modal__header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-primary-border-faint);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.search-history-modal__title-row{align-items:center;gap:var(--spacing-sm);display:flex}.search-history-modal__icon{width:20px;height:20px;color:var(--color-primary)}.search-history-modal__title{font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:700;line-height:var(--line-height-tight);margin:0}.search-history-modal__close{width:36px;height:36px;color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.search-history-modal__close:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.search-history-modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.search-history-modal__tabs{gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-xl);border-bottom:1px solid var(--color-primary-border-faint);flex-shrink:0;display:flex}.search-history-modal__tab{align-items:center;gap:var(--spacing-2xs);padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width-sm) solid transparent;border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-weight:500;display:inline-flex}.search-history-modal__tab:hover{background:var(--color-primary-light);color:var(--color-text-primary)}.search-history-modal__tab--active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.search-history-modal__tab--active:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.search-history-modal__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.search-history-modal__content{padding:var(--spacing-sm) 0;flex:1;overflow-y:auto}.search-history-modal__empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-base)}.search-history-modal__list{margin:0;padding:0;list-style:none}.search-history-modal__item{border-bottom:1px solid var(--color-primary-border-faint)}.search-history-modal__item:last-child{border-bottom:none}.search-history-modal__item-button{justify-content:space-between;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-xl);cursor:pointer;text-align:left;transition:background-color var(--transition-fast);background:0 0;border:none;font-family:inherit;display:flex}.search-history-modal__item-button:hover{background-color:var(--color-primary-light)}.search-history-modal__item-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.search-history-modal__query{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-normal);word-break:break-word;flex:1}.search-history-modal__date{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.search-history-modal__item-button--card{align-items:center}.search-history-modal__card-image{border-radius:var(--radius-xs);width:36px;height:auto;box-shadow:var(--shadow-sm);flex-shrink:0}.search-history-modal__card-info{gap:var(--spacing-2xs);flex-direction:column;flex:1;min-width:0;display:flex}.search-history-modal__card-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.search-history-modal__card-name{font-size:var(--font-size-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.search-history-modal__footer{padding:var(--spacing-sm) var(--spacing-xl);border-top:1px solid var(--color-primary-border-faint);flex-shrink:0}.search-history-modal__hint{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;margin:0;font-style:italic}@media (width<=640px){.search-history-modal{max-height:80vh;margin:var(--spacing-sm)}.search-history-modal__header,.search-history-modal__item-button{padding:var(--spacing-md) var(--spacing-lg)}.search-history-modal__footer{padding:var(--spacing-sm) var(--spacing-lg)}}.pricing-container{width:100%;min-height:100vh;padding:clamp(var(--spacing-lg), 8vw, var(--spacing-2xl));justify-content:center;align-items:center;display:flex;position:relative}.pricing-card{background:var(--color-surface-raised);border-radius:var(--radius-xl);width:min(100%,480px);padding:clamp(var(--spacing-xl), 5vw, var(--spacing-2xl));border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.pricing-card>*{z-index:2;position:relative}.pricing-header{text-align:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.pricing-eyebrow{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);background:var(--color-chip-bg);color:var(--color-primary);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;align-self:center;font-weight:700}.pricing-title{font-size:var(--font-size-3xl);color:var(--color-text-primary);letter-spacing:-.015em;font-weight:800}.pricing-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary)}.pricing-toggle{background:var(--color-input-bg);border-radius:var(--radius-lg);padding:var(--spacing-xs);gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);border:1px solid var(--color-border);display:flex}.pricing-toggle-option{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:var(--spacing-2xs);background:0 0;border:none;flex-direction:column;flex:1;font-weight:600;display:flex}.pricing-toggle-option:hover:not(.pricing-toggle-option--active){background:var(--color-surface-hover);color:var(--color-text-secondary)}.pricing-toggle-option--active{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary-soft)}.pricing-toggle-savings{font-size:var(--font-size-xs);opacity:.9;font-weight:700}.pricing-price-display{text-align:center;margin-bottom:var(--spacing-xl)}.pricing-price{font-size:var(--font-size-4xl);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:800}.pricing-period{font-size:var(--font-size-lg);color:var(--color-text-muted);font-weight:500}.pricing-lifetime-note{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-success);font-weight:600}.pricing-features{margin:0 0 var(--spacing-xl) 0;gap:var(--spacing-sm);flex-direction:column;padding:0;list-style:none;display:flex}.pricing-feature{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);color:var(--color-text-secondary);display:flex}.pricing-feature-icon{border-radius:var(--radius-full);background:var(--color-success);color:#fff;width:20px;height:20px;font-size:var(--font-size-xs);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pricing-subscribe-btn{width:100%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-primary-soft);border:none;font-weight:700}.pricing-subscribe-btn:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary-lift);transform:translateY(-2px)}.pricing-subscribe-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.pricing-footer{margin-top:var(--spacing-lg);text-align:center}.pricing-footer-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pricing-footer-link{color:var(--color-primary);font-weight:500;text-decoration:none}.pricing-footer-link:hover{text-decoration:underline}.pricing-already-pro{text-align:center;padding:var(--spacing-xl) 0}.pricing-already-pro-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-weight:700}.pricing-already-pro-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.pricing-manage-btn{padding:var(--spacing-sm) var(--spacing-lg);border:var(--border-width-md) solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-primary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-weight:600;text-decoration:none;display:inline-block}.pricing-manage-btn:hover{background:var(--color-primary);color:var(--color-on-primary)}.pricing-back-link{top:var(--spacing-lg);left:var(--spacing-lg);align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);transition:color var(--transition-fast);font-weight:500;text-decoration:none;display:flex;position:absolute}.pricing-back-link:hover{color:var(--color-primary)}.pricing-error{padding:var(--spacing-md);background:var(--color-error-bg);border:var(--border-width-sm) solid #ef444480;border-radius:var(--radius-md);color:var(--color-error-text);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);text-align:center}@media (width<=480px){.pricing-card{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.pricing-title{font-size:var(--font-size-xl)}.pricing-toggle-option{padding:var(--spacing-sm) var(--spacing-xs)}.pricing-price{font-size:var(--font-size-3xl)}}.preview-cta{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-xs) var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-border-strong);background:var(--color-chip-bg);display:flex}.preview-cta__icon{color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.preview-cta__text{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--font-size-sm);line-height:var(--line-height-tight);flex:1;margin:0;overflow:hidden}.preview-cta__count{color:var(--color-text-primary);font-weight:600}.preview-cta__context{color:var(--color-text-secondary)}.preview-cta__action{flex-shrink:0}.preview-cta--available{background:var(--color-primary-subtle);border-color:var(--color-primary-border-soft)}.preview-cta--available .preview-cta__icon,.preview-cta--available .preview-cta__count{color:var(--color-primary-text)}.preview-cta--spent{background:var(--color-success-subtle);border-color:var(--color-success-border)}.preview-cta--spent .preview-cta__icon,.preview-cta--spent .preview-cta__count{color:var(--color-success-light)}.preview-cta--exhausted .preview-cta__icon{color:var(--color-text-muted)}.preview-cta--exhausted .preview-cta__count{color:var(--color-warning-light)}.preview-cta--available .preview-cta__action,.preview-cta--exhausted .preview-cta__action{background:linear-gradient(135deg, var(--color-upgrade-amber-light), var(--color-upgrade-amber-dark));border:var(--border-width-sm) solid transparent;color:var(--color-background)}.preview-cta--available .preview-cta__action:hover:not(:disabled),.preview-cta--exhausted .preview-cta__action:hover:not(:disabled){box-shadow:0 0 16px var(--color-upgrade-glow-medium)}.preview-cta--spent .preview-cta__action{background:var(--color-success-bg-dark);border:var(--border-width-sm) solid var(--color-success-border);color:var(--color-success-light)}.preview-cta--spent .preview-cta__action:hover:not(:disabled){border-color:var(--color-success)}.collections-sidebar{gap:var(--spacing-sm);background:var(--color-surface);width:100%;padding:var(--spacing-md);flex-direction:column;display:flex}.drawer__content .collections-sidebar{background:0 0;padding:0}.collections-sidebar__header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.collections-sidebar__heading{align-items:center;gap:var(--spacing-xs);min-width:0;display:flex}.collections-sidebar__icon{color:var(--color-primary);flex-shrink:0}.collections-sidebar__title{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0;font-weight:700}.collections-sidebar__close-btn{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.collections-sidebar__close-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.collections-sidebar__close-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.collections-sidebar__list{gap:var(--spacing-xs);flex-direction:column;display:flex}.collections-sidebar__loading,.collections-sidebar__empty{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--spacing-sm)}.collections-sidebar__create-row{align-items:center;gap:var(--spacing-sm);width:100%;margin-top:var(--spacing-xs);padding:var(--spacing-sm);border:var(--border-width-sm) dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-primary-text);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;font-weight:600;display:flex}.collections-sidebar__create-row:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.collections-sidebar__create-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.collections-sidebar__create-icon{color:var(--color-primary);flex-shrink:0}.collections-sidebar__create-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.collection-row{align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);transition:background-color var(--transition-fast);display:flex}.collection-row:hover{background:var(--color-surface-hover)}.collection-row--active{background:var(--color-primary-light)}.collection-row--all{width:100%;padding:var(--spacing-sm);color:var(--color-text-primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;font-weight:600}.collection-row--all:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.collection-row__icon{color:var(--color-error);flex-shrink:0}.collection-row__icon--uncategorized{color:var(--color-text-secondary)}.collection-row__button{align-items:center;gap:var(--spacing-sm);min-width:0;padding:var(--spacing-sm);color:var(--color-text-primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;font-weight:500;display:flex}.collection-row__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.collection-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.collection-row__count{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-surface-raised);border-radius:var(--radius-full);padding:2px var(--spacing-sm);flex-shrink:0}.collection-row--active .collection-row__name{color:var(--color-primary-text);font-weight:600}.collection-row--active .collection-row__count{background:var(--color-primary-subtle);color:var(--color-primary-text)}.collection-row__actions{padding-right:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast);align-items:center;gap:2px;display:flex}.collection-row:hover .collection-row__actions,.collection-row:focus-within .collection-row__actions{opacity:1}.collection-row__action-btn{border-radius:var(--radius-full);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.collection-row__action-btn:hover{background:var(--color-surface-raised);color:var(--color-text-primary)}.collection-row__action-btn--danger:hover{color:var(--color-error);background:#ef444426}.collection-color-dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}@media (width<=767px){.collection-row__actions{opacity:1}.collection-row__action-btn{width:32px;height:32px}}@media (hover:none) and (pointer:coarse){.collection-row__actions{opacity:1}}.auth-container{width:100%;min-height:100vh;padding:clamp(var(--spacing-lg), 8vw, var(--spacing-2xl));isolation:isolate;justify-content:center;align-items:center;display:flex;position:relative}.auth-loading-text{color:var(--color-text-secondary);font-size:var(--font-size-base)}.auth-card{background:var(--color-surface-raised);border-radius:var(--radius-xl);width:min(100%,520px);padding:clamp(var(--spacing-xl), 5vw, var(--spacing-2xl));border:1px solid var(--color-border-strong);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.auth-card>*{z-index:2;position:relative}.auth-header{text-align:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.auth-eyebrow{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;border:1px solid var(--color-border);align-self:center;font-weight:700}.auth-title{font-size:var(--font-size-3xl);color:var(--color-text-primary);letter-spacing:-.015em;font-weight:800}.auth-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal);max-width:32ch;margin:0 auto}.auth-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;width:100%;display:grid}.form-group{gap:var(--spacing-xs);flex-direction:column;min-width:0;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide);font-weight:600}.form-input{min-height:var(--input-min-height-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-input:hover{border-color:var(--color-border-strong)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.form-input::placeholder{color:var(--color-text-muted);opacity:var(--opacity-muted)}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{box-shadow:0 0 0 3px var(--color-error-bg)}.password-input-wrapper{width:100%;display:flex;position:relative}.password-input-wrapper input{width:100%;padding-right:calc(var(--spacing-xl) + var(--spacing-lg))}.password-toggle-button{right:var(--spacing-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);transition:color var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.password-toggle-button:hover:not(:disabled){color:var(--color-primary)}.password-toggle-button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.auth-button{min-height:var(--button-min-height-touch);padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-base);color:var(--color-on-primary);background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);font-weight:700}.auth-button:hover:not(:disabled){box-shadow:var(--shadow-md);background-color:var(--color-primary-hover);transform:translateY(-2px)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:focus-visible{box-shadow:0 0 0 3px var(--color-primary-glow);outline:none;transform:translateY(-2px)}.auth-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.auth-button.secondary{color:var(--color-primary);border-color:var(--color-border-strong);box-shadow:none;background:0 0}.auth-button.secondary:hover:not(:disabled){background:var(--color-surface-hover)}.auth-error,.auth-success{padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-size:var(--font-size-sm);text-align:left;border:1px solid #0000}.auth-error{background-color:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.auth-success{border-color:var(--color-success);color:var(--color-success);background-color:#10b9811a}.auth-draft-banner{padding:var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--color-primary-border-soft);background-color:var(--color-primary-bg);color:var(--color-primary-text);font-size:var(--font-size-sm);text-align:center}.auth-footer{margin-top:var(--spacing-xl);text-align:center;font-size:var(--font-size-sm)}.auth-link{color:var(--color-primary);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;transition:color var(--transition-fast);padding-bottom:2px;font-weight:600;text-decoration:none;position:relative}.auth-link:hover{color:var(--color-primary-hover)}.auth-link:after{content:"";transform-origin:0;width:100%;height:2px;transition:transform var(--transition-fast);background-color:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.auth-link:hover:after{transform:scaleX(1)}.auth-divider{align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0;color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.auth-divider:before,.auth-divider:after{content:"";background-color:var(--color-border);opacity:.5;flex:1;height:1px}.forgot-password-link{text-align:right;margin-top:calc(-1 * var(--spacing-sm));display:block}.auth-spinner{width:var(--icon-size-md);height:var(--icon-size-md);border:2px solid var(--color-white);border-radius:var(--radius-full);margin-right:var(--spacing-sm);vertical-align:middle;border-top-color:#0000;animation:.8s linear infinite spin;display:inline-block}.auth-loading{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-md);color:var(--color-text-primary);flex-direction:column;display:flex}.password-requirements{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.field-error{font-size:var(--font-size-xs);color:var(--color-error);margin-top:calc(-1 * var(--spacing-xs));padding-left:var(--spacing-sm);font-weight:500;display:block}.field-validating{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:calc(-1 * var(--spacing-xs));padding-left:var(--spacing-sm);display:flex}.field-validating:before{content:"";border:2px solid var(--color-primary);border-radius:var(--radius-full);border-top-color:#0000;width:12px;height:12px;animation:.6s linear infinite spin;display:inline-block}@media (width<=480px){.auth-card{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.auth-title{font-size:var(--font-size-xl)}.form-row{grid-template-columns:1fr}}.rarity-gallery{gap:var(--spacing-xl)}.rarity-gallery__cta-wrapper{justify-content:center;display:flex}.rarity-gallery__cta-link{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-2xl);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary-soft);transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:none;font-weight:700;text-decoration:none;display:inline-flex}.rarity-gallery__cta-link:hover,.rarity-gallery__cta-link:focus-visible{box-shadow:var(--shadow-primary-bold);transform:translateY(-2px)}.rarity-gallery__cta-link:active{transform:translateY(0)}.rarity-gallery__header{background:var(--color-surface-raised);padding:clamp(var(--spacing-xl), 5vw, var(--spacing-2xl));border-radius:var(--radius-xl);border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-md);text-align:center;gap:var(--spacing-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.rarity-gallery__header>*{z-index:2;position:relative}.rarity-gallery__pill{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);background:var(--color-chip-bg);color:var(--color-primary);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;align-self:center;font-weight:700}.rarity-gallery__title{font-size:var(--font-size-4xl);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0;font-weight:800}.rarity-gallery__subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.rarity-gallery__controls{background:var(--color-surface-raised);border-radius:var(--radius-xl);padding:clamp(var(--spacing-lg), 4vw, var(--spacing-xl));border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-sm);gap:var(--spacing-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.rarity-gallery__controls>*{z-index:2;position:relative}.rarity-gallery__supertype-input{gap:var(--spacing-xs);flex-direction:column;display:flex}.rarity-gallery__supertype-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide);font-weight:600}.rarity-gallery__supertype-field{border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-input-bg);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-base);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.rarity-gallery__supertype-field:hover{border-color:var(--color-primary)}.rarity-gallery__supertype-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.rarity-gallery__selector{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.rarity-gallery__selector-button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);border:var(--border-width-md) solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text-primary);transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);font-weight:600}.rarity-gallery__selector-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary);box-shadow:var(--shadow-primary-lift);transform:translateY(-2px)}.rarity-gallery__selector-button:active{transform:translateY(0)}.rarity-gallery__selector-button--active{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary-bold);border-color:#0000}.rarity-gallery__selector-button--active:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary-strong);transform:translateY(-2px)}.rarity-gallery__images{background:var(--color-surface-raised);border-radius:var(--radius-xl);padding:clamp(var(--spacing-lg), 4vw, var(--spacing-xl));border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-sm);gap:var(--spacing-md);flex-direction:column;display:flex;position:relative;overflow:hidden}.rarity-gallery__images>*{z-index:2;position:relative}.rarity-gallery__images-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.rarity-gallery__images-title{font-size:var(--font-size-3xl);color:var(--color-text-primary);margin:0;font-weight:700}.rarity-gallery__images-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);background:var(--color-chip-bg);font-weight:600}.rarity-gallery__grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.rarity-gallery__card{background:var(--color-card-surface);border-radius:var(--radius-lg);padding:var(--spacing-sm);border:var(--border-width-md) solid var(--color-border-gold);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);position:relative}.rarity-gallery__card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-primary);transform:translateY(-4px)}.rarity-gallery__card-image{border-radius:var(--radius-md);object-fit:cover;width:100%;display:block}.rarity-gallery__empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);border:var(--border-width-md) dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-input-bg);font-size:var(--font-size-base);line-height:var(--line-height-normal)}:root[data-theme=light] .rarity-gallery__selector-button{color:var(--color-black)}:root[data-theme=light] .rarity-gallery__selector-button--active{color:var(--color-white)}.filter-bar{gap:var(--spacing-md);padding:var(--spacing-sm) 0;flex-direction:column;display:flex}.filter-bar__row{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-flow:wrap;display:flex}.filter-bar__categories{gap:var(--spacing-sm);flex-flow:wrap;display:flex}.filter-bar__controls{align-items:center;gap:var(--spacing-md);display:flex}.filter-dropdown--presets .filter-dropdown__trigger{min-width:150px}@media (width<=640px){.filter-bar{display:none}}.filter-dropdown{display:inline-block;position:relative}.filter-dropdown__trigger{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-input-bg);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:border-color .15s,background-color .15s;display:inline-flex}.filter-dropdown__trigger:hover{border-color:var(--color-border-strong);background-color:var(--color-surface-hover)}.filter-dropdown__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.filter-dropdown__trigger--active{border-color:var(--color-border-accent);color:var(--color-primary-text);background-color:var(--color-primary-bg)}.filter-dropdown__badge{background-color:var(--color-primary-subtle);min-width:1.25rem;height:1.25rem;color:var(--color-primary-text);border-radius:var(--radius-full);font-size:var(--font-size-xs);justify-content:center;align-items:center;padding:0 .375rem;font-weight:600;display:inline-flex}.filter-dropdown__chevron{opacity:.7}.filter-dropdown__menu{z-index:var(--z-index-dropdown);background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-md);padding:var(--spacing-xs);flex-direction:column;gap:2px;max-height:320px;display:flex;position:fixed;overflow-y:auto}.filter-dropdown__option{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;text-align:left;background:0 0;border:none;transition:background-color .12s;display:flex}.filter-dropdown__option:hover:not(:disabled){background-color:var(--color-surface-hover)}.filter-dropdown__option--selected{background-color:var(--color-primary-subtle);color:var(--color-primary-text)}.filter-dropdown__option--disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.filter-dropdown__check{width:1rem;height:1rem;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.filter-dropdown__option-label{flex:1}.filter-dropdown__option-count{color:var(--color-text-muted);font-size:var(--font-size-xs)}.filter-dropdown__option--selected .filter-dropdown__option-count{color:var(--color-primary-text);opacity:.8}.active-filter-chips{align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.active-filter-chips__divider{background-color:var(--color-border-strong);align-self:stretch;width:1px;min-height:1.1rem}.active-filter-chips__label{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);font-weight:700}.active-filter-chip{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-primary-bg);color:var(--color-primary-text);border:1px solid var(--color-border-accent);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:background-color .12s;display:inline-flex}.active-filter-chip:hover{background-color:var(--color-primary-subtle)}.active-filter-chips__clear{align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background:0 0;border:none;font-weight:500;transition:color .12s;display:inline-flex}.active-filter-chips__clear:hover{color:var(--color-text-primary)}.active-filter-chips__clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.filter-fab{display:none}@media (width<=640px){.filter-fab{right:var(--spacing-md);bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0));border-radius:var(--radius-full);background-color:var(--color-primary);width:56px;height:56px;color:var(--color-on-primary);box-shadow:var(--shadow-md);cursor:pointer;z-index:40;border:none;justify-content:center;align-items:center;transition:transform .15s;display:inline-flex;position:fixed}.filter-fab:active{transform:scale(.96)}.filter-fab__badge{background-color:var(--color-surface);min-width:22px;height:22px;color:var(--color-primary-text);border:2px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-4px}}.filter-sheet{gap:var(--spacing-lg);flex-direction:column;display:flex;position:relative}.filter-sheet__footer{gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);background-color:var(--color-surface);border-top:1px solid var(--color-border);display:flex;position:sticky;bottom:0}.filter-sheet__clear{border:1px solid var(--color-border-strong);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-full);background:0 0;font-weight:600;transition:color .15s,border-color .15s}.filter-sheet__clear:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-border-accent)}.filter-sheet__clear:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.filter-sheet__clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.filter-sheet__section{gap:var(--spacing-sm);flex-direction:column;display:flex}.filter-sheet__section-title{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:700}.filter-sheet__chips{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.filter-sheet__chip{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-input-bg);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:border-color .12s,background-color .12s}.filter-sheet__chip:hover:not(:disabled){border-color:var(--color-border-strong)}.filter-sheet__chip--selected{background-color:var(--color-primary-bg);color:var(--color-primary-text);border-color:var(--color-border-accent)}.filter-sheet__chip--disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.filter-sheet__apply{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);font-family:inherit;font-size:var(--font-size-base);cursor:pointer;border:none;flex:1;font-weight:700;transition:background-color .15s}.filter-sheet__apply:hover{background-color:var(--color-primary-hover)}.filter-sheet__apply:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.preset-list{flex-direction:column;gap:2px;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.preset-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.preset-item--active .preset-item__name{color:var(--color-primary-text);font-weight:600}.preset-item__row{align-items:center;gap:var(--spacing-xs);justify-content:space-between;display:flex}.preset-item__name{text-align:left;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);background:0 0;border:none;flex:1;transition:background-color .12s}.preset-item__name:hover{background-color:var(--color-surface-hover)}.preset-item__actions{flex-shrink:0;gap:2px;display:flex}.preset-item__edit{align-items:center;gap:var(--spacing-xs);flex:1;display:flex}.preset-item__action-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}.preset-item__action-btn:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text-primary)}.preset-item__action-btn--danger:hover:not(:disabled){color:var(--color-error)}.preset-item__action-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.preset-item__action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.preset-input{background-color:var(--color-input-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-width:0;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);outline:none;flex:1}.preset-input:focus{border-color:var(--color-border-accent)}.preset-save{align-items:center;gap:var(--spacing-xs);display:flex}.preset-save-trigger{text-align:left;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);width:100%;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);background:0 0;transition:border-color .12s,color .12s}.preset-save-trigger:hover{border-color:var(--color-border-accent);color:var(--color-text-primary)}.preset-save-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.preset-error{font-size:var(--font-size-xs);color:var(--color-error);padding:var(--spacing-xs) 0 0;margin:0}.preset-locked{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg, var(--color-upgrade-gradient-start), var(--color-upgrade-gradient-end));border:1px solid var(--color-upgrade-border);border-radius:var(--radius-lg);color:var(--color-premium);font-family:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;font-weight:500;text-decoration:none;transition:border-color .15s;display:flex}.preset-locked:hover{border-color:var(--color-upgrade-border-hover)}.preset-locked:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.presets-menu{flex-direction:column;min-width:240px;max-height:400px;display:flex;overflow-y:auto}.presets-menu__item{align-items:center;gap:var(--spacing-xs);padding-right:var(--spacing-xs);display:flex}.presets-menu__apply{flex:1;justify-content:flex-start}.presets-menu__empty{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);margin:0}.presets-menu__save{padding:var(--spacing-xs);margin-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.preset-locked--dropdown{width:auto;margin:var(--spacing-xs)}.preset-teaser-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.preset-teaser{justify-content:space-between;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:not-allowed;opacity:.6;display:flex}.preset-teaser__name{align-items:center;gap:var(--spacing-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}.preset-teaser__lock{color:var(--color-premium);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.list-page-header{gap:var(--spacing-xs);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}@media (width>=1024px){.list-page-header{padding-top:var(--spacing-xl)}}.list-page-header__top{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.list-page-header__title-group{align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;display:flex}.list-page-header__icon{color:var(--color-primary);flex-shrink:0}.list-page-header__icon--favorites{color:var(--color-error)}.list-page-header__title{font-size:var(--font-size-2xl);color:var(--color-primary);margin:0;font-weight:700;line-height:1}.list-page-header__count{padding:2px var(--spacing-sm);color:var(--color-text-secondary);font-weight:600;font-size:var(--font-size-xs);align-self:center;line-height:1}.list-page-header__count--limit{color:var(--color-error);background:#ef444426;border-color:#ef44444d}.list-page-header__syncing{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500;animation:1.5s ease-in-out infinite pulse-fade}.list-page-header__actions{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.list-page-header__select-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;font-weight:600}@keyframes pulse-fade{0%,to{opacity:.5}50%{opacity:1}}@media (width<=640px){.list-page-header__title{font-size:var(--font-size-xl)}}.favorites-action-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:var(--border-width-sm) solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text-secondary);box-shadow:var(--shadow-sm);font-weight:600;text-decoration:none;display:inline-flex}.favorites-action-btn:hover{background:var(--color-surface-hover);border-color:var(--color-primary);box-shadow:var(--shadow-primary-lift);transform:translateY(-2px)}.favorites-action-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.favorites-action-btn--ghost{border-color:var(--color-border);background:0 0}.favorites-action-btn--ghost:hover{background:var(--color-surface-raised);border-color:var(--color-border-strong)}.favorites-action-btn--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary-soft);border:none}.favorites-action-btn--primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary-bold)}.favorites-action-btn--primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;box-shadow:var(--shadow-primary-soft);transform:none}.favorites-action-btn--icon-only{width:28px;height:28px;box-shadow:none;background:0 0;border:none;padding:0;line-height:0}.favorites-action-btn--icon-only:hover{background:var(--color-surface-hover);box-shadow:none;border-color:#0000;transform:none}.favorites-action-btn--icon-only:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorites-loading{padding:var(--spacing-2xl);color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.favorites-loading__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);width:40px;height:40px;margin-bottom:var(--spacing-md);border-radius:50%;animation:.8s linear infinite spin}.favorites-error{padding:var(--spacing-2xl);color:var(--color-error);text-align:center;justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.favorites-empty{padding:var(--spacing-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.favorites-empty__icon{background:var(--color-surface-raised);border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-border);width:120px;height:120px;color:var(--color-error);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.favorites-empty__title{font-size:var(--font-size-xl);color:var(--color-text-primary);margin:0 0 var(--spacing-sm);font-weight:700}.favorites-empty__description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg);max-width:400px}.favorites-view-toggle{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--radius-full);background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border);flex-shrink:0;display:flex}.favorites-view-toggle__btn{border-radius:var(--radius-full);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.favorites-view-toggle__btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.favorites-view-toggle__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorites-view-toggle__btn--active{background:var(--color-primary);color:var(--color-on-primary)}.favorites-view-toggle__btn--active:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.favorites-layout{align-items:flex-start;gap:var(--spacing-lg);display:flex}.favorites-layout__main{flex:1;min-width:0}.favorites-page__content{gap:var(--spacing-lg);flex-direction:column;display:flex}.favorites-layout__sidebar{display:none}@media (width>=1024px){.page.favorites-page{max-width:none;padding-inline:0}.favorites-page .list-page-header__title,.favorites-page .list-page-header__count{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.favorites-layout{--favorites-sidebar-w:220px}.favorites-layout__sidebar{left:0;top:var(--header-height);width:var(--favorites-sidebar-w);z-index:calc(var(--z-index-header) - 1);background:var(--color-surface);border-right:1px solid var(--color-border-strong);display:block;position:fixed;bottom:0}.favorites-layout__sidebar .collections-sidebar{height:100%}.favorites-layout__sidebar .collections-sidebar__list{flex:1;min-height:0;overflow-y:auto}.favorites-layout__resizer{left:var(--favorites-sidebar-w);top:var(--header-height);width:var(--border-width-lg);z-index:calc(var(--z-index-header) - 1);cursor:col-resize;transition:background var(--transition-fast);background:0 0;display:block;position:fixed;bottom:0;transform:translate(-50%)}.favorites-layout__resizer:after{content:"";inset-block:0;inset-inline:calc(-1 * var(--spacing-xs));position:absolute}.favorites-layout__resizer:hover,.favorites-layout__resizer:focus-visible{background:var(--color-border)}.favorites-layout__resizer.favorites-layout__resizer--active{background:var(--color-primary)}.favorites-layout--resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.favorites-layout__main{margin-left:var(--favorites-sidebar-w);padding-inline:var(--spacing-xl)}}.favorites-hamburger{width:40px;height:40px;color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.favorites-hamburger:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.favorites-hamburger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width>=1024px){.favorites-hamburger{display:none}}.favorites-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.favorites-list{gap:var(--spacing-sm);flex-direction:column;display:flex}@media (width<=640px){.list-page-header__actions--selecting{width:100%;margin-left:0}.list-page-header__actions--selecting .favorites-action-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);flex:1;justify-content:center;min-width:0}}@media (width<=767px){.favorites-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.guest-binder-banner{height:var(--header-height);padding:0 var(--spacing-lg);border-bottom:var(--border-width-sm) solid var(--color-border);background:var(--color-background);isolation:isolate;flex:none;justify-content:space-between;align-items:center;display:flex;position:relative}.guest-binder-banner:before{content:"";background:linear-gradient(90deg, transparent, var(--color-primary), transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.guest-binder-banner__logo{color:var(--color-text-primary);transition:color var(--transition-fast);align-items:center;gap:6px;text-decoration:none;display:flex}.guest-binder-banner__logo:hover{color:var(--color-primary-text)}.guest-binder-banner__name{letter-spacing:-.025em;font-size:14px;font-weight:700;line-height:1}.guest-binder-banner__actions{align-items:center;gap:var(--spacing-md);display:flex}.guest-binder-banner__login{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:13px;font-weight:500;text-decoration:none}.guest-binder-banner__login:hover{color:var(--color-primary-text)}.guest-binder-banner__cta{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-primary);transition:opacity var(--transition-fast);align-items:center;gap:6px;padding:6px 13px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.guest-binder-banner__cta:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.guest-binder__save-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-lg);border-radius:var(--radius-full);background-image:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;font-family:var(--font-family-base);font-size:var(--font-size-sm);letter-spacing:-.01em;cursor:pointer;box-shadow:var(--shadow-primary-deep);transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:none;font-weight:700;display:inline-flex}.guest-binder__save-btn:hover:not(:disabled){box-shadow:var(--shadow-elevated);transform:translateY(-1px)}.guest-binder__save-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;box-shadow:none}.binder-editor__rail-btn--locked,.binder-editor__icon-btn--locked{position:relative}.guest-binder__lock-badge{color:var(--color-warning);background:var(--color-surface);border-radius:var(--radius-full);position:absolute;top:2px;right:2px}.binder-editor__icon-btn--locked .guest-binder__lock-badge{top:-3px;right:-3px}@media (width<=767px){.guest-binder-banner{padding:0 var(--spacing-md)}.guest-binder__save-btn{padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap;flex-shrink:0}}@media (width<=480px){.guest-binder-banner{padding:0 var(--spacing-sm)}.guest-binder-banner__name{font-size:.8rem}}.account-header{text-align:left;align-items:flex-start;gap:var(--spacing-sm);padding-top:var(--spacing-xl);flex-direction:column;display:flex}.account-eyebrow{align-items:center;gap:var(--spacing-xs);letter-spacing:.13em;text-transform:uppercase;color:var(--color-primary-text);font-size:11px;font-weight:600;display:inline-flex}.account-title{font-size:var(--font-size-3xl);color:var(--color-text-primary);letter-spacing:-.015em;margin:0;font-weight:800}.account-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal);max-width:48ch;margin:0}.account-profile{align-items:center;gap:var(--spacing-md);display:flex}.account-avatar{border-radius:var(--radius-full);background:var(--color-primary-subtle);border:var(--border-width-sm) solid var(--color-primary-border-soft);width:48px;height:48px;color:var(--color-primary);font-size:var(--font-size-lg);text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.account-profile__name{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0;font-weight:600}.account-profile__email{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.account-divider{border:none;border-top:var(--border-width-sm) solid var(--color-border);margin:0}.account-section{gap:var(--spacing-lg);flex-direction:column;display:flex}.account-section__header{justify-content:space-between;align-items:center;display:flex}.account-section__title{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:700}.account-rows{flex-direction:column;display:flex}.account-row{padding:var(--spacing-sm) 0;border-bottom:var(--border-width-sm) solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.account-row:last-child{border-bottom:none}.account-row__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.account-row__value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.account-toggle-row{gap:var(--spacing-md);align-items:flex-start;display:flex}.account-toggle-row__icon{color:var(--color-primary);flex-shrink:0;margin-top:2px}.account-toggle-row__content{flex:1}.account-toggle-row__title{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;font-weight:600}.account-toggle-row__desc,.account-section__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.account-section__actions{align-items:center;gap:var(--spacing-sm);flex-flow:wrap;display:flex}.account-chip{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap;font-weight:700;display:inline-flex}.account-chip--danger{color:var(--color-error-light);border:var(--border-width-sm) solid #ef444480;background:#ef444433}.account-chip--success{color:var(--color-success-light);border:var(--border-width-sm) solid #22c55e80;background:#22c55e33}.account-chip--warning{color:var(--color-warning-light);border:var(--border-width-sm) solid #eab30880;background:#eab30833}.account-chip--neutral{color:#cbd5e1;border:var(--border-width-sm) solid #94a3b866;background:#94a3b826}.account-button--danger{background-image:none;background-color:var(--color-error);border-color:var(--color-error)}.account-button--danger:hover:not(:disabled){box-shadow:var(--shadow-elevated);background-color:#dc2626;transform:translateY(-2px)}.account-button--danger:active:not(:disabled){transform:translateY(0)}.account-button--danger:focus-visible{box-shadow:0 0 0 4px var(--color-error-bg), var(--shadow-elevated);outline:none;transform:translateY(-2px)}.account-button--upgrade{background:linear-gradient(135deg, var(--color-upgrade-dark-gradient-start), var(--color-upgrade-dark-gradient-end));border:var(--border-width-md) solid var(--color-upgrade-dark-border);color:var(--color-upgrade-amber-light);box-shadow:0 0 0 1px var(--color-upgrade-dark-glow-subtle), var(--shadow-sm);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background-image:none;font-weight:700}.account-button--upgrade:hover:not(:disabled){background:linear-gradient(135deg, var(--color-upgrade-dark-gradient-hover-start), var(--color-upgrade-dark-gradient-hover-end));border-color:var(--color-upgrade-dark-border-hover);box-shadow:0 0 0 1px var(--color-upgrade-dark-glow-medium), 0 8px 16px var(--color-upgrade-dark-shadow), var(--shadow-md);transform:translateY(-2px)}.account-button--upgrade:focus-visible{box-shadow:0 0 0 4px var(--color-upgrade-dark-glow-subtle), var(--shadow-md);outline:none}.account-button--upgrade:active:not(:disabled){box-shadow:0 0 0 1px var(--color-upgrade-dark-glow-subtle), var(--shadow-sm);transform:translateY(0)}.account-button--upgrade:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.account-button--secondary{background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border-strong);color:var(--color-text-primary);background-image:none}.account-button--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.account-button--outline{border:var(--border-width-sm) solid #dc262673;color:#dc2626;background:#dc262614}.account-button--outline:hover:not(:disabled){color:#dc2626;background:#dc262626;border-color:#dc2626;transform:translateY(-2px);box-shadow:0 4px 16px #dc262633}.account-toggle{background:var(--color-border-strong);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);cursor:pointer;width:48px;height:28px;transition:all var(--transition-normal);flex-shrink:0;padding:0;position:relative}.account-toggle:hover:not(:disabled){background:var(--color-border-warm);border-color:var(--color-border-warm)}.account-toggle:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.account-toggle__slider{background:var(--color-text-primary);border-radius:var(--radius-full);width:20px;height:20px;transition:transform var(--transition-normal);box-shadow:var(--shadow-sm);position:absolute;top:2px;left:2px}.account-toggle--on{background:var(--color-primary);border-color:var(--color-primary)}.account-toggle--on:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary-soft)}.account-toggle--on .account-toggle__slider{transform:translate(20px)}.account-toggle:focus-visible{box-shadow:0 0 0 4px var(--color-primary-bg);outline:none}.account-error-message{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);border:var(--border-width-sm) solid var(--color-border-error-soft);font-size:var(--font-size-sm)}.account-subscription-loading{align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);display:flex}.account-subscription-empty{align-items:flex-start;gap:var(--spacing-md);flex-direction:column;display:flex}.account-subscription-empty p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.confirm-dialog-backdrop{z-index:var(--z-index-pro-locked-modal);padding:var(--spacing-md);background:#000000bf;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@media (width<=767px){.confirm-dialog-backdrop{padding-top:var(--spacing-2xl);align-items:flex-start}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog-backdrop__dismiss{cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.confirm-dialog-backdrop__dismiss:disabled{cursor:default}.confirm-dialog{z-index:1;background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);padding:var(--spacing-xl);width:100%;max-width:480px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-dialog__header{align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.confirm-dialog__header-icon{flex-shrink:0}.confirm-dialog__header-text{flex:1;min-width:0}.confirm-dialog__title{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:700;line-height:var(--line-height-tight);margin:0}.confirm-dialog__description{margin:var(--spacing-xs) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.confirm-dialog__content{margin-bottom:var(--spacing-xl)}.confirm-dialog__message{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.confirm-dialog__warning{border:var(--border-width-sm) solid #eab30859;border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-md);background:#eab3081f}.confirm-dialog__warning-title{font-size:var(--font-size-sm);color:var(--color-warning);margin:0 0 var(--spacing-xs) 0;align-items:center;gap:var(--spacing-xs);font-weight:600;display:flex}.confirm-dialog__warning-text{font-size:var(--font-size-sm);color:var(--color-warning-light);line-height:var(--line-height-relaxed);margin:0}.confirm-dialog__actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.confirm-dialog__button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:var(--border-width-sm) solid transparent;justify-content:center;align-items:center;gap:var(--spacing-xs);min-width:100px;font-weight:600;display:inline-flex}.confirm-dialog__button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.confirm-dialog__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.confirm-dialog__button--cancel{border-color:var(--color-border-strong);color:var(--color-text-secondary);background:0 0}.confirm-dialog__button--cancel:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-text-primary)}.confirm-dialog__button--confirm{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary-soft)}.confirm-dialog__button--confirm:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary-bold);transform:translateY(-1px)}.confirm-dialog__button--danger{background:var(--color-error-solid);border-color:var(--color-error-solid);color:var(--color-white);box-shadow:var(--shadow-md)}.confirm-dialog__button--danger:hover:not(:disabled){background:var(--color-error-solid-hover);border-color:var(--color-error-solid-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.confirm-dialog__button--warning{color:var(--color-black);box-shadow:var(--shadow-md);background:#eab308;border-color:#ca8a04}.confirm-dialog__button--warning:hover:not(:disabled){box-shadow:var(--shadow-lg);background:#ca8a04;transform:translateY(-1px)}:root[data-theme=light] .account-chip--danger{color:#b91c1c;background:#dc262614;border-color:#dc26264d}:root[data-theme=light] .account-chip--success{color:#15803d;background:#16a34a1a;border-color:#16a34a4d}:root[data-theme=light] .account-chip--warning{color:#92400e;background:#a162071a;border-color:#a162074d}:root[data-theme=light] .account-toggle{background:#0000002e;border-color:#00000038}:root[data-theme=light] .account-toggle:hover:not(:disabled){background:#00000042;border-color:#0000004d}:root[data-theme=light] .account-toggle__slider{background:#fff}@media (width<=480px){.account-title{font-size:var(--font-size-xl)}}.ab-test{background:var(--color-background);min-height:100dvh;color:var(--color-text-primary);font-family:var(--font-family-base);padding:1rem;padding-bottom:6.5rem}.ab-test__logo{border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.ab-test__logo-text{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.ab-test__center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;max-width:28rem;min-height:60dvh;margin:0 auto;display:flex}.ab-test__title{margin:0;font-size:1.5rem;font-weight:700}.ab-test__subtitle{color:var(--color-text-secondary);margin:0;font-size:.9375rem;line-height:1.6}.ab-test__spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite ab-test-spin}@keyframes ab-test-spin{to{transform:rotate(360deg)}}.ab-test__sticky-top{background:var(--color-background);z-index:10;margin-bottom:.5rem;padding-bottom:.5rem;position:sticky;top:0}.ab-test__header{margin-bottom:1rem}.ab-test__query-info{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.ab-test__query-label{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.ab-test__query-text{color:var(--color-primary-text);margin:0;font-size:1.25rem;font-weight:600}.ab-test__progress{align-items:center;gap:.5rem;display:flex}.ab-test__progress-bar{background:var(--color-surface-raised);border-radius:2px;flex:1;height:4px;overflow:hidden}.ab-test__progress-fill{background:var(--color-primary);border-radius:2px;height:100%;transition:width .4s}.ab-test__progress-text{color:var(--color-text-muted);text-align:right;min-width:2rem;font-size:.75rem}.ab-test__tabs{border:1px solid var(--color-border);border-radius:8px;gap:0;margin-bottom:1rem;display:flex;overflow:hidden}.ab-test__tab{background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;font-family:var(--font-family-base);border:none;flex:1;padding:.625rem 1rem;transition:background .2s,color .2s}.ab-test__tab:not(:last-child){border-right:1px solid var(--color-border)}.ab-test__tab--active{background:var(--color-primary-subtle);color:var(--color-primary-text)}.ab-test__grid-container{display:block}.ab-test__side{display:none}.ab-test__side--active{display:block}.ab-test__side-label{display:none}.ab-test__card-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.ab-test__card{aspect-ratio:63/88;background:var(--color-surface-raised);border-radius:6px;overflow:hidden}.ab-test__card-img{object-fit:cover;width:100%;height:100%;display:block}.ab-test__card--skeleton{animation:1.5s ease-in-out infinite ab-test-pulse}@keyframes ab-test-pulse{0%,to{opacity:.4}50%{opacity:.7}}.ab-test__vote-bar{padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;flex-direction:column;align-items:stretch;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.ab-test__vote-buttons{gap:.5rem;display:flex}.ab-test__vote-btn{border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-primary);cursor:pointer;font-size:.8125rem;font-weight:600;font-family:var(--font-family-base);border-radius:8px;flex:1;padding:.75rem .5rem;transition:background .2s,border-color .2s,transform .1s}.ab-test__vote-btn:active{transform:scale(.97)}.ab-test__vote-btn--a:hover{background:#60a5fa1f;border-color:#60a5fa}.ab-test__vote-btn--b:hover{background:#c084fc1f;border-color:#c084fc}.ab-test__vote-btn--c:hover{background:#34d3991f;border-color:#34d399}.ab-test__vote-btn--similar:hover{border-color:var(--color-text-muted);background:var(--color-surface-hover)}.ab-test__vote-btn--disabled{opacity:.5;pointer-events:none}.ab-test__vote-neither{font-size:.8125rem;font-family:var(--font-family-base);color:var(--color-text-muted);text-align:center;cursor:pointer;background:0 0;border:none;margin-top:.75rem;padding:0;text-decoration:underline;transition:color .2s}.ab-test__vote-neither:hover{color:var(--color-text-secondary)}.ab-test__vote-neither--disabled{opacity:.5;pointer-events:none}.ab-test__error{text-align:center;color:var(--color-error);padding:3rem 1rem}.ab-test__notes{flex-direction:column;gap:.5rem;width:100%;max-width:24rem;margin-top:.5rem;display:flex}.ab-test__notes-label{color:var(--color-text-secondary);text-align:left;font-size:.875rem}.ab-test__notes-input{border:1px solid var(--color-border);background:var(--color-surface-raised);width:100%;color:var(--color-text-primary);font-size:.875rem;font-family:var(--font-family-base);resize:vertical;border-radius:8px;min-height:5rem;padding:.75rem}.ab-test__notes-input::placeholder{color:var(--color-text-muted)}.ab-test__notes-submit{background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-family-base);border:none;border-radius:8px;align-self:flex-end;padding:.625rem 1.25rem;transition:background .2s}.ab-test__notes-submit:hover{background:var(--color-primary-hover)}.ab-test__notes-submit:disabled{opacity:.5;cursor:not-allowed}.ab-test__notes-thanks{color:var(--color-success);font-weight:500}@media (width>=768px){.ab-test{max-width:960px;margin:0 auto;padding:1.5rem 2rem 7.5rem}.ab-test__sticky-top{margin-bottom:0;padding-bottom:0;position:static}.ab-test__card-grid{grid-template-columns:repeat(5,1fr);gap:.625rem}.ab-test__vote-bar{align-items:center;padding:1rem 2rem}.ab-test__vote-buttons{justify-content:center;gap:.75rem}.ab-test__vote-btn{flex:0 12rem;padding:.875rem 1.5rem;font-size:.875rem}}@media (width>=1200px){.ab-test{max-width:1100px}.ab-test__card-grid{grid-template-columns:repeat(7,1fr)}}.binders-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.binder-card-legacy{background:var(--color-card-surface);border-radius:var(--radius-lg);border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);position:relative;overflow:hidden}.binder-card-legacy:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-primary);transform:translateY(-4px)}.binder-card-legacy:focus{outline:2px solid var(--color-primary);outline-offset:2px}.binder-card-legacy__preview{padding:var(--spacing-sm);background:var(--color-surface-raised);border-bottom:var(--border-width-sm) solid var(--color-border);position:relative;overflow:hidden}.binder-card-legacy__title-cover{min-height:120px;padding:var(--spacing-md);text-align:center;justify-content:center;align-items:center;display:flex}.binder-card-legacy__title-cover-name{font-size:var(--font-size-base);letter-spacing:-.01em;color:inherit;overflow-wrap:break-word;font-weight:700}.binder-card-legacy__title-band{left:var(--spacing-sm);right:var(--spacing-sm);bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);text-align:center;background:#0000008c;position:absolute}.binder-card-legacy__title-band-name{font-size:var(--font-size-xs);color:#fff;text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.binder-card-legacy__grid{gap:var(--spacing-xs);grid-template-columns:repeat(2,1fr);display:grid}.binder-card-legacy__slot{aspect-ratio:5/7;border-radius:var(--radius-sm);background:var(--color-input-bg);border:1px solid var(--color-border);min-width:0;min-height:0;overflow:hidden}.binder-card-legacy__slot-image{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.binder-card-legacy__slot-empty{opacity:.3;border-radius:inherit;background:repeating-linear-gradient(45deg,#0000,#0000 4px,#ffffff0f 4px 5px);width:100%;height:100%}.binder-card-legacy__info{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.binder-card-legacy__name{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;padding-right:var(--spacing-lg);margin:0;font-weight:600;overflow:hidden}.binder-card-legacy__meta{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);display:flex}.binder-card-legacy__size{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.binder-card-legacy__delete{bottom:var(--spacing-sm);right:var(--spacing-sm);border-radius:var(--radius-full);background:var(--color-surface-raised);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex;position:absolute;transform:scale(.85)}.binder-card-legacy:hover .binder-card-legacy__delete{opacity:1;transform:scale(1)}.binder-card-legacy__delete:hover{color:var(--color-error);background:#ef444426}@media (width<=767px){.binders-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.binder-card-legacy__delete{opacity:1;transform:scale(1)}}.binder-card{background:var(--color-card-surface);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);position:relative}.binder-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-primary);transform:translateY(-4px)}.binder-card__open{z-index:1;border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.binder-card__open:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.binder-card__cover{aspect-ratio:4/5;padding:var(--spacing-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:11px 11px 0;position:relative;overflow:hidden}.binder-card__cover-highlight{pointer-events:none;background:radial-gradient(130% 100% at 22% 12%,#ffffff38,#0000 55%);position:absolute;inset:0}.binder-card__menu{top:calc(11px + var(--spacing-xs));right:calc(11px + var(--spacing-xs));z-index:2;position:absolute}.binder-card__info{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm)}.binder-card__name{font-weight:800;font-size:var(--font-size-base);color:var(--color-text-primary);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.binder-card__meta{margin:var(--spacing-xs) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.binder-card__edited{margin:var(--spacing-xs) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600}.binder-list-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);display:flex;position:relative}.binder-list-row:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.binder-list-row__open{z-index:1;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.binder-list-row__open:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.binder-list-row__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.binder-list-row__name{font-weight:800;font-size:var(--font-size-sm);color:var(--color-text-primary);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.binder-list-row__meta{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600}.binder-list-row__layout{padding:4px var(--spacing-sm);border-radius:var(--radius-sm);background:var(--color-chip-bg);border:var(--border-width-sm) solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-xs);flex:none;font-weight:800}.binder-list-row__edited{text-align:right;color:var(--color-text-muted);font-size:var(--font-size-xs);flex:0 0 96px;font-weight:600}.binder-list-row__actions{z-index:2;align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:none;position:relative}@media (width>=768px){.binder-list-row__actions{display:flex}}.binder-list-row__action-btn{border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);width:32px;height:32px;color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.binder-list-row__action-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary);transform:scale(1.08)}.binder-list-row__action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.binder-list-row__action-btn:disabled{opacity:var(--opacity-disabled);cursor:default}.binder-list-row__action-btn--danger{color:var(--color-error)}.binder-list-row__action-btn--danger:hover:not(:disabled){background:var(--color-error-solid);color:var(--color-white)}.binder-list-row__menu{z-index:2;flex-shrink:0;position:relative}@media (width>=768px){.binder-list-row__menu{display:none}}.binder-actions-menu{position:relative}.binder-actions-menu__trigger{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-white);cursor:pointer;transition:background-color var(--transition-fast);background:#0000008c;border:none;justify-content:center;align-items:center;padding:0;display:flex}.binder-actions-menu__trigger:hover{background:#000000bf}.binder-actions-menu__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.binder-actions-menu__list{z-index:var(--z-index-popover);min-width:168px;padding:var(--spacing-xs);background-color:var(--color-surface);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);flex-direction:column;display:flex;position:fixed}.binder-actions-menu__item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-xs);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;display:flex}.binder-actions-menu__item:hover:not(:disabled){background-color:var(--color-surface-hover)}.binder-actions-menu__item:disabled{opacity:.5;cursor:not-allowed}.binder-actions-menu__item--danger{color:var(--color-error)}.binder-actions-sheet{gap:var(--spacing-xs);flex-direction:column;display:flex}.binder-actions-sheet__row{align-items:center;gap:var(--spacing-md);width:100%;min-height:48px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;font-weight:500;display:flex}.binder-actions-sheet__row:hover:not(:disabled){background:var(--color-surface-raised)}.binder-actions-sheet__row:disabled{opacity:var(--opacity-disabled);cursor:default}.binder-actions-sheet__row--danger{color:var(--color-error)}.binder-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.binder-form__sheet-actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);justify-content:flex-end;display:flex}.binder-form__field{gap:var(--spacing-xs);flex-direction:column;display:flex}.binder-form__label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.binder-form__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-input-bg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-family:inherit}.binder-form__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.binder-form__input::placeholder{color:var(--color-text-muted)}.binder-form__sizes{gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr);display:grid}.binder-form__size-option{padding:var(--spacing-sm) var(--spacing-xs);border:var(--border-width-md) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-input-bg);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;align-items:center;gap:2px;display:flex}.binder-form__size-option:hover{border-color:var(--color-primary-border-soft);background:var(--color-surface-hover)}.binder-form__size-option--active{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 2px var(--color-primary-light)}.binder-form__size-label{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:700}.binder-form__size-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.binder-form__optional{color:var(--color-text-muted);font-weight:400;font-size:var(--font-size-xs)}.binder-form__input.binder-form__input--error{border-color:var(--color-error)}.binder-form__error{font-size:var(--font-size-xs);color:var(--color-error);margin-top:var(--spacing-xs);display:block}.binder-form__sleeve-toggle{align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.binder-form__sleeve-checkbox{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.binder-form__sleeve-switch{background:var(--color-border-strong);border-radius:var(--radius-full);width:34px;height:18px;transition:background-color var(--transition-fast);flex-shrink:0;position:relative}.binder-form__sleeve-switch:after{content:"";background:var(--color-text-primary);border-radius:var(--radius-full);width:14px;height:14px;transition:transform var(--transition-fast);box-shadow:var(--shadow-sm);position:absolute;top:2px;left:2px}.binder-form__sleeve-checkbox:checked+.binder-form__sleeve-switch{background:var(--color-primary)}.binder-form__sleeve-checkbox:checked+.binder-form__sleeve-switch:after{transform:translate(16px)}.binder-form__sleeve-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}:root[data-theme=dark] .binder-actions-menu__list{background-color:var(--surface-dark-panel-strong);border-color:var(--surface-dark-border)}:root[data-theme=dark] .binder-actions-menu__item,:root[data-theme=dark] .binder-actions-sheet__row{color:var(--color-dark-text-primary)}@media (width<=767px){.binder-list-row__edited{display:none}}.binders-controls{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0 var(--spacing-md);flex-wrap:wrap;display:flex}.binders-controls__search{align-items:center;gap:var(--spacing-xs);height:44px;padding:0 var(--spacing-md);border-radius:var(--radius-full);background:var(--color-input-bg);border:var(--border-width-sm) solid var(--color-border);flex:0 320px;display:flex}.binders-controls__search-icon{color:var(--color-text-muted);flex-shrink:0}.binders-controls__search-input{min-width:0;color:var(--color-text-primary);font-size:var(--font-size-sm);background:0 0;border:none;outline:none;flex:1;font-family:inherit}.binders-controls__search-input::placeholder{color:var(--color-text-muted)}.binders-controls__spacer{flex:1}.binders-list{gap:var(--spacing-sm);flex-direction:column;display:flex}@media (width<=640px){.binders-controls__search{flex:auto}}.admin-shell{width:min(100%,720px);margin:var(--spacing-2xl) auto;background:var(--color-surface-raised);border-radius:var(--radius-xl);padding:clamp(var(--spacing-xl), 5vw, var(--spacing-2xl));border:var(--border-width-lg) solid var(--color-border);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.admin-header{text-align:center;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl);flex-direction:column;display:flex}.admin-eyebrow{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-primary-text);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;align-self:center;font-weight:700}.admin-title{font-size:var(--font-size-3xl);color:var(--color-text-primary);letter-spacing:-.015em;margin:0;font-weight:800}.admin-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal);text-align:center;max-width:40ch;margin:0}.admin-loading{justify-content:center;align-items:center;min-height:400px;display:flex}.admin-loading__spinner{color:var(--color-primary);animation:1s linear infinite spin}.admin-success,.admin-error{gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border:var(--border-width-sm) solid;align-items:flex-start;display:flex}.admin-success{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success-dark)}.admin-success svg{color:var(--color-success);flex-shrink:0}.admin-success strong{margin-bottom:var(--spacing-xs);font-weight:700;display:block}.admin-success p{font-size:var(--font-size-sm);color:var(--color-success-dark);margin:0}.admin-error{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.admin-error svg{color:var(--color-error);flex-shrink:0}.admin-error strong{margin-bottom:var(--spacing-xs);font-weight:700;display:block}.admin-error p{font-size:var(--font-size-sm);color:var(--color-error);margin:0}.admin-recipients{gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface-raised);border-radius:var(--radius-md);border:var(--border-width-sm) solid var(--color-border-default);margin-bottom:var(--spacing-xl);align-items:flex-start;display:flex}.admin-recipients svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.admin-recipients strong{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-weight:700;display:block}.admin-recipients p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.admin-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.admin-form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.admin-form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.admin-label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:700}.admin-required{color:var(--color-error)}.admin-input,.admin-textarea{padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-input-bg);transition:all var(--transition-fast);font-family:inherit}.admin-input:focus,.admin-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg);outline:none}.admin-input:disabled,.admin-textarea:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.admin-textarea{resize:vertical;min-height:120px;line-height:var(--line-height-relaxed)}.admin-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.admin-markdown-info{background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-primary-border-faint);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.admin-markdown-info strong{color:var(--color-primary);font-weight:700}.admin-button-group{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.admin-button{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-primary-soft);border:none;font-weight:700;display:inline-flex}.admin-button:hover:not(:disabled){box-shadow:var(--shadow-primary-lift);transform:translateY(-2px)}.admin-button:active:not(:disabled){transform:translateY(0)}.admin-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.admin-button--secondary{color:var(--color-primary);border:var(--border-width-md) solid var(--color-primary);box-shadow:none;background:0 0}.admin-button--secondary:hover:not(:disabled){background:var(--color-primary-bg);box-shadow:var(--shadow-md)}.admin-button__spinner{animation:1s linear infinite spin}@media (width<=640px){.admin-shell{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.admin-title{font-size:var(--font-size-2xl)}.admin-form-row{grid-template-columns:1fr}}.admin-shell--wide{width:min(100%,900px)}.admin-section{margin-bottom:var(--spacing-2xl)}.admin-section-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:var(--border-width-sm) solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.admin-section-title{font-size:var(--font-size-base);color:var(--color-text-primary);align-items:center;gap:var(--spacing-sm);margin:0;font-weight:700;display:flex}.admin-section-count{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400}.admin-generate-row{gap:var(--spacing-md);align-items:flex-end;display:flex}.admin-generate-row .admin-form-group{gap:var(--spacing-xs);flex:1;margin:0}.admin-token-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.admin-token-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-muted);font-size:var(--font-size-sm);background:var(--color-surface);border:var(--border-width-sm) dashed var(--color-border-default);border-radius:var(--radius-md)}.admin-token-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast);grid-template-columns:1fr auto auto;display:grid}.admin-token-row:hover{border-color:var(--color-border)}.admin-token-meta{min-width:0}.admin-token-name{font-size:var(--font-size-sm);color:var(--color-text-primary);align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;font-weight:600;display:flex}.admin-token-code{font-family:var(--font-family-mono,monospace);font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface-raised);border-radius:var(--radius-sm);letter-spacing:.04em;padding:1px 6px}.admin-token-notes{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs);white-space:nowrap;text-overflow:ellipsis;max-width:52ch;font-style:italic;overflow:hidden}.admin-badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:2px 10px;font-weight:600;display:inline-flex}.admin-badge--complete{background:var(--color-success-bg);color:var(--color-success-dark)}.admin-badge--progress{background:var(--color-primary-bg);color:var(--color-primary)}.admin-badge--pending{background:var(--color-surface-raised);color:var(--color-text-muted)}.admin-token-actions{gap:var(--spacing-xs);flex-shrink:0;display:flex}.admin-icon-btn{border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-border-default);background:var(--color-surface-raised);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-icon-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.admin-icon-btn--danger:hover{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}.admin-icon-btn--copied{background:var(--color-success-bg);color:var(--color-success-dark);border-color:var(--color-success)}.admin-icon-btn--active{background:var(--color-primary-subtle);color:var(--color-primary-text);border-color:var(--color-primary)}.admin-icon-btn--active:hover{background:var(--color-primary-subtle);color:var(--color-primary-text)}.admin-icon-btn--label{width:auto;font-size:.6875rem;font-weight:600;font-family:var(--font-family-base);letter-spacing:.02em;padding:0 .5rem}.admin-results-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.admin-results-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:var(--border-width-sm) solid var(--color-border-default);white-space:nowrap;font-weight:600}.admin-results-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--border-width-sm) solid var(--color-border);color:var(--color-text-primary)}.admin-results-table tbody tr:last-child td{border-bottom:none}.admin-results-winner{color:var(--color-success-dark);font-weight:700}.admin-results-total td{border-top:var(--border-width-sm) solid var(--color-border-default);color:var(--color-text-primary);border-bottom:none;font-weight:600}.admin-results-section-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:var(--spacing-lg) 0 var(--spacing-sm);font-weight:600}@media (width<=640px){.admin-token-row{gap:var(--spacing-sm);grid-template-columns:1fr}.admin-token-actions{justify-content:flex-start}.admin-generate-row{flex-direction:column;align-items:stretch}.admin-results-table{font-size:var(--font-size-xs)}.admin-results-table th,.admin-results-table td{padding:var(--spacing-xs) var(--spacing-sm)}}.admin-nav-grid{gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}.admin-nav-card{gap:var(--spacing-sm);padding:var(--spacing-xl);background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-lg);color:inherit;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}.admin-nav-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.admin-nav-card__icon{border-radius:var(--radius-md);background:var(--color-primary-bg);width:44px;height:44px;color:var(--color-primary);margin-bottom:var(--spacing-xs);justify-content:center;align-items:center;display:flex}.admin-nav-card__title{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0;font-weight:700}.admin-nav-card__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}@media (width<=480px){.admin-nav-grid{grid-template-columns:1fr}}.admin-button--sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);width:100%}.ib-search-bar{position:relative}.ib-search-bar__input{box-sizing:border-box;width:100%}.ib-search-bar__spinner{right:var(--spacing-md);color:var(--color-text-muted);pointer-events:none;animation:1s linear infinite spin;position:absolute;top:50%;transform:translateY(-50%)}.ib-status-message{margin-top:var(--spacing-md);margin-bottom:0}.ib-card-grid{gap:var(--spacing-md);margin-top:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.ib-card{gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast);flex-direction:column;display:flex}.ib-card:hover{border-color:var(--color-primary)}.ib-card__img{aspect-ratio:5/7;object-fit:cover;border-radius:var(--radius-sm);width:100%;display:block}.ib-card__img--placeholder{background:var(--color-surface-raised)}.ib-card__meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ib-card__name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600;line-height:var(--line-height-normal);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ib-card__sub{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=480px){.ib-card-grid{grid-template-columns:repeat(2,1fr)}}.admin-button--danger{background:var(--color-error);box-shadow:none}.admin-button--danger:hover:not(:disabled){background:var(--color-error-bg-dark);box-shadow:none}.ldc-picker-list{gap:var(--spacing-sm);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.ldc-picker-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:inherit;transition:border-color var(--transition-fast), background var(--transition-fast);font-family:inherit;display:flex}.ldc-picker-item:hover:not(:disabled){border-color:var(--color-primary)}.ldc-picker-item--selected{border-color:var(--color-primary);background:var(--color-primary-bg)}.ldc-picker-item:disabled{cursor:not-allowed;opacity:.5}.ldc-picker-item__thumb{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:36px;height:50px}.ldc-picker-item__thumb--placeholder{background:var(--color-surface-raised)}.ldc-picker-item__swatch{border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-border-default);flex-shrink:0;width:20px;height:20px}.ldc-picker-item__meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ldc-picker-item__title{font-size:var(--font-size-sm);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ldc-picker-item__sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ldc-picker-item__check{color:var(--color-primary);flex-shrink:0}.ldc-spread-picker{gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width-sm) solid var(--color-border-default);flex-direction:column;display:flex}.ldc-spread-picker__row{align-items:center;gap:var(--spacing-sm);display:flex}.ldc-spread-picker__input{width:80px}.ib-card--confirming{border-color:var(--color-error)}.ib-card__remove-actions{gap:var(--spacing-xs);grid-template-columns:1fr 1fr;display:grid}.hpe-list{gap:var(--spacing-md);margin-top:var(--spacing-md);flex-direction:column;display:flex}.hpe-pill{gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-lg);flex-direction:column;display:flex}.hpe-pill__header{align-items:center;gap:var(--spacing-sm);display:flex}.hpe-pill__index{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:700}.hpe-pill__count{font-size:var(--font-size-xs);color:var(--color-text-muted);flex:1}.hpe-pill__label-row{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.hpe-pill__label-row .admin-input{flex:1;min-width:0}.hpe-pill__counter{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.hpe-fan{justify-content:center;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-sm) var(--spacing-sm);background:var(--color-surface-raised);border-radius:var(--radius-md);display:flex;overflow-x:auto}.hpe-slot{align-items:center;gap:var(--spacing-xs);flex-direction:column;flex:none;width:5.5rem;display:flex;position:relative}.hpe-slot__tilt{width:100%;transform:translateY(var(--hpe-slot-y)) rotate(var(--hpe-slot-rotate)) scale(var(--hpe-slot-scale));transition:transform var(--transition-fast);position:relative}.hpe-slot__surface{aspect-ratio:5/7;background:var(--color-input-bg);border:var(--border-width-md) dashed var(--color-border-default);border-radius:var(--radius-sm);width:100%;color:var(--color-text-muted);cursor:grab;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.hpe-slot__surface:hover{border-color:var(--color-primary);color:var(--color-primary)}.hpe-slot__surface:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg);outline:none}.hpe-slot__image{object-fit:cover;width:100%;height:100%;display:block}.hpe-slot__empty{font-size:var(--font-size-xs);text-align:center;padding:var(--spacing-2xs);word-break:break-all;justify-content:center;align-items:center;display:flex}.hpe-slot--center .hpe-slot__surface{border-style:solid;border-color:var(--color-border-accent)}.hpe-slot--active .hpe-slot__surface{border-style:solid;border-color:var(--color-primary);box-shadow:var(--shadow-primary-soft)}.hpe-slot--dragging{opacity:var(--opacity-muted)}.hpe-slot--dragging .hpe-slot__surface{cursor:grabbing}.hpe-slot__badge{top:var(--spacing-2xs);padding:0 var(--spacing-xs);background:var(--color-primary-subtle);color:var(--color-primary-text);border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);pointer-events:none;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.hpe-slot__remove{top:calc(-1 * var(--spacing-xs));right:calc(-1 * var(--spacing-xs));width:var(--icon-size-md);height:var(--icon-size-md);background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.hpe-slot__remove:hover{border-color:var(--color-error);color:var(--color-error)}.hpe-slot__moves{justify-content:center;align-items:center;gap:var(--spacing-2xs);width:100%;display:flex}.hpe-slot__move{padding:var(--spacing-2xs);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.hpe-slot__move:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-primary)}.hpe-slot__move:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.hpe-slot__name{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.hpe-search{gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:var(--border-width-sm) solid var(--color-border-default);flex-direction:column;display:flex}.hpe-actions{align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap;display:flex}.hpe-error{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--color-error)}@media (width<=640px){.hpe-fan{justify-content:flex-start}.hpe-slot{width:4.5rem}}.shared-binder-page{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.shared-binder__banner{height:var(--header-height);padding:0 var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-background);isolation:isolate;flex:none;justify-content:space-between;align-items:center;display:flex;position:relative}.shared-binder__banner:before{content:"";background:linear-gradient(90deg, transparent, var(--color-primary), transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.shared-binder__banner-logo{color:var(--color-text-primary);transition:color var(--transition-fast);align-items:center;gap:6px;text-decoration:none;display:flex}.shared-binder__banner-logo:hover{color:var(--color-primary-text)}.shared-binder__banner-name{letter-spacing:-.025em;font-size:14px;font-weight:700;line-height:1}.shared-binder__banner-cta{background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary);transition:opacity var(--transition-fast);border-radius:7px;align-items:center;gap:6px;padding:6px 13px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.shared-binder__banner-cta:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.shared-binder{min-width:0;min-height:0;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);flex:1;display:flex}.shared-binder__book{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.shared-binder__book>.book-viewer{flex:1;min-height:0}.shared-binder__loading{justify-content:center;align-items:center;gap:var(--spacing-md);min-height:100dvh;color:var(--color-text-muted);flex-direction:column;display:flex}.shared-binder__loading-spinner{border:3px solid var(--color-border-default);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite shared-spinner}@keyframes shared-spinner{to{transform:rotate(360deg)}}.shared-binder__error{justify-content:center;align-items:center;gap:var(--spacing-md);text-align:center;min-height:100dvh;color:var(--color-text-secondary);padding:var(--spacing-xl) var(--spacing-md);flex-direction:column;display:flex}.shared-binder__error h2{font-size:var(--font-size-xl);color:var(--color-text-primary);margin:0}.shared-binder__share-btn{background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);flex-shrink:0;align-items:center;gap:5px;padding:7px 12px;font-weight:600;display:inline-flex}.shared-binder__share-btn:hover{background:var(--color-surface);color:var(--color-text-primary)}.shared-binder__share-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.shared-binder__watermark{right:var(--spacing-xs);letter-spacing:.05em;color:var(--color-text-muted);opacity:.5;pointer-events:none;font-size:.625rem;font-weight:500;position:absolute;bottom:0}.shared-binder__cta-bar{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);margin:0 var(--spacing-sm) var(--spacing-sm);background:var(--color-surface-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);flex:none;display:flex}.shared-binder__cta-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.shared-binder__cta-heading{font-size:var(--font-size-base);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:700}.shared-binder__cta-text{color:var(--color-text-muted);font-size:.8rem;line-height:var(--line-height-normal)}.shared-binder__cta-btn{border-radius:var(--radius-full);background-image:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:var(--color-on-primary);border:var(--border-width-sm) solid var(--color-border);cursor:pointer;letter-spacing:-.01em;box-shadow:var(--shadow-primary-deep);transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:12px 28px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.shared-binder__cta-btn:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}@media (width<=767px){.shared-binder__banner{padding:0 var(--spacing-md)}.shared-binder{padding:var(--spacing-md) var(--spacing-sm) var(--spacing-xs)}.shared-binder__cta-bar{padding:var(--spacing-sm) var(--spacing-md)}.shared-binder__cta-text{display:none}.shared-binder__cta-btn{padding:10px 20px;font-size:.82rem}}@media (width<=480px){.shared-binder__banner{padding:0 var(--spacing-sm)}.shared-binder__banner-name{font-size:.8rem}.shared-binder__cta-heading{font-size:var(--font-size-sm)}}.admin-shell.sd-shell{width:min(100%,1280px)}.sd-query-bar{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:flex-end;display:flex}.sd-query-input{flex:1;min-width:0}.sd-settings-groups{gap:var(--spacing-lg);margin-top:var(--spacing-md);flex-direction:column;display:flex}.sd-settings-section{gap:var(--spacing-sm);flex-direction:column;display:flex}.sd-settings-section-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);padding-bottom:var(--spacing-xs);border-bottom:var(--border-width-sm) solid var(--color-border);font-weight:700}.sd-settings-grid{gap:var(--spacing-sm) var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.sd-form-group--wide{grid-column:1/-1}.sd-toggle{border-radius:var(--radius-full);background:var(--color-border-strong);cursor:pointer;width:40px;height:22px;transition:background var(--transition-fast);border:none;flex-shrink:0;padding:0;display:inline-flex;position:relative}.sd-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sd-toggle--on{background:var(--color-primary)}.sd-toggle__thumb{border-radius:var(--radius-full);width:16px;height:16px;transition:transform var(--transition-fast);box-shadow:var(--shadow-sm);pointer-events:none;background:#fff;position:absolute;top:3px;left:3px}.sd-toggle--on .sd-toggle__thumb{transform:translate(18px)}.sd-toggle-row{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.sd-toggle-label{font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:700}.sd-toggles-row{gap:var(--spacing-xs);flex-direction:column;display:flex}.sd-free-user-row{gap:var(--spacing-sm) var(--spacing-md);grid-template-columns:1fr 1fr;align-items:end;display:grid}.sd-settings-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width-sm) solid var(--color-border);justify-content:flex-end;display:flex}.sd-header-actions{align-items:center;gap:var(--spacing-xs);display:flex}.sd-ab-panels{gap:var(--spacing-xl);margin-top:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.sd-ab-panel-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-primary);margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-primary);font-weight:700}.sd-ab-panel .sd-settings-grid{grid-template-columns:1fr}.sd-ab-panel .sd-form-group--wide{grid-column:1}.sd-ab-panel .sd-free-user-row{grid-template-columns:1fr}.sd-spinner--inline{color:var(--color-text-muted);animation:1s linear infinite spin}.sd-candidate-count{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-full);padding:2px var(--spacing-sm);font-weight:600}.sd-internals-grid{gap:var(--spacing-xs) var(--spacing-lg);grid-template-columns:max-content 1fr;align-items:baseline;display:grid}.sd-internals-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap;font-weight:700}.sd-internals-value{font-size:var(--font-size-sm);color:var(--color-text-primary);word-break:break-word}.sd-internals-value--highlight{font-family:var(--font-family-mono,monospace);font-size:var(--font-size-xs);background:var(--color-primary-subtle);color:var(--color-primary-text);padding:2px var(--spacing-xs);border-radius:var(--radius-sm)}.sd-results-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);table-layout:auto}.sd-results-table thead tr{border-bottom:var(--border-width-sm) solid var(--color-border)}.sd-results-table th{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap;font-weight:700}.sd-results-table td{padding:var(--spacing-xs) var(--spacing-sm);vertical-align:middle;border-bottom:var(--border-width-sm) solid var(--color-border)}.sd-card-row:hover td{background:var(--color-surface-hover)}.sd-card-row--a-only td{background:var(--color-primary-bg)}.sd-card-row--b-only{opacity:.65}.sd-thumb{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:88px;height:124px;display:block}.sd-thumb--placeholder{background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default)}.sd-detail-layout{gap:var(--spacing-lg);align-items:flex-start;display:flex}.sd-detail-image{object-fit:cover;border-radius:var(--radius-md);width:200px;height:280px;box-shadow:var(--shadow-md);flex-shrink:0;display:block}.sd-detail-image--placeholder{background:var(--color-surface);border:var(--border-width-sm) solid var(--color-border-default)}.sd-detail-body{gap:var(--spacing-md);flex-direction:column;flex:1;min-width:0;display:flex}.sd-card-name{color:var(--color-text-primary);white-space:nowrap;font-weight:600}.sd-card-artist{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.sd-score{font-family:var(--font-family-mono,monospace);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.sd-score--final{color:var(--color-text-primary);font-weight:700}.sd-boost{color:var(--color-success);font-weight:700}.sd-boost-cell{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.sd-boost-reason{padding:1px var(--spacing-xs);border-radius:var(--radius-full);font-size:.6rem;font-weight:700;font-family:var(--font-family-sans,sans-serif);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;display:inline-block}.sd-boost-reason--rarity{background:var(--color-primary-bg);color:var(--color-primary)}.sd-boost-reason--numberprefix{background:var(--color-success-bg,#dcfce7);color:var(--color-success-dark,#166534)}.sd-boost-reason--curatedoverride{color:#92400e;background:#fef3c7}.sd-delta--up{color:var(--color-success);font-weight:700}.sd-delta--down{color:var(--color-error);font-weight:700}.sd-na{color:var(--color-text-muted)}.sd-rank{font-family:var(--font-family-mono,monospace);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:4px;display:flex}.sd-rank-delta{font-size:.65rem;font-weight:700}.sd-rank-delta--up{color:var(--color-success)}.sd-rank-delta--down{color:var(--color-error)}.sd-badge{padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;cursor:default;font-weight:700;display:inline-block}.sd-badge--included{background:var(--color-success-bg,#dcfce7);color:var(--color-success-dark,#166534)}.sd-badge--excluded{background:var(--color-error-bg,#fee2e2);color:var(--color-error-dark,#991b1b);text-overflow:ellipsis;max-width:14ch;overflow:hidden}.sd-detail-row td{border-bottom:var(--border-width-sm) solid var(--color-border);background:var(--color-surface);padding:var(--spacing-md) var(--spacing-lg)}.sd-detail-content{gap:var(--spacing-md);flex-direction:column;display:flex}.sd-detail-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.sd-detail-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-weight:700}.sd-detail-value{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.sd-json-block{font-family:var(--font-family-mono,monospace);font-size:var(--font-size-xs);background:var(--color-surface-raised);border:var(--border-width-sm) solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);max-height:200px;margin:0;line-height:1.6;overflow:auto}.sd-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.sd-filtered-grid{gap:var(--spacing-xs);flex-direction:column;display:flex}.sd-filtered-card{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border-radius:var(--radius-md);border:var(--border-width-sm) solid var(--color-border);display:flex}.sd-filtered-thumb{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:28px;height:38px;display:block}.sd-filtered-info{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sd-filtered-info .sd-card-name{text-overflow:ellipsis;overflow:hidden}.sd-reason-chip{padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0;font-weight:700;display:inline-block}.sd-reason--energy{background:var(--color-primary-bg);color:var(--color-primary)}.sd-reason--trainer{background:var(--color-success-bg,#dcfce7);color:var(--color-success-dark,#166534)}.sd-reason--missing{background:var(--color-surface-raised);color:var(--color-text-muted);border:var(--border-width-sm) solid var(--color-border-default)}.sd-reason--beyond{background:var(--color-surface-raised);color:var(--color-text-secondary);border:var(--border-width-sm) solid var(--color-border-default)}.sd-reason--default{background:var(--color-error-bg,#fee2e2);color:var(--color-error-dark,#991b1b)}@media (width<=700px){.sd-ab-panels{grid-template-columns:1fr}}@media (width<=600px){.sd-settings-grid{grid-template-columns:1fr}.sd-form-group--wide{grid-column:1}.sd-free-user-row{grid-template-columns:1fr}}:root{--font-family-base:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-background:#160d22;--color-surface:#1e132c;--color-surface-raised:#ffffff0e;--color-surface-hover:#ffffff13;--color-card-surface:#261a33;--color-text-primary:#fafafa;--color-text-secondary:#a1a1aa;--color-text-muted:#52525b;--color-primary:oklch(74% .14 48);--color-primary-hover:oklch(68% .14 48);--color-primary-subtle:#d4875a24;--color-primary-glow:#d4875a42;--color-primary-text:oklch(83% .11 48);--color-primary-light:#d4875a21;--color-primary-bg:#d4875a14;--color-on-primary:#160d22;--color-error-solid:#dc2626;--color-error-solid-hover:#b91c1c;--color-border:#ffffff14;--color-border-strong:#ffffff24;--color-border-accent:oklch(74% .14 48);--color-border-default:var(--color-border);--color-input-bg:#ffffff0e;--color-chip-bg:#fff1;--color-chip-hover:#ffffff1c;--color-tag-bg:#d4875a21;--color-tag-text:oklch(87% .09 48);--color-modal-bg:#1e132c;--shadow-card-hover:0 12px 36px #0009, 0 0 20px #d4875a42;--shadow-modal:0 40px 100px #000000b3;--shadow-sm:0 8px 20px #0003;--shadow-md:0 15px 30px #00000047;--shadow-lg:0 30px 50px #00000061;--shadow-elevated:0 22px 40px #0006;--color-success:#4ade80;--color-success-dark:#16a34a;--color-success-light:#86efac;--color-success-bg-dark:#0b341b99;--color-success-border:#4ade8033;--color-success-subtle:#4ade801f;--color-error:#f87171;--color-error-bg:#f871711a;--color-error-bg-dark:#400b11a6;--color-success-bg:#dcfce7;--color-error-light:#fca5a5;--color-error-text:#fca5a5;--color-warning:#fbbf24;--color-warning-dark:#ca8a04;--color-warning-light:#fde047;--color-premium:#fbbf24;--color-upgrade-amber-light:#fbbf24;--color-upgrade-amber-dark:#f59e0b;--color-upgrade-gradient-start:#fbbf2426;--color-upgrade-gradient-end:#f59e0b26;--color-upgrade-border:#fbbf24cc;--color-upgrade-border-hover:#f59e0b;--color-upgrade-glow-medium:#fbbf244d;--color-upgrade-shadow:#fbbf2433;--color-upgrade-dark-gradient-start:#fbbf2433;--color-upgrade-dark-gradient-end:#f59e0b33;--color-upgrade-dark-gradient-hover-start:#fbbf244d;--color-upgrade-dark-gradient-hover-end:#f59e0b4d;--color-upgrade-dark-border:#fbbf2499;--color-upgrade-dark-border-hover:#fbbf24;--color-upgrade-dark-glow-subtle:#fbbf2426;--color-upgrade-dark-glow-medium:#fbbf2440;--color-upgrade-dark-shadow:#fbbf244d;--spacing-2xs:.125rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--breakpoint-md:640px;--breakpoint-tablet:768px;--breakpoint-lg:1024px;--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-xl:2rem;--radius-full:9999px;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-size-4xl:clamp(2.5rem, 6vw, 3.5rem);--line-height-tight:1.15;--line-height-normal:1.5;--line-height-relaxed:1.6;--letter-spacing-wide:.08em;--letter-spacing-wider:.1em;--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--icon-size-xl:32px;--icon-size-2xl:56px;--button-size-sm:52px;--button-size-md:56px;--button-size-lg:60px;--button-min-height-touch:56px;--input-min-height-sm:54px;--input-min-height-md:60px;--input-min-height-lg:70px;--border-width-sm:1px;--border-width-md:2px;--border-width-lg:3px;--border-width-xl:4px;--opacity-disabled:.6;--opacity-muted:.8;--z-index-header:200;--z-index-dropdown:300;--z-index-overlay:900;--z-index-modal:1000;--z-index-popover:1100;--z-index-pro-locked-modal:1150;--z-index-user-menu-sheet:1160;--z-index-toast:1200;--color-white:#fff;--color-black:#000;--color-immersive-scrim:#0000008c;--transition-fast:.15s ease;--transition-normal:.26s ease;--header-height:54px;--color-secondary:#d4875a;--color-secondary-hover:#c07040;--color-primary-border-strong:#d4875a40;--color-primary-border-soft:#d4875a33;--color-primary-border-faint:#d4875a1f;--color-border-error-soft:#ef44444d;--color-border-warm:#d4875a4d;--color-border-gold:#d4875a66;--surface-dark-base:var(--color-background);--surface-dark-panel:#160d22f2;--surface-dark-panel-strong:#1e132ce6;--surface-dark-glass-soft:#1e132c99;--surface-dark-border:#d4875a40;--shadow-primary-lift:0 4px 12px #d4875a26;--shadow-primary-soft:0 10px 25px #d4875a26;--shadow-primary-bold:0 8px 18px #d4875a40;--shadow-primary-strong:0 12px 20px #d4875a33;--shadow-primary-deep:0 18px 30px #0000004d;--color-text-accent:#dba07a;--color-dark-text-primary:var(--color-text-primary);--color-dark-text-secondary:var(--color-text-secondary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text-primary);line-height:var(--line-height-normal);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:none;min-height:100vh}body:after{content:"";pointer-events:none;z-index:9999;opacity:.038;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='256' height='256'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.88' numOctaves='4' stitchTiles='stitch'/></filter><rect width='256' height='256' filter='url(%23n)'/></svg>");position:fixed;inset:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font:inherit;background:0 0;border:none}input{font:inherit;background:0 0;border:none}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4{color:var(--color-text-primary);margin-bottom:var(--spacing-lg);line-height:var(--line-height-tight);letter-spacing:-.03em;font-weight:700}h1{font-size:var(--font-size-4xl);letter-spacing:-.04em}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-lg)}a{color:var(--color-primary);transition:color var(--transition-fast)}a:where(:hover,:focus-visible){color:var(--color-primary-hover)}.u-p-xs{padding:var(--spacing-xs)}.u-p-sm{padding:var(--spacing-sm)}.u-p-md{padding:var(--spacing-md)}.u-p-lg{padding:var(--spacing-lg)}.u-p-xl{padding:var(--spacing-xl)}.u-p-2xl{padding:var(--spacing-2xl)}.u-m-xs{margin:var(--spacing-xs)}.u-m-sm{margin:var(--spacing-sm)}.u-m-md{margin:var(--spacing-md)}.u-m-lg{margin:var(--spacing-lg)}.u-m-xl{margin:var(--spacing-xl)}.u-m-2xl{margin:var(--spacing-2xl)}.u-pt-xs{padding-top:var(--spacing-xs)}.u-pt-sm{padding-top:var(--spacing-sm)}.u-pt-md{padding-top:var(--spacing-md)}.u-pt-lg{padding-top:var(--spacing-lg)}.u-pt-xl{padding-top:var(--spacing-xl)}.u-pt-2xl{padding-top:var(--spacing-2xl)}.u-pb-xs{padding-bottom:var(--spacing-xs)}.u-pb-sm{padding-bottom:var(--spacing-sm)}.u-pb-md{padding-bottom:var(--spacing-md)}.u-pb-lg{padding-bottom:var(--spacing-lg)}.u-pb-xl{padding-bottom:var(--spacing-xl)}.u-pb-2xl{padding-bottom:var(--spacing-2xl)}.u-pl-xs{padding-left:var(--spacing-xs)}.u-pl-sm{padding-left:var(--spacing-sm)}.u-pl-md{padding-left:var(--spacing-md)}.u-pl-lg{padding-left:var(--spacing-lg)}.u-pl-xl{padding-left:var(--spacing-xl)}.u-pl-2xl{padding-left:var(--spacing-2xl)}.u-pr-xs{padding-right:var(--spacing-xs)}.u-pr-sm{padding-right:var(--spacing-sm)}.u-pr-md{padding-right:var(--spacing-md)}.u-pr-lg{padding-right:var(--spacing-lg)}.u-pr-xl{padding-right:var(--spacing-xl)}.u-pr-2xl{padding-right:var(--spacing-2xl)}.u-px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.u-px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.u-px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.u-px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.u-px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.u-px-2xl{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}.u-py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.u-py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.u-py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.u-py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.u-py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.u-py-2xl{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}.u-mt-xs{margin-top:var(--spacing-xs)}.u-mt-sm{margin-top:var(--spacing-sm)}.u-mt-md{margin-top:var(--spacing-md)}.u-mt-lg{margin-top:var(--spacing-lg)}.u-mt-xl{margin-top:var(--spacing-xl)}.u-mt-2xl{margin-top:var(--spacing-2xl)}.u-mb-xs{margin-bottom:var(--spacing-xs)}.u-mb-sm{margin-bottom:var(--spacing-sm)}.u-mb-md{margin-bottom:var(--spacing-md)}.u-mb-lg{margin-bottom:var(--spacing-lg)}.u-mb-xl{margin-bottom:var(--spacing-xl)}.u-mb-2xl{margin-bottom:var(--spacing-2xl)}.u-ml-xs{margin-left:var(--spacing-xs)}.u-ml-sm{margin-left:var(--spacing-sm)}.u-ml-md{margin-left:var(--spacing-md)}.u-ml-lg{margin-left:var(--spacing-lg)}.u-ml-xl{margin-left:var(--spacing-xl)}.u-ml-2xl{margin-left:var(--spacing-2xl)}.u-mr-xs{margin-right:var(--spacing-xs)}.u-mr-sm{margin-right:var(--spacing-sm)}.u-mr-md{margin-right:var(--spacing-md)}.u-mr-lg{margin-right:var(--spacing-lg)}.u-mr-xl{margin-right:var(--spacing-xl)}.u-mr-2xl{margin-right:var(--spacing-2xl)}.u-mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.u-mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.u-mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.u-mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.u-mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.u-mx-2xl{margin-left:var(--spacing-2xl);margin-right:var(--spacing-2xl)}.u-my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.u-my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.u-my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.u-my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.u-my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.u-my-2xl{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-flex{display:flex}.u-flex-center{justify-content:center;align-items:center;display:flex}.app-container{flex-direction:column;min-height:100vh;display:flex}.page{gap:var(--spacing-lg);width:100%;max-width:1440px;padding:0 var(--spacing-lg);flex-direction:column;flex:1;margin:0 auto;display:flex}@media (width<=640px){.page{gap:var(--spacing-md);padding:0 var(--spacing-md)}}@media (width>=1024px){.page{gap:var(--spacing-xl)}}.loading-overlay{padding:var(--spacing-2xl);justify-content:center;align-items:center;display:flex}.loading-spinner{width:var(--icon-size-xl);height:var(--icon-size-xl);border:var(--border-width-lg) solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){body *,body :before,body :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}:root[data-theme=light]{--color-background:#fdf2eb;--color-surface:#fff8f3;--color-surface-raised:#fff8f3e0;--color-surface-hover:#fffffffa;--color-card-surface:#fff8f3;--color-text-primary:#1c0d06;--color-text-secondary:#7a4a38;--color-text-muted:#c49070;--color-primary:oklch(58% .16 48);--color-primary-hover:oklch(50% .18 48);--color-primary-subtle:#a0593a24;--color-primary-glow:#a0593a38;--color-primary-text:oklch(46% .18 48);--color-primary-light:#a0593a1f;--color-primary-bg:#a0593a14;--color-on-primary:#fff;--color-border:#b45a321f;--color-border-strong:#b45a3233;--color-border-accent:oklch(58% .16 48);--color-border-default:var(--color-border);--color-input-bg:#fffcf8f2;--color-chip-bg:#b45a320f;--color-chip-hover:#b45a321c;--color-tag-bg:#a0593a1f;--color-tag-text:oklch(42% .17 48);--color-modal-bg:#fff8f3;--color-success:#15803d;--color-success-light:#16a34a;--color-success-border:#16a34a40;--color-success-subtle:#16a34a1f;--color-error:#b91c1c;--color-error-text:#b91c1c;--color-error-light:#fecaca;--color-error-bg:#b91c1c14;--color-warning:#92400e;--color-warning-light:#b45309;--shadow-card-hover:0 8px 24px #8c3c1429, 0 0 16px #a0593a38;--shadow-modal:0 32px 80px #8c3c1433;--shadow-sm:0 8px 20px #50280a14;--shadow-md:0 15px 30px #50280a1f;--shadow-lg:0 30px 50px #50280a2e;--color-secondary:#a0593a;--color-secondary-hover:#8a4428;--color-text-accent:#7a3d22;--color-dark-text-primary:var(--color-text-primary);--color-dark-text-secondary:var(--color-text-secondary);--surface-dark-base:var(--color-background);--surface-dark-panel:#fff8f3f2;--surface-dark-panel-strong:#fff8f3e6;--surface-dark-glass-soft:#fff8f399;--surface-dark-border:#b45a3233;--shadow-primary-lift:0 4px 12px #a0593a1f;--shadow-primary-soft:0 10px 25px #a0593a1a;--shadow-primary-bold:0 8px 18px #a0593a2e;--shadow-primary-strong:0 12px 20px #a0593a24;--shadow-primary-deep:0 18px 30px #50280a26;--color-primary-border-strong:#a0593a40;--color-primary-border-soft:#a0593a2e;--color-primary-border-faint:#a0593a1a;--color-border-warm:#a0593a33;--color-border-gold:#a0593a4d}:root[data-theme=light] body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light] body:after{opacity:.02}
