@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,system-ui,sans-serif;color:#352942;background:#fbf8fd;font-size:16px;--purple:#7756a3;--pink:#e4a0b9;--line:#e9e0ef;--muted:#7b7186}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:13px;padding:12px 18px;font-weight:700;color:inherit;transition:background .18s,transform .18s}button:hover{filter:brightness(.97);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b088d4;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #b898d2;outline-offset:1px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;color:#352942;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9a90a3}.primary{background:var(--purple);color:white;box-shadow:0 6px 16px #7756a31f}.soft{background:#f0e8f6;color:#674884}.text-button{background:transparent;color:var(--muted);font-size:.875rem}.danger{background:#ffedf1;color:#a74060}.icon{background:#f4eef7;font-size:1.6rem;line-height:1;padding:8px 13px}.top{max-width:1240px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 32px;border-bottom:1px solid var(--line)}.brand{font-family:Comfortaa,sans-serif;font-size:1.55rem;font-weight:700;text-decoration:none;color:#61457e;white-space:nowrap}.brand span{font:500 .8rem Manrope,sans-serif;color:var(--muted);display:block;padding-left:39px;margin-top:3px}.account{display:flex;align-items:center;gap:8px}.account #profile{background:#f2eaf7;color:#7756a3}.account #profile::before{content:'♡';margin-right:8px}main{max-width:1240px;margin:auto;padding:30px 32px 0}.welcome{position:relative;overflow:hidden;background:linear-gradient(105deg,#eee4f7,#f6e8ef);border:1px solid #e9dbf0;border-radius:28px;min-height:295px;padding:32px 40px;display:flex;align-items:center}.welcome>div{z-index:1;width:62%}.eyebrow{font-size:.7rem;letter-spacing:.15em;font-weight:800;color:#90749d;margin:0 0 13px}h1,h2,h3{font-family:Comfortaa,sans-serif;font-weight:700}h1{font-size:2.7rem;line-height:1.3;letter-spacing:-.06em;margin:0 0 14px}h1 em{font-style:normal;color:var(--purple)}.welcome p:not(.eyebrow){color:#81718b;font-size:.9rem;margin:0 0 22px}.welcome img{position:absolute;right:0;top:0;height:100%;width:43%;object-fit:cover;object-position:50% 48%;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,black 18%)}.love-note{position:absolute;right:40px;bottom:20px;background:#fff8;border:1px solid #fff9;backdrop-filter:blur(8px);padding:9px 17px;border-radius:30px;color:#7f527f;font-size:.8rem;transform:rotate(-5deg)}.collection{padding-top:36px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-heading h2{font-size:1.65rem;margin:0}.section-heading .eyebrow{margin-bottom:8px}.tabs{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}.tabs button{white-space:nowrap;background:transparent;border-radius:0;font-size:.9rem;padding:13px 0;color:var(--muted);border-bottom:3px solid transparent}.tabs button.active{border-bottom-color:var(--purple);color:var(--purple)}.tabs b{background:#ede5f3;border-radius:7px;padding:2px 6px;margin-left:6px;font-size:.7rem}.filters{display:flex;justify-content:space-between;gap:15px;margin-top:22px;flex-wrap:wrap}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips button{padding:9px 13px;background:transparent;border:1px solid var(--line);font-size:.8rem;border-radius:24px;font-weight:600}.chips button.active{background:#7756a3;border-color:#7756a3;color:#fff}.search-sort{display:flex;gap:9px;max-width:440px}.search-sort input{max-width:235px}.search-sort input,.search-sort select{font-size:.8rem;padding:10px}.muted{color:var(--muted);font-size:.85rem}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card{text-align:left;padding:0;border:1px solid var(--line);border-radius:19px;background:#fff;overflow:hidden;min-width:0;box-shadow:0 4px 12px #44225f04}.card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #67488416}.poster{aspect-ratio:3/3.7;position:relative;background:linear-gradient(145deg,#e7dced,#fbe8ee);overflow:hidden;display:grid;place-items:center}.poster img{width:100%;height:100%;object-fit:cover;position:absolute}.poster .placeholder{font-size:3rem;opacity:.6}.badge{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:8px;background:#fffffff0;color:#725789;font-size:.7rem;z-index:1}.card-body{padding:16px}.card h3{font-family:Manrope,sans-serif;font-size:1rem;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .meta{font-size:.75rem;color:var(--muted);font-weight:500;margin:0 0 12px}.progress-track{height:5px;background:#eee7f3;border-radius:5px;overflow:hidden}.progress-track>span{height:100%;display:block;background:#b193c9;border-radius:5px}.card .progress-label{font-size:.75rem;color:#8b779d;margin:7px 0 12px;font-weight:500}.ratings{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #f0eaf4;padding-top:10px}.ratings span{font-size:.75rem;color:#8a718e;font-weight:500}.empty{text-align:center;border:1px dashed #d9c9e6;border-radius:24px;margin:22px 0 10px;padding:45px 20px;background:#f6eff966}.empty-paw{font-size:2.5rem;opacity:.7}.empty h3{font-size:1.2rem}.empty p{color:var(--muted);line-height:1.7;font-size:.9rem}.empty .primary{margin-top:8px}footer{padding:40px 0;text-align:center;font-size:.75rem;color:#a190ae}footer span{color:#d39db9;padding-left:8px}dialog{width:min(720px,calc(100% - 28px));border:1px solid var(--line);border-radius:24px;padding:26px;color:inherit;box-shadow:0 30px 100px #36204840;max-height:92dvh}dialog::backdrop{background:#36244870;backdrop-filter:blur(5px)}dialog h2{font-size:1.35rem;margin:0 0 20px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dialog-head h2{margin-bottom:22px}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:14px}label>input,label>select,label>textarea{margin-top:7px}.link-row{display:flex;gap:8px;margin-top:7px}.link-row button{white-space:nowrap;font-size:.8rem}.hint{font-size:.8rem;line-height:1.6;color:var(--muted);margin-top:-5px}.editor-content{display:grid;grid-template-columns:125px 1fr;gap:20px;margin:22px 0 8px}.cover-preview{background:#f2e8f6;border:1px solid var(--line);border-radius:15px;overflow:hidden;align-self:start;aspect-ratio:2/3;display:grid;place-items:center}.cover-preview img{width:100%;height:100%;object-fit:cover}.cover-preview span{font-size:2rem;text-align:center}.cover-preview small{display:block;font:500 .7rem Manrope,sans-serif;color:var(--muted);margin-top:10px}.two,.three{display:grid;gap:12px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}fieldset{border:1px solid var(--line);border-radius:15px;padding:18px;margin:18px 0}legend{font-family:Comfortaa,sans-serif;font-size:.9rem;font-weight:700;padding:0 8px}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}.dialog-actions #delete{margin-right:auto}.partner-review{padding:12px;border-radius:12px;background:#f5eef8;font-size:.85rem;white-space:pre-wrap}.partner-review:empty{display:none}.error{color:#b2385f;font-size:.85rem}.error:empty{display:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#4e385f;color:white;border-radius:15px;padding:14px 24px;z-index:100;box-shadow:0 6px 25px #35294230;max-width:90%;font-size:.9rem;display:none}.loading{padding:25vh 20px;text-align:center;color:var(--purple)}.login{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr;max-width:1400px;margin:auto}.login-art{margin:32px;border-radius:32px;background:#efdfed;position:relative;overflow:hidden}.login-art img{width:100%;height:100%;object-fit:cover;position:absolute}.login-art span{position:absolute;bottom:40px;left:0;right:0;text-align:center;color:white;text-shadow:0 2px 15px #694868;font-family:Comfortaa,sans-serif}.login-form{align-self:center;max-width:420px;padding:40px 30px;width:100%;justify-self:center}.login-form .brand{margin-bottom:60px}.login-form h1{font-size:2.7rem}.login-form .muted{line-height:1.8;margin-bottom:30px}.login-form .primary{width:100%;margin-top:5px}.login-form .primary span{float:right}.login-form .eyebrow{font-size:.65rem}[hidden]{display:none!important}@media(min-width:1600px){.welcome{min-height:320px}}@media(max-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome{padding:28px}.welcome h1{font-size:2.2rem}.welcome .eyebrow{font-size:.6rem}.tabs{gap:20px}.search-sort{max-width:none}.login-art{margin:18px}}@media(max-width:600px){.top{padding:18px}.brand{font-size:1.25rem}.brand span{font-size:.65rem;padding-left:30px}.account{gap:0}.account button{font-size:.75rem;padding:9px}.account #profile{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{padding:18px 16px 0}.welcome{padding:24px 20px;min-height:250px;border-radius:22px}.welcome>div{width:78%}.welcome img{width:47%;opacity:.6;mask-image:linear-gradient(90deg,transparent,black 60%)}.welcome h1{font-size:1.8rem}.welcome p:not(.eyebrow){font-size:.8rem;max-width:215px;line-height:1.6}.welcome .eyebrow{max-width:220px;line-height:1.7;letter-spacing:.08em}.welcome .primary{font-size:.8rem;padding:12px}.love-note{display:none}.collection{padding-top:28px}.section-heading{gap:10px;align-items:flex-end}.section-heading h2{font-size:1.2rem}.section-heading .soft{font-size:.7rem;padding:10px;max-width:125px}.section-heading .eyebrow{font-size:.6rem}.tabs{gap:20px}.tabs button{font-size:.8rem}.filters{margin-top:18px;gap:12px}.chips{gap:5px}.chips button{font-size:.7rem;padding:8px 10px}.search-sort{width:100%}.search-sort input{max-width:none;width:60%}.search-sort select{width:40%}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-body{padding:12px}.card h3{font-size:.85rem}.card .meta,.card .progress-label,.ratings span{font-size:.7rem}.badge{top:9px;left:9px;font-size:.65rem;padding:5px 8px}.ratings{gap:5px}.poster{aspect-ratio:3/4}.empty{padding:30px 15px}.empty h3{font-size:1rem}dialog{padding:20px 16px;border-radius:20px;max-height:95dvh}.editor-content{grid-template-columns:80px 1fr;gap:12px}.editor-fields .two{grid-template-columns:1fr;gap:0}.cover-preview small{display:none}.link-row{flex-direction:column}.link-row button{align-self:flex-end}.three{gap:7px}.three label{font-size:.7rem}.dialog-actions button{font-size:.8rem}.login{grid-template-columns:1fr}.login-art{height:210px;margin:16px 16px 0}.login-art img{object-position:center 40%}.login-art span{bottom:15px;font-size:.8rem}.login-form{padding:24px;max-width:420px}.login-form .brand{margin-bottom:25px}.login-form h1{font-size:2rem}.login-form h1 br{display:none}.login-form .muted{margin-bottom:20px}footer{font-size:.65rem;line-height:1.7}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Comfortable reading and touch controls on both screens. */
.eyebrow{font-size:.75rem}.brand span,.love-note,footer,.badge,.card .meta,.ratings span,.cover-preview small{font-size:.75rem}.tabs button,.chips button,.search-sort input,.search-sort select,.link-row button{font-size:.875rem}.welcome{min-height:235px;padding:24px 32px}.welcome h1{font-size:2.1rem}.welcome p:not(.eyebrow){margin-bottom:16px}.tabs b{font-size:.75rem}.login-form .eyebrow{font-size:.75rem}.welcome .eyebrow{font-size:.75rem}.welcome p:not(.eyebrow),.empty p,.login-form .muted{font-size:1rem}.hint,.muted{font-size:.875rem}.card h3{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em}
@media(max-width:600px){.welcome{min-height:210px;padding:20px}.welcome h1{font-size:1.6rem}.welcome .eyebrow{font-size:.75rem}.welcome p:not(.eyebrow){font-size:.875rem;max-width:225px;margin-bottom:12px}.welcome .primary,.section-heading .soft,.account button,.tabs button,.chips button,.dialog-actions button,.three label{font-size:.875rem}.section-heading .eyebrow,.brand span,footer,.badge,.card .meta,.card .progress-label,.ratings span{font-size:.75rem}.section-heading .soft{max-width:145px}.card h3{font-size:.9375rem}.link-row button{min-height:44px}.search-sort input,.search-sort select{font-size:.875rem}.tabs button{min-height:44px}.chips button{min-height:40px}.top{gap:8px}.account #profile{max-width:110px}.editor-content{grid-template-columns:76px minmax(0,1fr)}}
.catalog-box{border:1px solid var(--line);border-radius:15px;padding:16px;background:#faf5fd;margin-top:20px}.catalog-box h3{font-size:1rem;margin:0 0 12px}.catalog-box .hint{margin:10px 0}.catalog-result{display:flex;align-items:center;gap:12px;text-align:left;width:100%;margin:6px 0;background:#fff;border:1px solid var(--line);padding:9px}.catalog-result img{width:40px;height:56px;object-fit:cover;border-radius:7px}.catalog-result small{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}.catalog-result strong{font-size:.9rem}#catalogResults{max-height:265px;overflow:auto}#catalogSource,footer a{color:var(--purple);font-size:.8rem}
#extraFields{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}#extraFields summary{cursor:pointer;color:var(--purple);font-size:.9rem;font-weight:700;margin-bottom:18px}.season-row{display:grid;grid-template-columns:100px 1fr 1fr;align-items:center;gap:12px;border:1px solid var(--line);padding:12px;border-radius:14px;margin:8px 0}.season-row label{margin:0}.season-row .hint{margin:0}.season-row button{grid-column:3;font-size:.8rem}.season-actions{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:14px 0}.release-info{background:#f5edf9;padding:12px 16px;border-radius:14px;font-size:.875rem}.release-info p{margin:6px 0}.release-info a{display:block;color:var(--purple);margin:8px 0}.shared-label{font-size:.8rem;color:var(--purple)}@media(max-width:600px){.season-row{grid-template-columns:1fr 1fr;gap:8px}.season-row button{grid-column:auto}.season-row label{grid-row:span 2}.season-actions button{font-size:.8rem}.shared-label{max-width:100px;font-size:.75rem}}
.season-row details{grid-column:1/-1;font-size:.8rem;color:var(--muted)}.season-total{max-width:160px;margin-top:10px!important}.release-badge{font-size:.8rem;color:var(--purple);background:#f6edf8;border-radius:9px;padding:8px;margin-bottom:0}
