:root{--ink:#172126;--paper:#fffdf7;--accent:#b6402c;--muted:#647078;--line:#ddd7ca}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}header,main,footer{max-width:1120px;margin:auto;padding:1.25rem}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:var(--accent)}.brand{font-family:Georgia,serif;font-weight:700;font-size:1.45rem;text-decoration:none;color:var(--ink)}nav{display:flex;gap:1rem;flex-wrap:wrap}nav a{text-decoration:none}.hero{padding:4rem 0 2rem;max-width:760px}.hero h1{font:clamp(2.7rem,8vw,5.5rem)/.95 Georgia,serif;margin:0 0 1rem}.hero p{font-size:1.2rem;color:var(--muted)}h1,h2{font-family:Georgia,serif}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.25rem}.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:.7rem;background:#fff;overflow:hidden}.card h3{margin:0;font-size:1.05rem;line-height:1.3}.card h3 a{text-decoration:none}.card h3 .year{color:var(--muted);font-weight:400;font-size:.9rem}.card p{color:var(--muted);margin:0;font-size:.92rem}.card-body{display:flex;flex-direction:column;gap:.3rem;padding:.75rem .85rem .95rem;min-width:0}.card .summary{margin-top:.25rem;overflow-wrap:anywhere}.carousel-wrap{margin:0 -.25rem}.carousel{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.35rem .25rem 1rem}.carousel .card{flex:0 0 clamp(168px,17vw,208px);scroll-snap-align:start}.carousel-nav{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.carousel-nav button{padding:.4rem .85rem;font-size:1.1rem;line-height:1}.poster{background:var(--ink);color:#fff;border-radius:.4rem;display:grid;place-items:center;min-height:102px;font:2rem Georgia}.search{margin:1.5rem 0}.search label{display:block;font-weight:700}.search div{display:flex;gap:.5rem}.search input{padding:.7rem;min-width:260px;max-width:520px;width:100%;border:1px solid var(--line);border-radius:.35rem}button,.button{background:var(--accent);color:#fff;border:0;border-radius:.35rem;padding:.7rem 1rem;cursor:pointer;text-decoration:none}.chips{display:flex;gap:.6rem;flex-wrap:wrap}.chips a{border:1px solid var(--line);padding:.5rem .8rem;border-radius:2rem;text-decoration:none;background:#fff}.meta,.empty{color:var(--muted)}.detail{max-width:760px}.detail h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1}.pagination{margin:2rem 0}.stack{display:grid;gap:1rem}.stack label{display:grid;gap:.3rem}.stack input,.stack textarea{padding:.7rem;border:1px solid var(--line);border-radius:.35rem}.stack .check{display:flex;align-items:center}.analytics table,table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem}.sponsor{margin:3rem auto 0;padding:1.2rem;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sponsor p{font:1.4rem Georgia;margin:.25rem}.commerce{margin-top:2rem;padding:1rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.comment{border-top:1px solid var(--line);padding:1rem 0}.comment h3{margin-bottom:0}.inline{display:inline-block;margin:1rem 0}.notice{padding:1rem;background:#f5ead2;border-radius:.5rem}footer{border-top:1px solid var(--line);margin-top:3rem;color:var(--muted)}@media(max-width:700px){header{align-items:flex-start;gap:1rem;flex-direction:column}.hero{padding-top:2.5rem}.search div{align-items:stretch;flex-direction:column}.search input{min-width:0}}
.card .poster-link{display:block;text-decoration:none}.card .poster{min-height:0;aspect-ratio:2/3;overflow:hidden;border-radius:0}.card .poster img{width:100%;height:100%;object-fit:contain;background:#f1ecdf;display:block}
@media(max-width:700px){.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.carousel .card{flex-basis:150px}}
.movie-detail{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:1.5rem;max-width:960px}.movie-detail .detail-art{min-height:0;aspect-ratio:2/3;overflow:hidden}.movie-detail .detail-art img{width:100%;height:100%;object-fit:contain;background:#f1ecdf;border-radius:.4rem;display:block}.movie-body{min-width:0}
.credits{color:var(--muted);margin:.3rem 0}.links{margin:.6rem 0}.attribution{font-size:.85rem}
@media(max-width:700px){.movie-detail{grid-template-columns:1fr}}
