:root{color-scheme:light;--color-background:#f6ecda;--color-surface:#fdf9f2;--color-elevated:#fff;--color-primary:#3db43b;--color-primary-hover:#32a030;--color-primary-light:#e8f5e8;--color-primary-dark:#2a8a28;--color-text:#2d2a1f;--color-text-muted:#6b6b5a;--color-text-light:#8b8b7a;--color-border:rgba(61,180,59,.15);--color-border-light:rgba(61,180,59,.08);--color-success:#3db43b;--color-success-light:#e8f5e8;--radius-sm:12px;--radius-lg:20px;--shadow-soft:0 20px 40px -28px rgba(45,42,31,.25);--shadow-card:0 18px 40px -32px rgba(45,42,31,.35);--font-sans:"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-size-h1:1.8rem;--font-size-h2:1.4rem;--font-size-h3:1.2rem;--font-size-body:1rem;--font-size-small:0.875rem;--font-size-caption:0.75rem;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.6}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-normal);background:var(--color-background);color:var(--color-text);min-height:100%}body{display:flex;flex-direction:column}a{color:inherit}a:hover{color:var(--color-primary)}main{flex:1 1}.container{width:min(1100px,100% - var(--spacing-xl));margin:0 auto;padding:var(--spacing-xl) 0}@media (max-width:640px){.container{width:min(700px,100% - var(--spacing-lg));padding:var(--spacing-lg) 0}}.surface{background:var(--color-surface);box-shadow:var(--shadow-soft)}.card,.surface{border-radius:var(--radius-lg)}.card{background:var(--color-elevated);padding:var(--spacing-xl);box-shadow:var(--shadow-card);border:1px solid hsla(0,0%,100%,.7)}@media (max-width:768px){.card{padding:var(--spacing-lg)}}.stack{gap:var(--spacing-md)}.stack,.stack-sm{display:flex;flex-direction:column}.button,.stack-sm{gap:var(--spacing-sm)}.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-body);border-radius:var(--radius-sm);border:2px solid var(--color-primary);background:var(--color-primary);color:#fff;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.button:focus-visible:not(:disabled),.button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button.secondary{background:transparent;color:var(--color-primary);border-color:var(--color-border)}.button.secondary:focus-visible:not(:disabled),.button.secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-light)}.input{width:100%;padding:16px 18px;border-radius:var(--radius-sm);border:2px solid var(--color-border);font-size:1rem;background:var(--color-elevated);line-height:1.4;transition:border-color .2s ease,box-shadow .2s ease}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}label span{font-weight:600;color:var(--color-text)}h1,h2,h3{margin:0 0 var(--spacing-md);font-weight:800;line-height:var(--line-height-tight);letter-spacing:-.01em}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}p{margin:0;color:var(--color-text-muted)}.tag{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary-light);border-radius:999px;font-size:var(--font-size-small);font-weight:600;color:var(--color-primary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tab-group{display:inline-flex;gap:0;border-radius:999px;padding:4px;background:var(--color-elevated);border:2px solid var(--color-primary-light)}.tab-button{border-radius:999px;border:none;padding:var(--spacing-sm) var(--spacing-lg);font-weight:700;font-size:var(--font-size-small);cursor:pointer;background:transparent;color:var(--color-text-muted);transition:background .2s ease;text-decoration:none}.tab-button[aria-pressed=true]{background:var(--color-primary-light);color:var(--color-primary-dark);box-shadow:0 6px 16px -12px rgba(61,180,59,.2)}.tab-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.catalog-board{display:block}.catalog-board__surface{display:flex;flex-direction:column;gap:clamp(var(--spacing-lg),4vw,var(--spacing-xxl));padding:clamp(24px,5vw,48px);border-radius:calc(var(--radius-lg) + 8px);background:radial-gradient(120% 90% at 100% 0,rgba(61,180,59,.08),transparent 55%),radial-gradient(85% 80% at 0 100%,rgba(232,245,232,.12),transparent 65%),linear-gradient(140deg,hsla(38,73%,97%,.96),hsla(38,36%,96%,.94));border:1px solid hsla(38,73%,97%,.72);box-shadow:0 42px 90px -52px rgba(43,16,6,.55);position:relative;overflow:hidden}.catalog-board__header{display:flex;align-items:center;justify-content:space-between;gap:clamp(var(--spacing-md),3vw,var(--spacing-xl));min-height:100px}.catalog-board__header-copy{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:min(520px,100%);min-height:80px;justify-content:center}.catalog-board__eyebrow{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:rgba(94,61,119,.72)}.catalog-board__title{margin:0;font-size:1.8rem;letter-spacing:-.02em;color:var(--color-text);line-height:1.2;min-height:2.4rem}.catalog-board__subtitle{margin:0;color:var(--color-text-muted);font-size:1rem;line-height:1.4;min-height:2.8rem}.catalog-board__tabs{flex-shrink:0;display:flex;align-items:center}.catalog-board__tabs--mobile{display:none;justify-content:center;padding:var(--spacing-md) 0 0}.catalog-board__tabs--desktop{display:flex}.catalog-board__notice{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--spacing-md);gap:var(--spacing-md);align-items:center;padding:clamp(18px,3vw,26px);border-radius:var(--radius-lg);background:var(--color-primary-light);border:1px solid var(--color-border)}.catalog-board__notice-icon{font-size:1.6rem;filter:drop-shadow(0 10px 18px rgba(61,180,59,.25))}.catalog-board__notice-copy{display:flex;flex-direction:column;gap:var(--spacing-sm)}.catalog-board__notice-copy p{color:var(--color-text-muted)}.catalog-board__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:clamp(var(--spacing-md),3vw,var(--spacing-xl));gap:clamp(var(--spacing-md),3vw,var(--spacing-xl));position:relative}.catalog-card{display:flex;flex-direction:column;align-items:stretch;padding:clamp(20px,3.5vw,28px);border-radius:calc(var(--radius-lg) - 4px);background:transparent;border:none;box-shadow:none;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;position:relative;overflow:hidden}.catalog-card:hover{transform:translateY(-6px)}.catalog-card:focus-within{transform:translateY(-4px)}.catalog-card__link{display:flex;flex-direction:column;gap:var(--spacing-sm);text-decoration:none;color:inherit;height:100%;position:relative;z-index:1}.catalog-card__cover-shell{position:relative;border-radius:calc(var(--radius-lg) - 6px);overflow:visible;border:1px solid transparent;box-shadow:inset 0 -28px 44px -28px rgba(67,32,108,.7),inset 0 22px 30px -32px hsla(0,0%,100%,.8),0 16px 36px -26px rgba(40,13,6,.55);transition:transform .28s ease}.catalog-card__cover-shell--tagged{border-color:var(--color-primary);box-shadow:inset 0 -28px 44px -28px rgba(61,180,59,.3),inset 0 22px 30px -32px hsla(0,0%,100%,.8),0 18px 40px -30px rgba(61,180,59,.25)}.catalog-card__cover-shell--owned{border-color:var(--color-text-muted);box-shadow:inset 0 -28px 44px -28px hsla(60,9%,39%,.2),inset 0 22px 30px -32px hsla(0,0%,100%,.8),0 18px 40px -30px hsla(60,9%,39%,.15)}.catalog-card__cover{border-radius:inherit;background:radial-gradient(circle at 20% 20%,rgba(61,180,59,.15),transparent 60%),linear-gradient(145deg,rgba(61,180,59,.1),rgba(232,245,232,.8));overflow:hidden;color:var(--color-text-muted);font-size:.78rem;letter-spacing:.1em;transition:transform .28s ease;position:relative;width:100%;aspect-ratio:400/582;display:flex;align-items:center;justify-content:center}.catalog-card__cover--image{background:none}.catalog-card__cover-img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.catalog-card__title{margin:0;font-size:clamp(.92rem,1.4vw,1.02rem);font-weight:500;letter-spacing:-.002em;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:calc(1.4em * 2);line-height:1.4;text-align:center}.catalog-card__link:focus-visible{outline:3px solid rgba(138,98,209,.45);outline-offset:6px;border-radius:calc(var(--radius-lg) - 2px)}.catalog-card:focus-within .catalog-card__cover-shell,.catalog-card:hover .catalog-card__cover-shell{transform:translateY(-2px)}.catalog-card__badge{position:absolute;bottom:100%;left:18px;display:inline-flex;align-items:center;justify-content:center;padding:3px 11px 4px;border-radius:12px 12px 0 0;background:radial-gradient(140% 200% at 50% -40%,hsla(0,0%,100%,.45),transparent 65%),linear-gradient(195deg,var(--color-primary) 0,var(--color-primary-dark) 95%);color:#fff;font-size:.5rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 16px -14px rgba(61,180,59,.4),inset 0 1px 0 hsla(0,0%,100%,.42);pointer-events:none}.catalog-card__badge--owned{background:var(--color-text-muted);color:var(--color-surface);box-shadow:0 4px 8px -8px hsla(60,9%,39%,.3),inset 0 1px 0 hsla(0,0%,100%,.2)}.catalog-card__badge:after,.catalog-card__badge:before{content:none}.catalog-card__owned{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:var(--font-size-small);font-weight:600;color:rgba(35,116,96,.95)}.catalog-board__empty{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:flex-start;padding:clamp(24px,4vw,32px);border-radius:calc(var(--radius-lg) - 4px);background:hsla(0,0%,100%,.86);border:1px solid hsla(0,0%,100%,.7);box-shadow:0 22px 60px -44px rgba(37,13,6,.45)}.catalog-board__empty h2{margin:0;font-size:1.4rem}.catalog-board__empty p{margin:0;color:var(--color-text-muted)}@media (max-width:720px){.catalog-board__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width:540px){.catalog-board__surface{padding:clamp(20px,8vw,32px);gap:var(--spacing-xl)}.catalog-board__header{gap:var(--spacing-lg)}.catalog-board__tabs--desktop{display:none}.catalog-board__tabs--mobile{display:flex}.catalog-board__notice{grid-template-columns:1fr;gap:var(--spacing-sm);text-align:center}.catalog-board__notice-copy{align-items:center}.catalog-card{gap:var(--spacing-md)}.catalog-card__title{min-height:auto}}@media (max-width:360px){.catalog-board__grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-md)}.catalog-board__surface{padding:clamp(16px,6vw,24px)}.catalog-board__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md);min-height:auto}.catalog-board__header-copy{min-height:auto}.catalog-board__title{font-size:1.4rem;min-height:auto}.catalog-board__subtitle{font-size:.9rem;min-height:auto}.catalog-card{padding:clamp(16px,4vw,20px)}.container{width:100%;padding:var(--spacing-md) var(--spacing-sm)}.site-header .container.site-header__inner,.site-header__inner{padding:clamp(12px,3vw,16px) var(--spacing-sm)!important}.site-footer .container.site-footer__inner,.site-footer__inner{padding:clamp(20px,4vw,28px) var(--spacing-sm) clamp(28px,5vw,40px)!important}.card,.info-banner{padding:var(--spacing-md)}.info-banner{flex-direction:column;gap:var(--spacing-sm)}.book-hero{gap:var(--spacing-md)}.reader-page-card{padding:var(--spacing-sm)!important}main:has(.reader-page-card)>.container{padding:var(--spacing-xs)!important}.reader-content{font-size:.95rem}}.book-meta{display:grid;grid-template-columns:auto auto;grid-column-gap:var(--spacing-sm);column-gap:var(--spacing-sm);grid-row-gap:var(--spacing-xs);row-gap:var(--spacing-xs);font-size:var(--font-size-small)}.book-cover,.book-meta{color:var(--color-text-muted)}.book-cover{width:100%;aspect-ratio:400/582;border-radius:14px;background:linear-gradient(140deg,var(--color-primary-light),rgba(232,245,232,.6));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;overflow:hidden}.book-cover--with-image{background:none;display:block}.book-cover__img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.price-box{display:flex;align-items:baseline;gap:var(--spacing-sm);font-size:var(--font-size-body)}.price-box strong{font-size:var(--font-size-h3)}.price-old{color:rgba(0,0,0,.38);text-decoration:line-through}.info-banner{display:flex;gap:var(--spacing-md);align-items:flex-start;padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-sm);background:var(--color-primary-light);color:var(--color-text)}.reader-content{font-size:1.1rem;line-height:1.72;white-space:pre-wrap;color:var(--color-text)}.reader-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;grid-gap:28px;gap:28px;align-items:flex-start}.book-hero{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.reader-page-card{max-width:100%;margin:0}main:has(.reader-page-card)>.container{width:100%;padding:var(--spacing-md) var(--spacing-sm);max-width:100%}@media (min-width:640px){main:has(.reader-page-card)>.container{padding:var(--spacing-lg) var(--spacing-md);max-width:1000px}}@media (min-width:900px){main:has(.reader-page-card)>.container{padding:var(--spacing-xl) var(--spacing-lg);max-width:1100px}}@supports not selector(:has(*)){.reader-page-card{margin-left:calc(-1 * var(--spacing-xl));margin-right:calc(-1 * var(--spacing-xl));width:calc(100% + 2 * var(--spacing-xl));max-width:calc(100% + 2 * var(--spacing-xl))}@media (max-width:640px){.reader-page-card{margin-left:calc(-1 * var(--spacing-lg));margin-right:calc(-1 * var(--spacing-lg));width:calc(100% + 2 * var(--spacing-lg));max-width:calc(100% + 2 * var(--spacing-lg))}}}@media (max-width:900px){.reader-layout{grid-template-columns:1fr}}@media (max-width:540px){.button{width:100%}body{font-size:17px}.book-hero{grid-template-columns:1fr;gap:var(--spacing-lg)}.reader-page-card{padding:var(--spacing-md)!important;margin:0}.reader-content{font-size:1rem;line-height:1.6}main:has(.reader-page-card)>.container{padding:var(--spacing-sm) var(--spacing-xs)!important}.button .button-label{display:none}.compact-mobile{padding:10px!important;min-width:44px;min-height:44px;width:auto!important}.reader-slider{display:none}.admin-panel .card{padding:var(--spacing-lg)}.admin-panel .button{width:auto;font-size:.95rem;padding:10px 14px}.admin-panel .editable-row{flex-wrap:wrap;align-items:stretch}.admin-panel .editable-row .input{flex:1 1 100%;min-width:0}}.site-header{position:relative;z-index:100;background:hsla(38,73%,97%,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--color-border-light);box-shadow:0 16px 42px -28px rgba(45,42,31,.3)}.site-header .container.site-header__inner,.site-header__inner{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:clamp(16px,4vw,32px);gap:clamp(16px,4vw,32px);padding:16px var(--spacing-md)!important;width:min(1100px,100% - var(--spacing-xl));margin:0 auto}@media (min-width:640px){.site-header .container.site-header__inner,.site-header__inner{padding:18px var(--spacing-lg)!important;width:min(1100px,100% - var(--spacing-lg))}}@media (min-width:900px){.site-header .container.site-header__inner,.site-header__inner{padding:20px var(--spacing-xl)!important;width:min(1100px,100% - var(--spacing-xl))}}@media (max-width:640px){.site-header .container.site-header__inner,.site-header__inner{width:min(700px,100% - var(--spacing-lg))}}.site-header__brand{display:inline-flex;align-items:center;gap:var(--spacing-md);text-decoration:none;color:inherit}.site-header__logo{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;overflow:hidden;box-shadow:0 12px 30px -18px rgba(104,61,169,.75)}.site-header__logo img{width:100%;height:100%;object-fit:cover;border-radius:12px}.site-header__brand-copy{display:flex;flex-direction:column;gap:4px}.site-header__brand-title{font-weight:800;font-size:1.1rem;letter-spacing:-.01em}.site-header__brand-caption{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-text-muted)}.site-header__auth{justify-content:flex-end;min-width:0}.site-header__auth,.site-header__profile{display:flex;align-items:center;gap:var(--spacing-md)}.site-header__reader{display:flex;flex-direction:column;gap:4px;text-align:right}.site-header__reader-label{font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.18em;color:rgba(93,63,89,.7)}.site-header__reader-email{font-size:.95rem;color:var(--color-text);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-header__logout{margin:0}.site-header__action{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;border-radius:999px;background:var(--color-primary);color:#fff;font-weight:700;font-size:.96rem;text-decoration:none;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 14px 36px -24px rgba(116,68,177,.75)}.site-header__action:focus-visible,.site-header__action:hover{transform:translateY(-1px);background:var(--color-primary-hover);color:#fff;box-shadow:0 16px 40px -22px rgba(61,180,59,.4)}.site-header__action:focus-visible{outline:2px solid rgba(117,72,177,.5);outline-offset:2px}.site-header__action--ghost{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-border);box-shadow:none}.site-header__action--ghost:focus-visible,.site-header__action--ghost:hover{background:var(--color-primary-light);box-shadow:none;color:var(--color-primary)}.site-header__action--ghost:focus-visible{outline:2px solid rgba(117,72,177,.4);outline-offset:2px}@media (max-width:960px){.site-header .container.site-header__inner,.site-header__inner{grid-template-columns:auto;gap:var(--spacing-md);align-items:stretch}.site-header__auth{justify-content:flex-start;flex-wrap:wrap}.site-header__reader{text-align:left}}@media (max-width:540px){.site-header__brand{gap:var(--spacing-sm)}.site-header__logo{width:42px;height:42px;font-size:.92rem}.site-header__brand-title{font-size:1rem}.site-header__brand-caption{font-size:.75rem;letter-spacing:.16em}.site-header__auth{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.site-header__profile{justify-content:space-between}.site-header__reader{width:100%}.site-header__reader-email{max-width:100%}.site-header__action,.site-header__action--ghost{width:100%}}.site-footer{background:hsla(38,73%,97%,.95);border-top:1px solid var(--color-border-light);margin-top:var(--spacing-xxl)}.site-footer .container.site-footer__inner,.site-footer__inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:var(--spacing-lg);gap:var(--spacing-lg);padding:32px var(--spacing-md) 48px!important;width:min(1100px,100% - var(--spacing-xl));margin:0 auto}@media (min-width:640px){.site-footer .container.site-footer__inner,.site-footer__inner{padding:36px var(--spacing-lg) 52px!important;width:min(1100px,100% - var(--spacing-lg))}}@media (min-width:900px){.site-footer .container.site-footer__inner,.site-footer__inner{padding:40px var(--spacing-xl) 56px!important;width:min(1100px,100% - var(--spacing-xl))}}@media (max-width:640px){.site-footer .container.site-footer__inner,.site-footer__inner{width:min(700px,100% - var(--spacing-lg))}}.text-muted{color:var(--color-text-muted)}.fine-print{font-size:var(--font-size-caption);color:rgba(65,52,50,.72);display:grid;grid-gap:var(--spacing-xs);gap:var(--spacing-xs)}.link-quiet{color:inherit;text-decoration:none}.link-quiet:hover{text-decoration:underline}input[type=checkbox].custom-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid #2d2a1f;border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:all .2s ease}input[type=checkbox].custom-checkbox:hover{border-color:var(--color-primary)}input[type=checkbox].custom-checkbox:checked{border-color:var(--color-primary);background:transparent}input[type=checkbox].custom-checkbox:checked:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:8px;border:solid var(--color-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox].custom-checkbox:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}