.not-found{justify-content:center;align-items:center;gap:var(--spacing-md);min-height:100vh;padding:var(--spacing-xl) var(--spacing-md);text-align:center;background:var(--color-background);color:var(--color-text-primary);flex-direction:column;display:flex}.not-found__title{font-size:var(--font-size-3xl);margin:0}.not-found__text{color:var(--color-text-secondary);margin:0}.not-found__actions{justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap;display:flex}.not-found__link{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);transition:all var(--transition-fast);font-weight:600;text-decoration:none;display:inline-block}.not-found__link--primary{background:var(--color-primary);color:var(--color-on-primary)}.not-found__link:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.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__pagepill{left:50%;bottom:var(--spacing-sm);z-index:2;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);border:var(--border-width-sm) solid var(--color-border);background:var(--color-surface-raised);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);transition:opacity var(--transition-normal);display:none;position:absolute;transform:translate(-50%)}.book-viewer__pagepill--idle{opacity:.45}.book-viewer__pagepill-btn{border-radius:var(--radius-full);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);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.book-viewer__pagepill-btn:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text-primary)}.book-viewer__pagepill-btn:focus-visible{outline:var(--border-width-md) solid var(--color-primary);outline-offset:2px}.book-viewer__pagepill-btn:disabled{opacity:.35;cursor:not-allowed}.book-viewer__pagepill-label{font-size:var(--font-size-xs);letter-spacing:.02em;color:inherit;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}@media (prefers-reduced-motion:reduce){.book-viewer__pagepill{transition:none}}.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,.book-viewer--floating-nav .book-viewer__pagepill{display:flex}.book-viewer--floating-nav .book-viewer__nav,.book-viewer--floating-nav .book-viewer__footer{display:none}.book-viewer--fit.book-viewer--floating-nav{gap:var(--spacing-xs)}.book-viewer--fit.book-viewer--floating-nav .book-viewer__deck--single{--board-pad:clamp(var(--spacing-2xs), .8cqh, var(--spacing-sm))}.book-viewer--fit.book-viewer--floating-nav .book-viewer__page{--page-pad:clamp(var(--spacing-2xs), 1cqh, var(--spacing-sm))}}@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}.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)}.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}.ab-test{background:var(--color-background);min-height:100dvh;color:var(--color-text-primary);font-family:var(--font-family-base);padding:1rem 1rem 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)}}.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-resend{align-items:center;gap:var(--spacing-sm);text-align:center;flex-direction:column;display:flex}.auth-resend__prompt{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.auth-resend__error{font-size:var(--font-size-sm);color:var(--color-error);line-height:var(--line-height-normal);margin:0}.auth-resend__button{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-primary-border-soft);border-radius:var(--radius-lg);color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background-color:#0000;font-weight:600;display:inline-flex}.auth-resend__button:hover:not(:disabled){background-color:var(--color-primary-bg);border-color:var(--color-primary)}.auth-resend__button:disabled{opacity:.6;cursor:not-allowed}.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}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.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}}.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)}}.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}}.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)}.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}.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))}}.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)}.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}}.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}}.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}}.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-sm) var(--spacing-xs) 0}.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)}}
