/* archive.css — controls + ticket stubs */
.archive{padding-bottom:60px}
.controls{max-width:1180px;margin:0 auto;padding:18px 28px;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;position:sticky;top:56px;z-index:30;
  background:rgba(242,235,221,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.search{display:flex;align-items:baseline;gap:12px;flex:1 1 280px;border-bottom:1.5px solid var(--ink);padding-bottom:4px}
.search span{font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:var(--amber)}
.search input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:18px;font-family:var(--serif)}
.seg{display:flex;border:1px solid var(--ink);border-radius:2px;overflow:hidden}
.seg button{border:0;background:transparent;padding:6px 11px;cursor:pointer;font-size:13px;border-right:1px solid var(--line);white-space:nowrap}
.seg button:last-child{border-right:0}
.seg button.on{background:var(--ink);color:var(--paper)}
.seg button .st{color:var(--amber)}
.seg button.on .st{color:var(--amber-hi)}
.selects{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.selects select{margin-left:8px;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:3px 2px;color:var(--ink);font-family:var(--serif);font-size:14px;cursor:pointer;outline:none}
.chk{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink)}
.chk input{accent-color:var(--amber)}
.count{max-width:1180px;margin:22px auto 10px;padding:0 28px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.tickets{max-width:1180px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:20px}
.ticket{position:relative;display:grid;grid-template-columns:86px 1fr 46px;background:#f8f2e6;cursor:pointer;min-height:140px;border-radius:4px;
  box-shadow:0 1px 0 rgba(28,24,20,.06),0 12px 26px -16px rgba(28,24,20,.45);transition:transform .45s var(--ease),box-shadow .45s;animation:tIn .7s var(--ease) both;
  -webkit-mask:radial-gradient(circle at calc(100% - 46px) 0,transparent 7px,#000 7.5px) top/100% 51% no-repeat,radial-gradient(circle at calc(100% - 46px) 100%,transparent 7px,#000 7.5px) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle at calc(100% - 46px) 0,transparent 7px,#000 7.5px) top/100% 51% no-repeat,radial-gradient(circle at calc(100% - 46px) 100%,transparent 7px,#000 7.5px) bottom/100% 51% no-repeat}
.ticket:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 24px 40px -18px rgba(28,24,20,.55)}
@keyframes tIn{from{opacity:0;transform:translateY(18px)}}
.ticket .pf{height:100%;min-height:140px}
.ticket .pf img{width:100%;height:100%;object-fit:cover}
.t-body{padding:12px 14px 12px 16px;min-width:0;display:flex;flex-direction:column}
.t-title{font-weight:900;font-size:18px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.t-orig{font-family:var(--display);font-style:italic;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-meta{font-size:12px;color:var(--ink-3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-stars{color:var(--amber);letter-spacing:2px;font-size:14px;margin-top:auto;padding-top:6px}
.t-stars .off{color:rgba(28,24,20,.18)}
.t-comment{font-size:13px;font-style:italic;color:var(--ink-2);margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.t-stub{border-left:1.5px dashed var(--line);writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--muted);background:var(--paper-2)}
.ticket.top .t-stub{background:var(--amber-hi);color:var(--ink)}
.empty{grid-column:1/-1;text-align:center;padding:60px 0;color:var(--muted);font-style:italic;font-size:18px}
.more-wrap{text-align:center;margin-top:40px}
.more-wrap .stub-btn{--c:var(--ink);color:var(--paper)}
.more-wrap .stub-btn span{border-left-color:rgba(242,235,221,.35)}
.more-wrap.done{display:none}
/* ledger — text-only rows for films without a poster (box-office ledger look) */
.ledger-wrap{max-width:1180px;margin:56px auto 0;padding:0 28px}
.ledger-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:10px}
.ledger-sub{font-size:13px;color:var(--muted);font-style:italic}
.lrow{display:grid;grid-template-columns:92px minmax(0,2.2fr) minmax(0,1.6fr) 96px;gap:4px 20px;align-items:baseline;padding:13px 6px;border-bottom:1px dashed var(--line);cursor:pointer;transition:background .25s,padding .35s var(--ease);outline:none}
.lrow:hover,.lrow:focus-visible{background:rgba(232,163,58,.12);padding-left:14px}
.l-date{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted)}
.l-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l-title b{font-weight:900;font-size:17px}
.l-title i{font-family:var(--display);font-size:13px;color:var(--muted);margin-left:10px}
.l-meta{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l-stars{color:var(--amber);letter-spacing:2px;font-size:13px;text-align:right;white-space:nowrap}
.l-stars .off{color:rgba(28,24,20,.18)}
.l-comment{grid-column:2 / -1;font-size:13px;font-style:italic;color:var(--ink-2)}
@media(max-width:700px){.lrow{grid-template-columns:1fr auto}.l-date{grid-column:1 / -1}.l-meta{grid-column:1 / -1}.l-comment{grid-column:1 / -1}}
