.working-volumes-experience{--paper:var(--surface-1);--paper-deep:var(--surface-0);--paper-pale:var(--text-1);--ink:var(--text-1);--ink-soft:var(--text-2);--rule:var(--line-2);isolation:isolate;background:var(--paper);color:var(--ink);font-family:var(--font-body);transition:background-color var(--dur-surface) var(--ease-out);position:fixed;inset:0;overflow:hidden}.working-volumes-experience:after{z-index:4;content:"";pointer-events:none;background:linear-gradient(#0a060657,#0000 24%),linear-gradient(#0000 74%,#0a06066b);position:absolute;inset:0}.scene-shell{z-index:3;position:absolute;inset:0}#scene{cursor:default;opacity:0;touch-action:none;width:100%;height:100%;transition:opacity var(--dur-surface) var(--ease-out);display:block}.webgl-ready #scene{opacity:1}#scene.has-book-hover,.mode-detail #scene.has-closed-book-hover{cursor:pointer}.mode-detail #scene,.mode-detail #scene.has-page-hover{cursor:grab}.mode-detail #scene.is-page-dragging,.mode-detail #scene:active{cursor:grabbing}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.intro-is-active .working-volumes-experience{z-index:60}.pointer-label{z-index:12;border:1px solid var(--line-2);border-radius:var(--r-sm);background:color-mix(in srgb, var(--surface-2) 88%, transparent);box-shadow:var(--shadow-2);opacity:0;transform-origin:0 0;transition:opacity var(--dur-fast) linear, transform var(--dur-slow) var(--ease-out);pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:2px;padding:7px 11px 8px;display:grid;position:fixed;transform:translate(14px,16px)scale(.96)}.pointer-label[aria-hidden=false]{opacity:1;transform:translate(14px,16px)scale(1)}.pointer-label span{color:var(--accent);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:600;line-height:1}.pointer-label strong{max-width:24ch;color:var(--ink);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--track-tight);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;overflow:hidden}@media (pointer:coarse){.pointer-label{display:none}}.browse-ui{bottom:calc(26px + var(--safe-bottom));z-index:7;width:min(var(--layout-max), calc(100vw - var(--layout-gutter) * 2));align-items:end;gap:var(--space-6);color:var(--ink);transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-surface) var(--ease-out);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid;position:absolute;left:50%;transform:translate(-50%)}.mode-detail .browse-ui{opacity:0;pointer-events:none;transform:translate(-50%,24px)}.selection{align-items:baseline;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.counter{color:var(--ink-soft);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;letter-spacing:var(--track-label);white-space:nowrap;font-weight:600}.selection__copy{min-width:0}.selection__title{font-family:var(--font-display);font-size:var(--fs-display-sm);letter-spacing:var(--track-display);font-weight:700;line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.selection__meta{align-items:baseline;gap:var(--space-2);color:var(--ink-soft);font-size:var(--fs-meta);margin:7px 0 0;line-height:1;display:flex}.selection__meta strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.selection__meta:before{background:var(--accent);content:"";width:14px;height:1px}.selection__note{max-width:46ch;color:var(--ink-soft);font-size:var(--fs-meta);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:9px 0 0;line-height:1.45;display:-webkit-box;overflow:hidden}.browse-actions{justify-content:center;align-items:center;gap:var(--space-2);padding-bottom:3px;display:flex}.round-button{border:1px solid color-mix(in srgb, var(--ink) 26%, transparent);width:42px;height:42px;color:var(--ink);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.round-button:hover{border-color:color-mix(in srgb, var(--ink) 62%, transparent);background:color-mix(in srgb, var(--ink) 8%, transparent)}.round-button:active{transform:scale(.92)}.round-button svg{transition:transform var(--dur-slow) var(--ease-out)}#previous:hover svg{transform:translate(-2px)}#next:hover svg{transform:translate(2px)}.text-button{border:1px solid color-mix(in srgb, var(--ink) 40%, transparent);border-radius:var(--r-pill);min-height:42px;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-meta);letter-spacing:.02em;transition:border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;padding:0 22px;font-weight:600}.text-button:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.text-button:active{transform:scale(.97)}.index-nav{justify-content:flex-end;align-self:end;padding-bottom:10px;display:flex}.markers{align-items:center;gap:3px;display:flex}.marker{cursor:pointer;background:0 0;border:0;place-items:center;width:26px;height:26px;padding:0;display:grid}.marker:before{background:color-mix(in srgb, var(--ink) 30%, transparent);content:"";width:16px;height:2px;transition:width var(--dur-slow) var(--ease-out), background-color var(--dur-base) var(--ease-out);border-radius:2px}.marker:hover:before{background:color-mix(in srgb, var(--ink) 72%, transparent)}.marker[aria-current=true]:before{background:var(--accent);width:26px}.detail-panel{bottom:calc(clamp(18px, 3.2vh, 34px) + var(--safe-bottom));z-index:9;align-items:center;gap:var(--space-2);width:max-content;max-width:calc(100vw - 32px);padding:var(--space-2);border:1px solid var(--line-2);border-radius:var(--r-lg);background:color-mix(in srgb, var(--surface-2) 82%, transparent);box-shadow:var(--shadow-3), var(--edge-top);color:var(--ink);opacity:0;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-surface) var(--ease-out);pointer-events:none;-webkit-backdrop-filter:blur(20px)saturate(130%);display:flex;position:absolute;left:50%;transform:translate(-50%,18px)}.mode-detail .detail-panel{opacity:1;pointer-events:auto;transform:translate(-50%)}.focus-button,.focus-text-button{align-items:center;gap:var(--space-2);border-radius:var(--r-md);min-height:42px;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-meta);white-space:nowrap;transition:background-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:0 14px;font-weight:500;display:flex}.focus-button:hover,.focus-text-button:hover{background:color-mix(in srgb, var(--ink) 9%, transparent)}.focus-button:active,.focus-text-button:active{transform:scale(.96)}.focus-button--back svg{transition:transform var(--dur-slow) var(--ease-out)}.focus-button--back:hover svg{transform:translate(-3px)}.detail-controls,.detail-buttons{align-items:center;gap:2px;display:flex}.page-navigation{align-items:center;gap:var(--space-2);min-width:248px;padding:0 var(--space-3);border-right:1px solid var(--line-1);border-left:1px solid var(--line-1);grid-template-columns:38px minmax(130px,1fr) 38px;display:grid}.page-button{border:1px solid color-mix(in srgb, var(--ink) 26%, transparent);width:38px;height:38px;color:var(--ink);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.page-button:not(:disabled):hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.page-button:not(:disabled):active{transform:scale(.9)}.page-button:disabled{border-color:color-mix(in srgb, var(--ink) 12%, transparent);opacity:.34;cursor:default}.page-status{text-align:center;gap:3px;min-width:0;display:grid}.page-status strong{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--track-tight);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;overflow:hidden}.page-status span{color:var(--ink-soft);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase}.purchase-button{align-items:center;gap:var(--space-3);border-radius:var(--r-md);background:var(--accent);min-height:42px;color:var(--accent-ink);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-meta);white-space:nowrap;transition:box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;padding:4px 4px 4px 16px;font-weight:600;display:flex}.purchase-button:hover{box-shadow:var(--shadow-accent)}.purchase-button:active{transform:scale(.97)}.purchase-button__icon{border-radius:var(--r-sm);width:32px;height:32px;transition:transform var(--dur-slow) var(--ease-out);background:#1a1a1a24;place-items:center;display:grid}.purchase-button:hover .purchase-button__icon{transform:translate(2px)}@media (max-width:1024px){.browse-ui{bottom:calc(18px + var(--safe-bottom));width:calc(100vw - 40px - var(--safe-left) - var(--safe-right));gap:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto}.selection{grid-column:1/-1}.selection__note{-webkit-line-clamp:1}.browse-actions{justify-content:flex-start}.index-nav{align-self:center;padding-bottom:0}.detail-panel{bottom:calc(12px + var(--safe-bottom));flex-wrap:wrap;justify-content:center;gap:6px;width:calc(100vw - 24px);max-width:none}.page-navigation{min-width:min(248px,100vw - 210px);padding:0 var(--space-2);flex:220px}.detail-panel>.detail-controls{border-top:1px solid var(--line-1);text-align:center;order:4;width:100%;padding-top:6px}}@media (max-width:560px){.browse-ui{width:calc(100vw - 28px - var(--safe-left) - var(--safe-right));grid-template-columns:minmax(0,1fr);justify-items:stretch}.selection{gap:var(--space-2)}.selection__note,.index-nav{display:none}.browse-actions{gap:var(--space-2);grid-template-columns:48px minmax(0,1fr) 48px;padding-bottom:0;display:grid}.round-button{width:48px;height:48px}.text-button{min-height:48px;padding:0 var(--space-4)}.focus-button,.purchase-button{justify-content:center;width:48px;padding:0}.focus-button span,.purchase-button>span:first-child{display:none}.purchase-button{padding:4px}.page-button{width:44px;height:44px}.page-navigation{grid-template-columns:44px minmax(88px,1fr) 44px;min-width:0}}@media (prefers-reduced-transparency:reduce){.detail-panel,.pointer-label{background:var(--surface-2);-webkit-backdrop-filter:none}}
.lite{z-index:2;padding:calc(var(--header-height) + 42px + var(--safe-top)) calc(var(--layout-gutter) + var(--safe-right)) calc(var(--space-6) + var(--safe-bottom)) calc(var(--layout-gutter) + var(--safe-left));background:var(--surface-1);color:var(--text-1);isolation:isolate;grid-template-rows:auto 1fr auto auto;align-content:center;justify-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.lite-glow{z-index:-1;background:radial-gradient(ellipse 62% 44% at 50% 6%, #ff2e9321, transparent 70%), radial-gradient(ellipse 50% 40% at 84% 88%, #ff8a3d17, transparent 72%), linear-gradient(180deg, var(--surface-2), var(--surface-1) 56%, var(--surface-0));pointer-events:none;position:absolute;inset:0}.lite-head{justify-items:center;gap:var(--space-2);text-align:center;max-width:22ch;display:grid}.lite-head__eyebrow{color:var(--accent);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;margin:0;font-weight:600}.lite-head h1{font-family:var(--font-display);font-size:var(--fs-display-sm);letter-spacing:var(--track-display);font-weight:700;line-height:var(--lh-tight);text-wrap:balance;margin:0}.lite-flow{perspective:1400px;perspective-origin:50% 46%;touch-action:pan-y;place-items:center;width:100%;min-height:0;display:grid;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.lite-flow__track{--fan-gap:88%;--fan-step:46%;--fan-angle:34deg;--fan-angle-step:6deg;--fan-depth:112px;--fan-shrink:.07;aspect-ratio:2/3;width:clamp(150px,20vw,236px);max-height:100%;transform-style:preserve-3d;margin:0;padding:0;list-style:none;position:relative}.lite-card{--x:calc(var(--sign) * (var(--fan-gap) + (var(--d) - 1) * var(--fan-step)));--rot:calc(var(--sign) * -1 * (var(--fan-angle) + (var(--d) - 1) * var(--fan-angle-step)));--z:calc(var(--d) * var(--fan-depth) * -1);--scale:calc(1 - var(--d) * var(--fan-shrink));--dim:min(.62, var(--d) * .26);transform:translateX(var(--x)) translateZ(var(--z)) rotateY(var(--rot)) scale(var(--scale));transition:transform var(--dur-surface) var(--ease-out), opacity var(--dur-slow) var(--ease-out);will-change:transform;position:absolute;inset:0}.lite-card button{border-radius:3px var(--r-sm) var(--r-sm) 3px;cursor:pointer;width:100%;height:100%;transition:box-shadow var(--dur-slow) var(--ease-out);background:0 0;border:0;padding:0;display:block;box-shadow:0 26px 54px #08050580}.lite-card.is-active button{box-shadow:0 34px 70px #08050599, var(--shadow-accent)}.lite-card.is-active button:active{transform:scale(.98)}.lite-card__shade{border-radius:inherit;background:rgba(10, 6, 6, var(--dim));transition:background-color var(--dur-slow) var(--ease-out);pointer-events:none;position:absolute;inset:0}.lite-card:after{border-radius:inherit;content:"";height:42%;opacity:calc(1 - var(--dim) * 1.6);transform-origin:top;pointer-events:none;background:linear-gradient(#fff6f017,#0000 72%);position:absolute;top:100%;left:0;right:0;transform:scaleY(-1)}.lite-nav{align-items:center;gap:var(--space-4);margin-top:var(--space-5);display:flex}.lite-nav__arrow{border:1px solid var(--line-2);width:42px;height:42px;color:var(--text-1);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border-radius:50%;place-items:center;display:grid}.lite-nav__arrow:not(:disabled):hover{border-color:var(--line-3);background:#fff6f014}.lite-nav__arrow:not(:disabled):active{transform:scale(.92)}.lite-nav__arrow:disabled{cursor:default;opacity:.3}.lite-nav__dots{align-items:center;gap:3px;display:flex}.lite-nav__dots button{cursor:pointer;background:0 0;border:0;place-items:center;width:26px;height:26px;display:grid}.lite-nav__dots button:before{background:var(--line-3);content:"";width:16px;height:2px;transition:width var(--dur-slow) var(--ease-out), background-color var(--dur-base) var(--ease-out);border-radius:2px}.lite-nav__dots button:hover:before{background:var(--text-2)}.lite-nav__dots button[aria-current=true]:before{background:var(--accent);width:26px}.lite-detail{max-width:46ch;margin-top:var(--space-5);text-align:center;animation:lite-detail-in var(--dur-slow) var(--ease-out) both;justify-items:center;display:grid}@keyframes lite-detail-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lite-detail__counter{color:var(--text-3);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;letter-spacing:var(--track-label);font-weight:600}.lite-detail h2{font-family:var(--font-display);font-size:var(--fs-display-sm);letter-spacing:var(--track-display);font-weight:700;line-height:var(--lh-tight);text-wrap:balance;margin:7px 0 0}.lite-detail__meta{align-items:baseline;gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--text-3);font-size:var(--fs-meta);display:flex}.lite-detail__meta:before{background:var(--accent);content:"";align-self:center;width:14px;height:1px}.lite-detail__meta strong{color:var(--text-1);font-variant-numeric:tabular-nums;font-weight:600}.lite-detail__note{margin:var(--space-3) 0 0;color:var(--text-3);font-size:var(--fs-meta);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.lite-cta{align-items:center;gap:var(--space-3);min-height:46px;margin-top:var(--space-5);border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-sm);transition:box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;padding:4px 4px 4px 20px;font-weight:600;display:inline-flex}.lite-cta:hover{box-shadow:var(--shadow-accent)}.lite-cta:active{transform:scale(.97)}.lite-cta__icon{border-radius:var(--r-sm);width:34px;height:34px;transition:transform var(--dur-slow) var(--ease-out);background:#1a1a1a24;place-items:center;display:grid}.lite-cta:hover .lite-cta__icon{transform:translate(2px)}.lite-cta.is-owned{border:1px solid var(--line-2);color:var(--text-1);background:#fff6f00f;padding:0 20px}.lite-cta.is-owned:hover{border-color:var(--line-3);box-shadow:none;background:#fff6f01f}@media (max-width:1024px){.lite{padding-top:calc(var(--header-height) + 28px + var(--safe-top))}.lite-detail__note{-webkit-line-clamp:2}}@media (max-width:560px){.lite{grid-template-rows:auto 1fr auto auto;gap:0}.lite-head h1{font-size:var(--fs-title)}.lite-flow__track{--fan-gap:74%;--fan-step:30%;--fan-angle:40deg;--fan-angle-step:4deg;--fan-depth:82px;--fan-shrink:.09;width:clamp(132px,42vw,178px)}.lite-nav{margin-top:var(--space-4)}.lite-nav__dots button{width:20px}.lite-nav__dots button:before{width:11px}.lite-nav__dots button[aria-current=true]:before{width:20px}.lite-detail__note{display:none}.lite-detail h2{font-size:var(--fs-title)}}@media (prefers-reduced-motion:reduce){.lite-card:after{display:none}}
.commerce-app{background:var(--surface-1);min-height:100dvh;color:var(--text-1);font-family:var(--font-body)}.book-cover{border-radius:3px var(--r-xs) var(--r-xs) 3px;background-color:var(--book-color);width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 2px 0 #ffffff1f}.book-cover>img{object-fit:cover}.book-cover__fallback{color:var(--text-1);font-family:var(--font-display);letter-spacing:var(--track-tight);background:linear-gradient(155deg,#fff6f024,#0a060647);place-items:center;font-size:clamp(1rem,3.4vw,1.6rem);font-weight:600;display:grid;position:absolute;inset:0}.store-header{top:calc(16px + var(--safe-top));z-index:24;width:min(var(--layout-max), calc(100vw - var(--layout-gutter) * 2));min-height:var(--header-height);padding:var(--space-2) 10px var(--space-2) var(--space-3);border:1px solid var(--line-2);border-radius:var(--r-lg);background:linear-gradient(135deg, var(--accent-soft), transparent 38%), color-mix(in srgb, var(--surface-2) 86%, transparent);box-shadow:var(--edge-top), var(--shadow-2);-webkit-backdrop-filter:blur(22px)saturate(140%);grid-template-columns:minmax(230px,1fr) auto minmax(210px,1fr);align-items:center;display:grid;position:fixed;left:50%;transform:translate(-50%)}.store-brand{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.store-brand__symbol{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--text-1);object-fit:contain;width:46px;height:46px;transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);flex:none;padding:3px;display:block}.store-brand:hover .store-brand__symbol{border-color:var(--accent-line);box-shadow:var(--shadow-accent);transform:scale(1.04)}.store-brand:active .store-brand__symbol{transform:scale(.98)}.store-brand strong,.store-brand small{display:block}.store-brand strong{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--track-tight);font-weight:700}.store-brand small{color:var(--text-3);font-size:var(--fs-micro);letter-spacing:.05em;margin-top:2px}.store-switcher{border:1px solid var(--line-1);border-radius:var(--r-md);background:#0a06064d;align-items:center;gap:3px;padding:3px;display:flex}.store-switcher button{min-height:36px;padding:0 var(--space-4);border-radius:var(--r-sm);color:var(--text-3);cursor:pointer;font-size:var(--fs-meta);transition:color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:7px;font-weight:500;display:inline-flex}.store-switcher button:hover{color:var(--text-1)}.store-switcher button[aria-current=page]{color:var(--text-1);box-shadow:var(--edge-top);background:#fff6f017}.store-switcher button:active{transform:scale(.96)}.store-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.store-icon-button,.account-button,.commerce-close{border:1px solid var(--line-1);border-radius:var(--r-md);color:var(--text-1);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff6f00d;place-items:center;display:grid}.store-icon-button svg,.commerce-close svg{transition:transform var(--dur-slow) var(--ease-out)}.store-icon-button:hover,.account-button:hover,.commerce-close:hover{border-color:var(--line-3);background:#fff6f01a}.store-icon-button:hover svg,.commerce-close:hover svg{transform:scale(1.08)}.store-icon-button:active,.account-button:active,.commerce-close:active{transform:scale(.93)}.store-icon-button{width:var(--control-height);min-height:var(--control-height);position:relative}.store-mode{min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--line-1);border-radius:var(--r-md);color:var(--text-2);cursor:pointer;font-size:var(--fs-meta);white-space:nowrap;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff6f00d;align-items:center;gap:7px;font-weight:500;display:inline-flex}.store-mode svg{transition:transform var(--dur-slow) var(--ease-out);flex:none}.store-mode:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text-1)}.store-mode:hover svg{transform:rotate(-12deg)scale(1.08)}.store-mode:active{transform:scale(.95)}.store-badge{border:2px solid var(--surface-2);border-radius:var(--r-pill);background:var(--accent);min-width:19px;height:19px;color:var(--accent-ink);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;place-items:center;padding:0 5px;font-weight:600;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.account-button,.account__trigger{min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--line-1);border-radius:var(--r-md);color:var(--text-1);cursor:pointer;font-size:var(--fs-meta);background:#fff6f00d;font-weight:500;display:flex}.account{position:relative}.account__trigger{transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.account__trigger:hover{border-color:var(--line-3);background:#fff6f01a}.account__trigger:active{transform:scale(.96)}.account__caret{color:var(--text-3);transition:transform var(--dur-slow) var(--ease-out)}.account__trigger[aria-expanded=true] .account__caret{transform:rotate(180deg)}.account__menu{z-index:30;width:min(268px,100vw - 32px);padding:var(--space-2);border:1px solid var(--line-2);border-radius:var(--r-md);background:color-mix(in srgb, var(--surface-2) 96%, transparent);box-shadow:var(--edge-top), var(--shadow-3);opacity:0;transform-origin:100% 0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-slow) var(--ease-out), visibility var(--dur-slow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-8px)scale(.97)}.account__menu.is-open{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.account__head{padding:var(--space-2) 10px var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--line-1);flex-direction:column;gap:2px;display:flex}.account__head strong{font-size:var(--fs-sm);font-weight:600}.account__head span{color:var(--text-4);font-size:var(--fs-micro);overflow-wrap:anywhere}.account__badge{border:1px solid var(--accent-line);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-micro);letter-spacing:.04em;align-self:flex-start;margin-top:5px;padding:2px 8px;font-style:normal;font-weight:600}.account__menu button,.account__menu a{border-radius:var(--r-sm);min-height:38px;color:var(--text-2);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-meta);text-align:left;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.account__menu button:hover,.account__menu a:hover{color:var(--text-1);background:#fff6f014}.account__menu button.account__leave{margin-top:var(--space-1);border-top:1px solid var(--line-1);border-radius:0}.account__menu button.account__leave:hover{color:var(--ember);background:#ff8a3d1f}.cart-layer,.dialog-layer{z-index:42;visibility:hidden;pointer-events:none;position:fixed;inset:0}.dialog-layer{z-index:48}.cart-layer.is-open,.dialog-layer.is-open{visibility:visible;pointer-events:auto}.commerce-backdrop{opacity:0;cursor:pointer;width:100%;transition:opacity var(--dur-slow) var(--ease-out);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a06069e;border:0;position:absolute;inset:0}.is-open>.commerce-backdrop{opacity:1}.cart-drawer{width:min(430px,100vw - 24px);padding:var(--space-6);border:1px solid var(--line-2);border-radius:var(--r-lg);background:linear-gradient(165deg, var(--surface-2), var(--surface-0));box-shadow:var(--edge-top), var(--shadow-3);transition:transform var(--dur-surface) var(--ease-out);flex-direction:column;display:flex;position:absolute;top:12px;bottom:12px;right:12px;transform:translate(calc(100% + 24px))}.cart-layer.is-open .cart-drawer{transform:translate(0)}.cart-drawer__head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:1px solid var(--line-1);display:flex}.cart-drawer h2,.commerce-dialog h2{font-family:var(--font-display);font-size:var(--fs-display-sm);letter-spacing:var(--track-display);margin:0;font-weight:700;line-height:1.05}.commerce-close{width:var(--control-height);height:var(--control-height);flex:none}.cart-items{padding:var(--space-2) 0;flex:1;overflow:auto}.cart-item{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2);border-bottom:1px solid var(--line-1);border-radius:var(--r-sm);transition:background-color var(--dur-base) var(--ease-out);grid-template-columns:54px minmax(0,1fr) 32px;display:grid;position:relative}.cart-item:before{background:var(--accent);content:"";width:2px;height:0;transition:height var(--dur-slow) var(--ease-out);border-radius:2px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.cart-item:hover{background:#fff6f008}.cart-item:hover:before{height:58%}.cart-item__cover{border-radius:2px var(--r-xs) var(--r-xs) 2px;height:78px;box-shadow:var(--shadow-1)}.cart-item>div>span{color:var(--accent);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:600}.cart-item h3{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:var(--track-tight);margin:5px 0 7px;font-weight:600;line-height:1.12}.cart-item strong{font-size:var(--fs-meta);font-variant-numeric:tabular-nums;font-weight:600}.cart-item>button{border-radius:var(--r-xs);width:32px;height:32px;color:var(--text-4);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:0;place-items:center;display:grid}.cart-item>button:hover{color:var(--text-1);background:#fff6f012}.cart-item>button:active{transform:scale(.88)}.cart-recommendations{padding:var(--space-6) 0 10px}.cart-recommendations__intro{margin-bottom:var(--space-3)}.cart-recommendations__intro h3{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:var(--track-tight);margin:0;font-weight:600}.cart-recommendations__intro p{max-width:40ch;color:var(--text-3);font-size:var(--fs-meta);margin:5px 0 0;line-height:1.5}.cart-recommendations__intro p strong{color:var(--text-1);font-weight:500}.cart-recommendations__list{gap:var(--space-2);display:grid}.cart-recommendation{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line-1);border-radius:var(--r-md);background:linear-gradient(135deg, var(--accent-soft), transparent 50%), #fff6f008;box-shadow:var(--edge-top);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);grid-template-columns:48px minmax(0,1fr);display:grid}.cart-recommendation:hover{border-color:var(--accent-line);box-shadow:var(--edge-top), var(--shadow-2);transform:translateY(-2px)}.cart-recommendation__cover{border-radius:2px var(--r-xs) var(--r-xs) 2px;height:70px;box-shadow:var(--shadow-1);transition:transform var(--dur-slow) var(--ease-out)}.cart-recommendation:hover .cart-recommendation__cover{transform:translateY(-2px)rotate(-1.5deg)}.cart-recommendation__content{min-width:0}.cart-recommendation__content>span{color:var(--accent);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.cart-recommendation__content h4{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--track-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.cart-recommendation__content p{color:var(--text-3);font-size:var(--fs-micro);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.cart-recommendation__action{margin-top:var(--space-2);justify-content:space-between;align-items:center;gap:10px;display:flex}.cart-recommendation__action strong{font-size:var(--fs-meta);font-variant-numeric:tabular-nums;font-weight:600}.cart-recommendation__action button{border:1px solid var(--accent-line);border-radius:var(--r-xs);background:var(--accent-soft);min-height:30px;color:var(--text-1);cursor:pointer;font-size:var(--fs-micro);white-space:nowrap;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:5px;padding:0 11px;font-weight:600;display:inline-flex}.cart-recommendation__action button:hover{background:var(--accent);color:var(--accent-ink)}.cart-recommendation__action button:active{transform:scale(.94)}.cart-summary{padding-top:var(--space-6);border-top:1px solid var(--line-1)}.cart-summary>div,.checkout-order>div{justify-content:space-between;align-items:baseline;gap:var(--space-5);display:flex}.cart-summary>div span{color:var(--text-3);font-size:var(--fs-meta)}.cart-summary>div strong{font-family:var(--font-display);font-size:var(--fs-heading);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;font-weight:700}.cart-summary p,.cart-empty p{margin:var(--space-2) 0 var(--space-4);color:var(--text-3);font-size:var(--fs-meta);line-height:1.5}.commerce-primary,.commerce-secondary{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--r-md);background:var(--accent);width:100%;min-height:48px;color:var(--accent-ink);cursor:pointer;font-size:var(--fs-sm);transition:box-shadow var(--dur-slow) var(--ease-out), background-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;font-weight:600;display:flex}.commerce-primary svg,.commerce-secondary svg{transition:transform var(--dur-slow) var(--ease-out)}.commerce-primary:hover:not(:disabled){box-shadow:var(--shadow-accent)}.commerce-primary:hover:not(:disabled) svg{transform:translate(3px)}.commerce-primary:active:not(:disabled),.commerce-secondary:active{transform:scale(.97)}.commerce-primary:disabled{cursor:not-allowed;opacity:.4}.commerce-secondary{width:auto;min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--line-2);color:var(--text-1);background:#fff6f00f}.commerce-secondary:hover{border-color:var(--line-3);background:#fff6f01c}.cart-empty{padding:var(--space-7);color:var(--text-4);text-align:center;flex:1;place-content:center;justify-items:center;display:grid}.cart-empty h3{margin:var(--space-4) 0 0;color:var(--text-1);font-family:var(--font-display);font-size:var(--fs-heading);letter-spacing:var(--track-tight);font-weight:600}.cart-empty p{max-width:32ch}.commerce-dialog{width:min(470px,100vw - 28px);max-height:calc(100dvh - 32px);padding:var(--space-7);border:1px solid var(--line-2);border-radius:var(--r-lg);background:linear-gradient(150deg, var(--accent-soft), transparent 44%), var(--surface-2);box-shadow:var(--edge-top), var(--shadow-3);opacity:0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-surface) var(--ease-out);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,calc(26px - 50%))scale(.97)}.dialog-layer.is-open .commerce-dialog{opacity:1;transform:translate(-50%,-50%)scale(1)}.commerce-dialog>.commerce-close{top:var(--space-4);right:var(--space-4);position:absolute}.commerce-eyebrow{margin:0 0 var(--space-2);color:var(--accent);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:600}.dialog-intro{max-width:42ch;margin:var(--space-3) 0 var(--space-6);color:var(--text-3);font-size:var(--fs-sm);line-height:var(--lh-body)}.auth-switcher{margin-bottom:var(--space-6);border:1px solid var(--line-1);border-radius:var(--r-md);background:#0a060647;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.auth-switcher button{border-radius:var(--r-sm);min-height:38px;color:var(--text-3);cursor:pointer;font-size:var(--fs-meta);transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:0;font-weight:500}.auth-switcher button:hover{color:var(--text-1)}.auth-switcher button[aria-selected=true]{color:var(--text-1);box-shadow:var(--edge-top);background:#fff6f017}.auth-switcher button:active{transform:scale(.97)}.auth-dialog form{gap:var(--space-4);display:grid}.auth-dialog label{color:var(--text-3);font-size:var(--fs-meta);gap:7px;display:grid}.auth-dialog input{width:100%;height:46px;padding:0 var(--space-3);border:1px solid var(--line-2);border-radius:var(--r-md);color:var(--text-1);font-size:var(--fs-sm);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);background:#0a06064d;outline:0}.auth-dialog input::placeholder{color:var(--text-4)}.auth-dialog input:hover{border-color:var(--line-3)}.auth-dialog input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.auth-error{padding:10px var(--space-3);border:1px solid var(--accent-line);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--text-1);font-size:var(--fs-meta);margin:0;line-height:1.45}.auth-sent{padding:var(--space-4);border:1px solid var(--line-1);border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-meta);line-height:var(--lh-body);background:#fff6f00a;margin:0}.auth-sent strong{color:var(--text-1);overflow-wrap:anywhere;font-weight:600}.auth-link{margin-top:var(--space-4);color:var(--text-3);cursor:pointer;font-size:var(--fs-meta);text-align:center;transition:color var(--dur-base) var(--ease-out);background:0 0;border:0;padding:0}.auth-link:hover{color:var(--text-1);text-underline-offset:3px;text-decoration:underline}.is-spinning{animation:.9s linear infinite commerce-spin}@keyframes commerce-spin{to{transform:rotate(360deg)}}.cart-item--bundle{border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);padding:var(--space-3)}.cart-bundle__mark{border-radius:3px var(--r-xs) var(--r-xs) 3px;background:linear-gradient(160deg, var(--accent), var(--accent-deep));width:46px;height:68px;color:var(--accent-ink);place-items:center;display:grid}.cart-offer{gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--accent-line);border-radius:var(--r-md);display:grid}.cart-offer span{color:var(--accent);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:600}.cart-offer h3{color:var(--text-1);font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:var(--track-tight);margin:5px 0 4px;font-weight:600}.cart-offer p{color:var(--text-3);font-size:var(--fs-meta);line-height:var(--lh-body)}.cart-offer p strong{color:var(--text-1)}.cart-offer button{padding:9px var(--space-5);border:1px solid var(--accent-line);border-radius:var(--r-pill);color:var(--accent-pale);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-sm);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;justify-self:start;font-weight:600}.cart-offer button:hover{background:var(--accent);color:var(--accent-ink)}.cart-offer button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cart-nudge{margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);color:var(--ember);font-size:var(--fs-meta);line-height:var(--lh-body);background:#ff8a3d1f}.cart-line{color:var(--text-3);font-size:var(--fs-sm);justify-content:space-between;margin-bottom:6px;display:flex}.cart-line--discount{color:#8ee3b4}.checkout-discount{color:#8ee3b4;justify-content:space-between;display:flex}.payment-methods{gap:var(--space-2);margin:0 0 var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.payment-methods li{border:1px solid var(--line-1);border-radius:var(--r-md);color:var(--text-3);padding:var(--space-3) var(--space-2);text-align:center;place-items:center;gap:6px;display:grid}.payment-methods span strong{color:var(--text-1);font-size:var(--fs-sm);font-weight:500}.payment-methods span small{color:var(--text-4);font-size:var(--fs-micro);line-height:1.35}.checkout-dialog form{gap:var(--space-4);margin-bottom:var(--space-4);display:grid}.checkout-dialog form label{color:var(--text-3);font-size:var(--fs-meta);gap:7px;display:grid}.checkout-dialog form label small{color:var(--text-4);font-size:var(--fs-micro)}.checkout-dialog form input{border:1px solid var(--line-2);border-radius:var(--r-md);color:var(--text-1);font-family:var(--font-body);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;height:46px;padding:0 var(--space-3);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);background:#0a06064d;outline:0;width:100%}.checkout-dialog form input:hover{border-color:var(--line-3)}.checkout-dialog form input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.checkout-failure{border-radius:var(--r-md);color:#ff9d9d;font-size:var(--fs-meta);line-height:var(--lh-body);padding:var(--space-3) var(--space-4);background:#ff5c5c1a;border:1px solid #ff5c5c57}@media (max-width:420px){.payment-methods{grid-template-columns:minmax(0,1fr)}.payment-methods li{text-align:start;grid-template-columns:24px minmax(0,1fr);justify-items:start}}.checkout-fineprint{margin-top:var(--space-4);color:var(--text-4);font-size:var(--fs-micro);text-align:center;line-height:1.5;display:block}.checkout-fineprint a{color:var(--text-3);text-underline-offset:2px;transition:color var(--dur-base) var(--ease-out);text-decoration:underline}.checkout-fineprint a:hover{color:var(--text-1)}.checkout-order{margin-bottom:var(--space-6);padding:var(--space-4);border:1px solid var(--line-1);border-radius:var(--r-md);background:#0a06063d;gap:10px;display:grid}.checkout-order>div{color:var(--text-3);font-size:var(--fs-meta)}.checkout-order>div strong{color:var(--text-1);font-variant-numeric:tabular-nums;font-weight:500}.checkout-order .checkout-total{padding-top:var(--space-3);border-top:1px solid var(--line-1);color:var(--text-1);margin-top:5px}.checkout-order .checkout-total strong{font-family:var(--font-display);font-size:var(--fs-title);letter-spacing:var(--track-tight);font-weight:700}.payment-methods{gap:var(--space-2);margin:0 0 var(--space-5);border:0;padding:0;display:grid}.payment-methods legend{margin-bottom:var(--space-2);color:var(--text-3);font-size:var(--fs-meta)}.payment-methods label{min-height:56px;padding:var(--space-2) var(--space-3);border:1px solid var(--line-1);border-radius:var(--r-md);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);grid-template-columns:18px 24px 1fr;align-items:center;gap:10px;display:grid}.payment-methods label:hover{border-color:var(--line-2);background:#fff6f009}.payment-methods label:active{background:#fff6f00f}.payment-methods label.is-selected{border-color:var(--accent-line);background:var(--accent-soft)}.payment-methods input[type=radio]{width:16px;height:16px;accent-color:var(--accent);margin:0}.payment-methods span strong,.payment-methods span small{display:block}.payment-methods span strong{font-size:var(--fs-sm);font-weight:500}.payment-methods span small{color:var(--text-3);font-size:var(--fs-micro);margin-top:3px}@media (max-width:1024px){.store-header{grid-template-columns:minmax(150px,1fr) auto auto}.store-brand small,.account__name,.store-mode span{display:none}.store-mode{width:var(--control-height);justify-content:center;padding:0}.account-button{width:var(--control-height);justify-content:center;padding:0;font-size:0}}@media (max-width:768px){.store-header{top:calc(8px + var(--safe-top));width:calc(100vw - 16px - var(--safe-left) - var(--safe-right));grid-template-columns:52px 1fr auto;min-height:56px;padding:5px}.store-brand__copy,.store-switcher svg{display:none}.store-brand__symbol{width:46px;height:46px}.store-actions{gap:5px}.account-button{padding:0;font-size:0}.store-switcher{justify-self:center}.cart-drawer{top:calc(8px + var(--safe-top));right:8px;bottom:calc(8px + var(--safe-bottom));width:calc(100vw - 16px - var(--safe-left) - var(--safe-right));padding:var(--space-5)}.cart-drawer h2,.commerce-dialog h2{font-size:var(--fs-heading)}.commerce-dialog{padding:var(--space-6) var(--space-5)}}@media (pointer:coarse){.store-icon-button,.account-button,.store-mode{width:46px;min-height:46px}.account__trigger,.account__menu button,.account__menu a{min-height:46px}.commerce-close{width:46px;height:46px}.store-switcher button{min-height:42px}.cart-item>button{width:40px;height:40px}.cart-recommendation__action button{min-height:40px}}@media (prefers-reduced-transparency:reduce){.store-header,.account__menu{background:var(--surface-2);-webkit-backdrop-filter:none;backdrop-filter:none}.commerce-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0606db}}
.toast-stack{right:calc(20px + var(--safe-right));bottom:calc(20px + var(--safe-bottom));z-index:90;gap:var(--space-2);pointer-events:none;flex-direction:column;width:min(390px,100vw - 40px);display:flex;position:fixed}.toast{align-items:start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--line-2);border-radius:var(--r-md);background:color-mix(in srgb, var(--surface-2) 94%, transparent);box-shadow:var(--edge-top), var(--shadow-3);pointer-events:auto;animation:toast-in var(--dur-slow) var(--ease-spring) both;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.toast:before{background:var(--tone);content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.toast.is-success{--tone:var(--accent)}.toast.is-error{--tone:var(--ember)}.toast.is-info{--tone:var(--text-3)}@keyframes toast-in{0%{opacity:0;transform:translate(18px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.toast__icon{color:var(--tone);flex:none;margin-top:1px}.toast__body{flex-direction:column;gap:3px;min-width:0;display:flex}.toast__body strong{color:var(--text-1);font-size:var(--fs-sm);font-weight:600;line-height:1.35}.toast__body span{color:var(--text-3);font-size:var(--fs-meta);line-height:1.45}.toast__action{color:var(--tone);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-meta);text-underline-offset:3px;transition:opacity var(--dur-base) var(--ease-out);background:0 0;border:0;align-self:flex-start;margin-top:5px;padding:0;font-weight:600;text-decoration:underline}.toast__action:hover{opacity:.75}.toast__action:active{opacity:.55}.toast__close{border-radius:var(--r-xs);width:28px;height:28px;color:var(--text-4);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:none;place-items:center;display:grid}.toast__close:hover{color:var(--text-1);background:#fff6f014}.toast__close:active{transform:scale(.88)}@media (max-width:560px){.toast-stack{right:calc(12px + var(--safe-right));left:calc(12px + var(--safe-left));bottom:calc(12px + var(--safe-bottom));width:auto}}@media (pointer:coarse){.toast__close{width:40px;height:40px}}@media (prefers-reduced-transparency:reduce){.toast{background:var(--surface-2);-webkit-backdrop-filter:none;backdrop-filter:none}}
.password-field{display:block;position:relative}.password-field .password-input{padding-right:46px}.password-toggle{border-radius:var(--r-sm);color:var(--text-3);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;width:38px;padding:0;display:flex;position:absolute;inset-block:4px;inset-inline-end:4px}.password-toggle:hover{background:var(--surface-3);color:var(--text-1)}.password-toggle[aria-pressed=true]{color:var(--accent)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.personal-library{z-index:16;scrollbar-gutter:stable both-edges;position:fixed;inset:0;overflow:auto}.personal-room{--room-wall:var(--surface-1);--room-wall-light:#463c3e;--room-wood:var(--walnut);--room-wood-edge:var(--walnut-deep);background:radial-gradient(circle at 74% 12%, color-mix(in srgb, var(--room-wall-light) 46%, transparent), transparent 38%), linear-gradient(160deg, color-mix(in srgb, var(--room-wall) 88%, #2a2323), var(--room-wall) 72%);transition:background var(--dur-surface) var(--ease-out)}.room-light{opacity:.82;mix-blend-mode:soft-light;pointer-events:none;background:radial-gradient(circle at 76% 18%,#ffe5be1a,#0000 24%),linear-gradient(112deg,#fff4dc09,#0000 34%);position:fixed;inset:0}.room-inner{width:min(var(--layout-max), calc(100% - var(--layout-gutter) * 2));min-height:100%;padding:calc(104px + var(--safe-top)) 0 calc(var(--space-9) + var(--safe-bottom));margin:0 auto;position:relative}.room-topline{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.library-back{align-items:center;gap:var(--space-2);color:var(--text-3);cursor:pointer;font-size:var(--fs-meta);transition:color var(--dur-base) var(--ease-out);background:0 0;border:0;padding:0;display:inline-flex}.library-back svg{transition:transform var(--dur-slow) var(--ease-out)}.library-back:hover{color:var(--text-1)}.library-back:hover svg{transform:translate(-3px)}.library-back:active{opacity:.7}.room-customize-toggle{min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--line-2);border-radius:var(--r-md);color:var(--text-1);cursor:pointer;font-size:var(--fs-meta);transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff6f00f;display:inline-flex}.room-customize-toggle svg{transition:transform var(--dur-slow) var(--ease-out)}.room-customize-toggle:hover{border-color:var(--line-3);background:#fff6f01c}.room-customize-toggle:hover svg{transform:rotate(90deg)}.room-customize-toggle:active{transform:scale(.96)}.library-heading{align-items:end;gap:var(--space-7);margin-top:var(--space-7);padding-bottom:var(--space-6);border-bottom:1px solid var(--line-1);grid-template-columns:minmax(0,1.2fr) minmax(220px,.55fr) auto;display:grid}.library-heading h1{font-family:var(--font-display);font-size:var(--fs-display);letter-spacing:var(--track-display);font-weight:700;line-height:var(--lh-tight);margin:0}.library-heading>p{max-width:34ch;color:var(--text-3);font-size:var(--fs-sm);line-height:var(--lh-body);margin:0}.library-login{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);cursor:pointer;font-size:var(--fs-meta);white-space:nowrap;transition:box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;font-weight:600;display:inline-flex}.library-login:hover{box-shadow:var(--shadow-accent)}.library-login:active{transform:scale(.97)}.room-scene{min-height:clamp(600px,100dvh - 150px,680px);margin-top:var(--space-6);border:1px solid color-mix(in srgb, var(--room-wall-light) 48%, var(--line-1));border-radius:var(--r-lg);background:linear-gradient(90deg, #0a060657, transparent 26%, transparent 74%, #0a060661), linear-gradient(180deg, color-mix(in srgb, var(--room-wall-light) 22%, var(--room-wall)), var(--room-wall) 58%);box-shadow:var(--edge-top), 0 24px 68px color-mix(in srgb, var(--room-wall) 40%, transparent);isolation:isolate;place-items:end center;display:grid;position:relative;overflow:hidden}.room-scene:before{background:radial-gradient(ellipse 58% 46% at 50% 4%, color-mix(in srgb, var(--room-wall-light) 58%, transparent), transparent 72%);content:"";pointer-events:none;position:absolute;inset:0}.room-floor{background:linear-gradient(180deg, color-mix(in srgb, var(--room-wood) 26%, var(--room-wall)), color-mix(in srgb, var(--surface-0) 64%, var(--room-wall)));height:19%;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text-1) 14%, transparent);position:absolute;bottom:0;left:0;right:0}.room-floor:before{background:linear-gradient(180deg, color-mix(in srgb, var(--room-wood) 52%, var(--room-wall)), color-mix(in srgb, var(--room-wood-edge) 70%, var(--room-wall)));content:"";height:7px;position:absolute;top:0;left:0;right:0}.room-bookcase{z-index:2;background:url(/working-volumes/walnut.webp), var(--room-wood);background-blend-mode:multiply, normal;background-size:340px,auto;border-radius:5px 5px 2px 2px;grid-template-rows:1fr 1fr auto;width:min(430px,52%);height:min(78%,500px);margin-bottom:11%;padding:15px 14px 0;display:grid;position:relative;box-shadow:0 30px 60px #08050580}.room-bookcase:after{z-index:-1;content:"";filter:blur(7px);background:radial-gradient(50% 100% at 50% 0,#060404b8,#0000 74%);width:94%;height:30px;position:absolute;bottom:-14px;left:3%}.room-bookcase__back{z-index:0;background:repeating-linear-gradient(90deg, #fff6f008 0 1px, transparent 1px 44px), linear-gradient(180deg, #08050599, #08050542 42%, #080505a8), color-mix(in srgb, var(--room-wood-edge) 86%, var(--room-wall));position:absolute;inset:15px 14px 0;box-shadow:inset 20px 0 26px #08050570,inset -20px 0 26px #08050570}.room-shelf{z-index:2;justify-content:center;align-items:flex-end;padding-bottom:13px;display:flex;position:relative}.room-shelf:after{z-index:2;content:"";pointer-events:none;background:radial-gradient(50% 100% at 50% 100%,#08050599,#0000 72%);width:82%;height:14px;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.room-shelf__board{z-index:1;background:url(/working-volumes/walnut.webp), var(--room-wood);background-blend-mode:multiply, normal;background-size:340px,auto;height:13px;position:absolute;bottom:0;left:-14px;right:-14px;box-shadow:inset 0 1px #fff6f033,inset 0 -3px #08050575,0 4px 9px #08050580}.room-books{z-index:3;perspective:1200px;align-items:flex-end;gap:clamp(2px,.3vw,4px);display:flex;position:relative}.room-books:before,.room-books:after{background:linear-gradient(90deg, #ffffff42, transparent 26%, #08050542), color-mix(in srgb, var(--room-wood) 42%, #9a8878);content:"";border-radius:2px 2px 1px 1px;flex:none;width:18px;height:84px;box-shadow:5px 8px 14px #0805054d}.room-book{width:var(--room-book-depth);height:var(--room-book-height);outline-offset:8px;color:var(--text-1);cursor:pointer;perspective:900px;transition:transform var(--dur-surface) var(--ease-out);background:0 0;border:0;flex:none;padding:0;display:block;position:relative}.room-book:hover,.room-book:focus-visible{z-index:8}:is(.room-book:has(+.room-book.is-owned:hover),.room-book:has(+.room-book.is-owned:focus-visible)){transform:translate(-10px)}.room-book.is-owned:hover+.room-book,.room-book.is-owned:focus-visible+.room-book{transform:translate(10px)}.room-book__volume{width:var(--room-book-depth);will-change:transform;transform:translateX(-50%) rotateZ(var(--room-book-lean));transform-style:preserve-3d;transform-origin:bottom;transition:filter var(--dur-slow) var(--ease-out), opacity var(--dur-slow) var(--ease-out), transform var(--dur-surface) var(--ease-out);display:block;position:absolute;top:0;bottom:0;left:50%}.room-book.is-owned:hover .room-book__volume,.room-book.is-owned:focus-visible .room-book__volume{transform:translate(-50%)translateY(-13px)rotate(0)rotateY(-18deg)rotateX(.6deg)}.room-book.is-locked:hover .room-book__volume,.room-book.is-locked:focus-visible .room-book__volume{transform:translate(-50%)translateY(-6px)rotate(0)}.room-book.is-owned:active .room-book__volume{transform:translate(-50%)translateY(-7px)rotate(0)rotateY(-13deg)scale(.98)}.room-book.is-locked:active .room-book__volume{transform:translate(-50%)translateY(-3px)rotate(0)scale(.98)}.room-book__face{backface-visibility:hidden;display:block;position:absolute;overflow:hidden}.room-book__front,.room-book__back{top:0;left:calc((var(--room-book-depth) - var(--room-book-width)) / 2);width:var(--room-book-width);border-radius:2px 7px 7px 2px;height:100%}.room-book__front{background:var(--room-book-color);transform:rotateY(90deg) translateZ(calc(var(--room-book-depth) / 2));box-shadow:inset 2px 0 #ffffff24,8px 18px 28px #0a06063d}.room-book__front .book-cover{border-radius:inherit}.room-book__back{background:color-mix(in srgb, var(--room-book-color) 72%, var(--surface-0));transform:rotateY(-90deg) translateZ(calc(var(--room-book-depth) / 2))}.room-book__spine,.room-book__pages{inset:0}.room-book__spine{background:linear-gradient(90deg, #0a080857, transparent 14%, #ffffff1f 48%, transparent 72%, #0a06063d), linear-gradient(180deg, transparent 0 12px, color-mix(in srgb, var(--room-book-foil) 74%, transparent) 12px 14px, transparent 14px calc(100% - 14px), color-mix(in srgb, var(--room-book-foil) 74%, transparent) calc(100% - 14px) calc(100% - 12px), transparent calc(100% - 12px)), var(--room-book-color);color:var(--room-book-ink);transform:translateZ(calc(var(--room-book-width) / 2));border-top:1px solid #fff3;border-bottom:1px solid #0a060638;flex-direction:column;align-items:center;gap:5px;padding:6px 4px;display:flex;box-shadow:inset 1px 0 #ffffff26,inset -2px 0 #0a060638,7px 12px 18px #0a060638}.room-book__spine-number{opacity:.85;border:1px solid;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:.52rem;font-weight:600;line-height:1;display:grid}.room-book__spine strong{max-height:calc(100% - 50px);font-family:var(--font-display);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;writing-mode:vertical-rl;flex:auto;font-size:.63rem;font-weight:600;line-height:1;display:block;overflow:hidden;transform:rotate(180deg)}.room-book__spine-status{background:color-mix(in srgb, var(--room-book-ink) 13%, transparent);width:17px;height:17px;color:inherit;border-radius:50%;flex:none;place-items:center;display:grid}.room-book__pages{background:repeating-linear-gradient(90deg, var(--sheet-shade) 0 1px, var(--sheet-edge) 1px 2px);transform:rotateY(180deg) translateZ(calc(var(--room-book-width) / 2))}.room-book__veil{background:linear-gradient(135deg,#0e0a0a3d,#0e0a0ab8);position:absolute;inset:0}.room-book.is-locked .room-book__volume{filter:grayscale(.34)saturate(.7)brightness(.66)contrast(.96)}.room-book.is-locked:hover .room-book__volume,.room-book.is-locked:focus-visible .room-book__volume{filter:grayscale(.1)saturate(.95)brightness(.92)contrast()}.room-book.is-locked .room-book__spine-status{width:22px;height:22px;color:var(--text-1);background:#161212c2;border:1px solid #fff6f057;box-shadow:inset 0 1px #ffffff1f,0 5px 12px #0a060642}.room-book__action{z-index:7;min-width:204px;padding:var(--space-3);border:1px solid var(--line-2);border-radius:var(--r-md);background:color-mix(in srgb, var(--surface-2) 94%, transparent);box-shadow:var(--edge-top), var(--shadow-2);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-slow) var(--ease-out), visibility var(--dur-slow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;gap:7px;display:grid;position:absolute;top:12px;left:50%;transform:translate(-50%,10px)scale(.96)}.room-book:hover .room-book__action,.room-book:focus-visible .room-book__action{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}.room-book__action strong,.room-book__action small{text-align:left;text-overflow:ellipsis;white-space:nowrap;grid-column:2;overflow:hidden}.room-book__action strong{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--track-tight);font-weight:600}.room-book__action small{color:var(--text-3);font-size:var(--fs-micro)}.room-book.is-owned .room-book__action small{color:var(--accent)}.room-book__action>svg:first-child{grid-row:1/3}.room-book__action>svg:last-child{grid-area:1/3/3}.room-cabinet{z-index:3;background:url(/working-volumes/walnut.webp), var(--room-wood);background-blend-mode:multiply, normal;background-size:340px,auto;grid-template-columns:1fr 1fr;gap:7px;height:108px;margin:0 -14px;padding:11px 12px 13px;display:grid;position:relative;box-shadow:inset 0 1px #fff6f029,0 -3px 8px #08050566}.room-cabinet span{background:color-mix(in srgb, var(--room-wood) 88%, var(--room-wood-edge));border-radius:2px;position:relative;box-shadow:inset 0 0 0 1px #08050580,inset 0 1px #fff6f01a}.room-cabinet span:before{background:color-mix(in srgb, var(--room-wood-edge) 34%, var(--room-wood));content:"";border-radius:1px;position:absolute;inset:11px;box-shadow:inset 0 2px 5px #0805058c,inset 0 -1px #fff6f014}.room-cabinet span:after{content:"";background:linear-gradient(90deg,#e0cfa8,#9a8560 62%,#6d5c40);border-radius:2px;width:4px;height:32px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:1px 2px 4px #08050580}.room-cabinet span:first-child:after{right:9px}.room-cabinet span:last-child:after{left:9px}.room-bookcase__frame{z-index:5;border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #fff6f038,inset 14px 0 16px -12px #fff6f01f,inset -14px 0 16px -12px #0805058c,inset 0 0 0 1px #0805056b}.room-bookcase__shade{z-index:1;pointer-events:none;background:linear-gradient(#ffecd224,#0000 28%),linear-gradient(90deg,#08050557,#0000 26% 70%,#08050570);position:absolute;inset:15px 14px 0}.room-instruction{max-width:58ch;margin:var(--space-4) auto 0;color:var(--text-4);font-size:var(--fs-meta);text-align:center;line-height:1.45}.room-customizer{top:96px;right:max(var(--layout-gutter), calc((100vw - var(--layout-max)) / 2));z-index:28;width:min(336px, calc(100vw - var(--layout-gutter) * 2));max-height:calc(100dvh - 120px);padding:var(--space-5);border:1px solid var(--line-2);border-radius:var(--r-lg);background:color-mix(in srgb, var(--surface-2) 94%, transparent);box-shadow:var(--edge-top), var(--shadow-3);opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-surface) var(--ease-out), visibility var(--dur-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:fixed;overflow-y:auto;transform:translate(calc(100% + 28px))}.room-customizer.is-open{opacity:1;visibility:visible;transform:translate(0)}.room-customizer-backdrop{z-index:27;cursor:default;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:room-backdrop-in var(--dur-base) var(--ease-out) both;background:#0a06063d;border:0;padding:0;position:fixed;inset:0}@keyframes room-backdrop-in{0%{opacity:0}to{opacity:1}}.room-customizer__head{padding-bottom:var(--space-4);border-bottom:1px solid var(--line-1);grid-template-columns:20px minmax(0,1fr) 32px;align-items:flex-start;gap:11px;display:grid}.room-customizer__head strong,.room-customizer__head span{display:block}.room-customizer__head strong{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--track-tight);font-weight:600}.room-customizer__head span{color:var(--text-3);font-size:var(--fs-micro);margin-top:4px;line-height:1.4}.room-customizer__close{border:1px solid var(--line-1);border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-1);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff6f00d;place-items:center;margin:-6px -6px 0 0;padding:0;display:grid}.room-customizer__close:hover{border-color:var(--line-3);background:#fff6f01c}.room-customizer__close:active{transform:scale(.9)}.room-customizer fieldset{margin:var(--space-5) 0 0;border:0;padding:0}.room-customizer legend{color:var(--text-3);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;margin-bottom:10px;font-weight:600}.room-swatches{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.room-swatches button{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--swatch);height:46px;color:var(--text-1);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);place-items:center;display:grid;position:relative;box-shadow:inset 0 1px #ffffff21}.room-swatches button:hover{border-color:var(--line-3);box-shadow:inset 0 1px 0 #fff3, var(--shadow-1);transform:translateY(-2px)}.room-swatches button:active{transform:translateY(0)scale(.96)}.room-swatches button[aria-pressed=true]{border-color:var(--text-1);box-shadow:inset 0 0 0 2px #0e0a0a75,inset 0 1px #ffffff2e}.room-swatches button span{z-index:2;border-radius:var(--r-xs);background:var(--surface-0);width:max-content;max-width:96px;color:var(--text-1);font-size:var(--fs-micro);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility var(--dur-base);pointer-events:none;padding:5px 8px;line-height:1.2;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-4px)}.room-swatches button:hover span,.room-swatches button:focus-visible span{opacity:1;visibility:visible;transform:translate(-50%)}.room-materials{gap:7px;display:grid}.room-materials button{min-height:44px;padding:5px var(--space-2) 5px 5px;border:1px solid var(--line-1);border-radius:var(--r-md);color:var(--text-1);cursor:pointer;text-align:left;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff6f008;grid-template-columns:46px 1fr 18px;align-items:center;gap:10px;display:grid}.room-materials button:hover{border-color:var(--line-2);background:#fff6f012}.room-materials button:active{transform:scale(.98)}.room-materials button[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft)}.room-materials button i{border-radius:var(--r-xs);background:linear-gradient(180deg, #ffffff1f, transparent), var(--material);width:46px;height:32px;box-shadow:inset 0 -7px 0 var(--material-edge);transition:transform var(--dur-slow) var(--ease-out)}.room-materials button:hover i{transform:scale(1.04)}.room-materials button span{font-size:var(--fs-meta)}@media (max-width:1024px){.library-heading{grid-template-columns:1fr auto}.library-heading>p{grid-area:2/1/auto/-1}.room-scene{min-height:600px}.room-bookcase{width:min(400px,64%)}}@media (max-width:768px){.room-inner{width:calc(100% - 24px);padding-top:calc(84px + var(--safe-top));padding-bottom:calc(var(--space-8) + var(--safe-bottom))}.room-topline{align-items:stretch}.room-customize-toggle,.library-back{min-height:var(--control-height);border:1px solid var(--line-1);border-radius:var(--r-md);background:#fff6f00d;padding:0 10px}.library-heading{margin-top:var(--space-6);display:block}.library-heading>p{margin-top:var(--space-5)}.library-login{width:100%;margin-top:var(--space-5)}.room-scene{min-height:540px}.room-bookcase{width:min(330px,84%);height:min(80%,420px);margin-bottom:12%}.room-books{transform-origin:bottom;transform:scale(.82)}.room-cabinet{height:98px}.room-customizer{top:calc(76px + var(--safe-top));width:calc(100vw - 24px);max-height:calc(100dvh - 92px - var(--safe-top) - var(--safe-bottom));right:12px}}@media (max-width:560px){.room-bookcase{width:min(300px,90%)}.room-book{width:var(--room-book-width)}.room-book__volume,.room-book.is-owned:hover .room-book__volume,.room-book.is-owned:focus-visible .room-book__volume,.room-book.is-locked:hover .room-book__volume,.room-book.is-locked:focus-visible .room-book__volume{transform:translate(-50%)rotateY(-90deg)}.room-book.is-owned:active .room-book__volume,.room-book.is-locked:active .room-book__volume{transform:translate(-50%)rotateY(-90deg)scale(.95)}.room-book.is-owned:hover+.room-book,.room-book.is-owned:focus-visible+.room-book{transform:none}.room-book:has(+.room-book.is-owned:hover){transform:none}.room-book:has(+.room-book.is-owned:focus-visible){transform:none}.room-books{gap:4px;transform:scale(.82)}.room-books:before,.room-books:after,.room-book__action{display:none}}@media (max-width:420px){.room-scene{min-height:500px}.room-bookcase{height:min(80%,380px)}.room-books{transform:scale(.72)}.room-cabinet{height:84px}}@media (prefers-reduced-transparency:reduce){.room-customizer,.room-book__action{background:var(--surface-2);-webkit-backdrop-filter:none;backdrop-filter:none}}
.pdf-reader{z-index:70;background:radial-gradient(ellipse 70% 50% at 50% 0%, #4a3c3c6b, transparent 62%), var(--surface-0);min-height:100dvh;color:var(--text-1);font-family:var(--font-body);grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0;overflow:hidden}.reader-toolbar{z-index:4;align-items:center;gap:var(--space-5);height:68px;padding:0 var(--space-5);border-bottom:1px solid var(--line-1);background:color-mix(in srgb, var(--surface-1) 88%, transparent);box-shadow:var(--edge-top);-webkit-backdrop-filter:blur(20px)saturate(130%);grid-template-columns:minmax(140px,1fr) minmax(200px,1.4fr) minmax(180px,1fr);display:grid;position:relative}.reader-toolbar__close,.reader-toolbar__actions button,.reader-pagination button{border:1px solid var(--line-1);border-radius:var(--r-md);color:var(--text-1);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff6f00d}.reader-toolbar__close:hover,.reader-toolbar__actions button:not(:disabled):hover,.reader-pagination button:not(:disabled):hover{border-color:var(--line-3);background:#fff6f01c}.reader-toolbar__close:active,.reader-toolbar__actions button:not(:disabled):active,.reader-pagination button:not(:disabled):active{transform:scale(.93)}.reader-toolbar__close{width:max-content;min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:0 var(--space-3);font-size:var(--fs-meta);display:inline-flex}.reader-toolbar__close svg{transition:transform var(--dur-slow) var(--ease-out);flex:none}.reader-toolbar__close:hover svg{transform:rotate(90deg)}.reader-toolbar__title{text-align:center;min-width:0}.reader-toolbar__title span,.reader-toolbar__title strong{display:block}.reader-toolbar__title span{color:var(--text-4);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;margin-bottom:3px}.reader-toolbar__title strong{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:var(--track-tight);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.reader-toolbar__actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.reader-toolbar__actions button{place-items:center;width:38px;height:38px;display:grid}.reader-toolbar__actions button:disabled{cursor:not-allowed;opacity:.34}.reader-toolbar__actions>span{width:44px;color:var(--text-3);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;text-align:center}.reader-toolbar__notes{position:relative}.reader-toolbar__notes.is-active{border-color:var(--accent-line);background:var(--accent-soft)}.reader-toolbar__notes small{border:2px solid var(--surface-1);border-radius:var(--r-pill);background:var(--accent);min-width:17px;height:17px;color:var(--accent-ink);font-size:var(--fs-micro);place-items:center;padding:0 4px;font-weight:600;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.reader-workspace{--rail:96px;min-height:0;position:relative;overflow:hidden}.reader-stage{inset:var(--space-5) calc(var(--rail) + var(--space-4) + var(--space-5)) 76px;overscroll-behavior:contain;perspective:2400px;perspective-origin:50% 42%;place-items:safe center;display:grid;position:absolute;overflow:auto}.reader-book{width:calc(min(1080px, 100%, 128vh) * var(--reader-zoom));aspect-ratio:var(--spread-ratio);transform-style:preserve-3d;transition:width var(--dur-slow) var(--ease-out);flex:none;grid-template-columns:1fr 1fr;display:grid;position:relative;box-shadow:0 30px 62px #06040480}.reader-book:before,.reader-book:after{background:linear-gradient(90deg, var(--sheet-edge), var(--sheet-shade) 40%, color-mix(in srgb, var(--sheet-edge) 88%, black));content:"";border-radius:2px;width:12px;position:absolute;top:6px;bottom:-7px;box-shadow:0 10px 24px #06040480}.reader-book:before{left:-10px;transform:skewY(2deg)}.reader-book:after{right:-10px;transform:skewY(-2deg)}.reader-page{background:var(--sheet);position:relative;overflow:hidden}.reader-page--left{border-radius:3px 0 0 3px}.reader-page--right{border-radius:0 3px 3px 0}.reader-page.is-blank{background:linear-gradient(180deg, var(--sheet-shade), color-mix(in srgb, var(--sheet-shade) 82%, var(--sheet-edge)))}.reader-page__bitmap{object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.reader-page:after{content:"";pointer-events:none;width:8%;position:absolute;top:0;bottom:0}.reader-page--left:after{background:linear-gradient(90deg,#0000,#3c282224);right:0}.reader-page--right:after{background:linear-gradient(270deg,#0000,#3c282224);left:0}.reader-page__folio{z-index:3;color:#1a1a1a99;font-size:var(--fs-micro);font-variant-numeric:tabular-nums;pointer-events:none;position:absolute;bottom:3%;right:5%}.reader-page--left .reader-page__folio{left:5%;right:auto}.reader-gutter{z-index:2;pointer-events:none;background:linear-gradient(90deg,#3c282205,#3c282238 46%,#ffffff80 52%,#3c28220d);width:clamp(18px,2.4vw,40px);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.reader-page__marks{z-index:1;pointer-events:none;position:absolute;inset:0}.reader-mark{background:color-mix(in srgb, var(--mark) 30%, transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--mark) 62%, transparent);mix-blend-mode:multiply;transition:background-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);border-radius:2px;position:absolute}.reader-mark.is-active{background:color-mix(in srgb, var(--mark) 46%, transparent);box-shadow:inset 0 -2px 0 var(--mark)}.textLayer{--total-scale-factor:1;--scale-round-x:1px;--scale-round-y:1px;z-index:2;text-align:initial;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;line-height:1;position:absolute;top:0;left:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer ::selection{background:#ff2e9357}.reader-leaf{z-index:5;opacity:0;width:50%;transform-style:preserve-3d;visibility:hidden;will-change:transform;pointer-events:none;position:absolute;top:0;bottom:0}.reader-leaf.is-forward{transform-origin:0;left:50%}.reader-leaf.is-backward{transform-origin:100%;left:0}.reader-leaf__face{background:var(--sheet);backface-visibility:hidden;object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.reader-leaf__back{transform:rotateY(180deg)}.reader-leaf__shade{opacity:0;will-change:opacity;pointer-events:none;background:linear-gradient(90deg,#140c0c8c,#140c0c24);position:absolute;inset:0}.reader-thumbnails{top:var(--space-5);bottom:var(--space-5);left:var(--space-4);z-index:3;width:var(--rail);align-content:center;gap:10px;display:grid;position:absolute;overflow:hidden auto}.reader-thumbnails button{border-radius:var(--r-sm);color:inherit;cursor:pointer;opacity:.48;transition:border-color var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), transform var(--dur-slow) var(--ease-out);background:0 0;border:1px solid #0000;grid-template-columns:48px 20px;align-items:end;gap:6px;padding:4px;display:grid}.reader-thumbnails button:hover{opacity:.85;transform:translate(4px)}.reader-thumbnails button:active{transform:translate(4px)scale(.96)}.reader-thumbnails button[aria-current=page]{border-color:var(--accent-line);opacity:1;transform:translate(4px)}.reader-thumbnails button[aria-current=page] small{color:var(--accent)}.reader-thumbnails button>span{aspect-ratio:612/792;width:48px;box-shadow:var(--shadow-1);background-position:50%;background-size:cover;border-radius:2px}.reader-thumbnails small{color:var(--text-4);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;text-align:right;transition:color var(--dur-base) var(--ease-out);padding-bottom:2px;line-height:1}.reader-pagination{right:0;bottom:var(--space-5);z-index:4;justify-content:center;align-items:center;gap:var(--space-4);display:flex;position:absolute;left:0}.reader-pagination button{width:var(--control-height);height:var(--control-height);place-items:center;display:grid}.reader-pagination button:disabled{cursor:not-allowed;opacity:.3}.reader-pagination p{justify-content:center;align-items:baseline;gap:4px;width:56px;margin:0;display:flex}.reader-pagination strong{font-family:var(--font-display);font-size:var(--fs-title);font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight);font-weight:700}.reader-pagination span{color:var(--text-4);font-size:var(--fs-micro);font-variant-numeric:tabular-nums}.reader-selection{top:var(--y);left:clamp(124px, var(--x), calc(100vw - 124px));z-index:80;border:1px solid var(--line-2);border-radius:var(--r-md);background:color-mix(in srgb, var(--surface-2) 94%, transparent);box-shadow:var(--edge-top), var(--shadow-3);animation:reader-selection-in var(--dur-base) var(--ease-out) both;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);align-items:center;gap:5px;padding:5px;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 12px))}.reader-selection.is-below{animation-name:reader-selection-in-below;transform:translate(-50%,12px)}@keyframes reader-selection-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))scale(.96)}to{opacity:1;transform:translate(-50%,calc(-100% - 12px))scale(1)}}@keyframes reader-selection-in-below{0%{opacity:0;transform:translate(-50%,4px)scale(.96)}to{opacity:1;transform:translate(-50%,12px)scale(1)}}.reader-selection__color{background:var(--mark);cursor:pointer;width:26px;height:26px;transition:transform var(--dur-fast) var(--ease-out);border:1px solid #fff6f03d;border-radius:50%}.reader-selection__color:hover{transform:scale(1.14)}.reader-selection__color:active{transform:scale(.94)}.reader-selection__note{border-radius:var(--r-sm);height:30px;color:var(--text-1);cursor:pointer;font-size:var(--fs-micro);white-space:nowrap;transition:background-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff6f014;border:0;align-items:center;gap:6px;margin-left:3px;padding:0 11px;font-weight:600;display:inline-flex}.reader-selection__note:hover{background:#fff6f029}.reader-selection__note:active{transform:scale(.95)}.reader-notes{z-index:6;gap:var(--space-3);width:min(340px,88vw);padding:var(--space-5);border-left:1px solid var(--line-2);background:color-mix(in srgb, var(--surface-1) 96%, transparent);box-shadow:var(--shadow-3);opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-surface) var(--ease-out), visibility var(--dur-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;display:flex;position:absolute;top:68px;bottom:0;right:0;transform:translate(100%)}.reader-notes.is-open{opacity:1;visibility:visible;transform:translate(0)}.reader-notes__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-1);display:flex}.reader-notes__head strong{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:var(--track-tight);font-weight:600;display:block}.reader-notes__head span{color:var(--text-4);font-size:var(--fs-micro);margin-top:3px;display:block}.reader-notes__head button{border:1px solid var(--line-1);border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-1);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:#fff6f00d;flex:none;place-items:center;display:grid}.reader-notes__head button:hover{background:#fff6f01f}.reader-notes__head button:active{transform:scale(.9)}.reader-notes__add{border:1px dashed var(--line-2);border-radius:var(--r-md);min-height:36px;color:var(--text-3);cursor:pointer;font-size:var(--fs-meta);transition:border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:7px;display:inline-flex}.reader-notes__add:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text-1)}.reader-notes__empty{margin:var(--space-4) 0 0;color:var(--text-4);font-size:var(--fs-meta);line-height:1.55}.reader-notes__list{align-content:start;gap:var(--space-3);flex:1;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.reader-notes__list li{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line-1);border-radius:var(--r-md);transition:border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);background:#fff6f008;display:grid}.reader-notes__list li.is-active{border-color:var(--accent-line);background:var(--accent-soft)}.reader-notes__meta{align-items:center;gap:var(--space-2);display:flex}.reader-notes__dot{background:var(--mark);border-radius:50%;flex:none;width:9px;height:9px}.reader-notes__jump{color:var(--text-3);cursor:pointer;font-size:var(--fs-micro);letter-spacing:var(--track-label);text-align:left;text-transform:uppercase;transition:color var(--dur-base) var(--ease-out);background:0 0;border:0;flex:1;padding:0;font-weight:600}.reader-notes__jump:hover{color:var(--text-1)}.reader-notes__delete{border-radius:var(--r-xs);width:26px;height:26px;color:var(--text-4);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:none;place-items:center;display:grid}.reader-notes__delete:hover{color:var(--text-1);background:#fff6f014}.reader-notes__delete:active{transform:scale(.88)}.reader-notes blockquote{padding-left:var(--space-3);border-left:2px solid var(--line-2);color:var(--text-2);font-size:var(--fs-meta);margin:0;line-height:1.5}.reader-notes textarea{width:100%;padding:var(--space-2) 10px;border:1px solid var(--line-1);border-radius:var(--r-sm);color:var(--text-1);font-family:var(--font-body);font-size:var(--fs-meta);resize:vertical;transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);background:#0a060647;outline:0;line-height:1.5}.reader-notes textarea::placeholder{color:var(--text-4)}.reader-notes textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.reader-loading,.reader-error{text-align:center;place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.reader-loading{gap:2px var(--space-2);grid-template-columns:auto auto}.reader-loading__page{aspect-ratio:612/792;background:linear-gradient(105deg, var(--surface-2) 28%, var(--surface-4) 42%, var(--surface-2) 58%);width:min(240px,30vw);box-shadow:var(--shadow-3);animation:reader-shimmer 1.4s var(--ease-in-out) infinite;background-size:220% 100%;border-radius:3px}.reader-loading__page:last-of-type{animation-delay:.18s}.reader-loading p{margin-top:var(--space-4);color:var(--text-3);font-size:var(--fs-meta);grid-column:1/-1}.reader-error h2{font-family:var(--font-display);font-size:var(--fs-heading);letter-spacing:var(--track-tight);margin:0;font-weight:700}.reader-error p{margin:10px 0 var(--space-5);color:var(--text-3);font-size:var(--fs-sm)}.reader-error button{min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);cursor:pointer;font-size:var(--fs-meta);transition:box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;font-weight:600}.reader-error button:hover{box-shadow:var(--shadow-accent)}.reader-error button:active{transform:scale(.97)}@keyframes reader-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width:1024px){.reader-thumbnails{display:none}.reader-stage{inset:var(--space-4) var(--space-4) calc(72px + var(--safe-bottom))}.reader-book{width:min(560px,100%,70vh);aspect-ratio:var(--page-ratio);grid-template-columns:1fr}.reader-book:before,.reader-book:after,.reader-gutter,.reader-leaf,.reader-page--left{display:none}.reader-page--right{border-radius:3px}.reader-page:after{display:none}}@media (max-width:768px){.reader-toolbar{height:calc(60px + var(--safe-top));gap:var(--space-2);padding:var(--safe-top) 10px 0;grid-template-columns:auto 1fr auto}.reader-toolbar__close{justify-content:center;padding:0;font-size:0}.reader-toolbar__title span{display:none}.reader-toolbar__title strong{font-size:var(--fs-sm)}.reader-toolbar__actions>span{display:none}.reader-toolbar__actions{gap:3px}.reader-notes{top:calc(60px + var(--safe-top));width:100%;padding-bottom:calc(var(--space-5) + var(--safe-bottom))}.reader-pagination{bottom:calc(var(--space-4) + var(--safe-bottom))}}@media (pointer:coarse){.reader-toolbar__close,.reader-toolbar__actions button{width:44px;height:44px;min-height:44px}.reader-pagination button{width:48px;height:48px}.reader-notes__head button,.reader-notes__delete{width:40px;height:40px}.reader-notes__add{min-height:44px}.reader-selection__color{width:34px;height:34px}.reader-selection__note{height:38px;padding:0 14px}}@media (prefers-reduced-motion:reduce){.reader-loading__page{animation:none}}@media (prefers-reduced-transparency:reduce){.reader-toolbar,.reader-notes,.reader-selection{background:var(--surface-1);-webkit-backdrop-filter:none;backdrop-filter:none}}
