@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Nunito:wght@400;600;700;800&display=swap');
:root{--bg:#F6E9D9;--card:#FFF8EF;--ink:#40283C;--muted:#80636B;--accent:#793D52;--secondary:#A9565D;--gold:#D5B58D;--border:#E8D5C5}body.dark{--bg:#211923;--card:#342733;--ink:#F8E9E9;--muted:#C9B0B7;--accent:#E5BFC5;--secondary:#A96879;--gold:#C9A675;--border:#57414F}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,sans-serif}#app{max-width:720px;margin:auto;min-height:100dvh;padding:env(safe-area-inset-top) 16px calc(95px + env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;padding:22px 2px 12px}small,.eyebrow{font-size:10px;letter-spacing:2px;color:var(--secondary);font-weight:800}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;margin:0}h1{font-size:36px}h2{font-size:30px;margin:8px 0 14px}h3{font-size:23px}button,input,select,textarea{font:inherit}button{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:12px;padding:10px 14px;cursor:pointer}button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:800}body.dark button.primary{color:#211923}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:16px;margin-bottom:14px}.muted{color:var(--muted);font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stat{text-align:center}.stat strong{display:block;color:var(--accent);font-size:26px}.stat span{font-size:11px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.poster{aspect-ratio:2/3;background:var(--border);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:35px}.poster img{width:100%;height:100%;object-fit:cover}.tile{min-width:0;cursor:pointer}.tile b{font-size:12px;display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile small{font-size:10px;letter-spacing:0}.progress{height:7px;background:var(--border);border-radius:9px;overflow:hidden;margin:9px 0}.progress>div{height:100%;background:var(--secondary)}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,720px);background:var(--card);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:3}nav button{border:0;background:transparent;padding:6px 0;color:var(--muted);font-size:10px}nav button span{display:block;font-size:20px}nav button.active{color:var(--accent);font-weight:800}.toolbar{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.toolbar input,.toolbar select{min-width:0;flex:1}input,select,textarea{width:100%;padding:11px;border-radius:11px;border:1px solid var(--border);background:var(--card);color:var(--ink)}label{display:block;font-size:13px;font-weight:700;margin:11px 0}label input,label select,label textarea{margin-top:5px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}dialog{width:min(94vw,540px);max-height:90dvh;overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--border);border-radius:20px;padding:20px}dialog::backdrop{background:#130d14a8}.results button{display:block;width:100%;text-align:left;margin:4px 0}.empty{text-align:center;padding:35px 12px;color:var(--muted)}.detail-poster{width:115px;flex:none}.detail-top{display:flex;gap:14px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:5px 9px;background:var(--border);border-radius:20px;font-size:11px}.row{display:flex;justify-content:space-between;align-items:center;gap:8px}.row button{flex-shrink:0}canvas{width:100%;max-height:190px}
