:root{--zig:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2260%22%20height%3D%2260%22%3E%3Crect%20width%3D%2260%22%20height%3D%2260%22/%3E%3Cg%20fill%3D%22none%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M4%2010l4-5%204%205%204-5%22%20stroke%3D%22%234fd1c5%22/%3E%3Cpath%20d%3D%22M34%2014l4-5%204%205%204-5%22%20stroke%3D%22%23f6e05e%22/%3E%3Cpath%20d%3D%22M18%2034l4-5%204%205%204-5%22%20stroke%3D%22%23f687b3%22/%3E%3Cpath%20d%3D%22M46%2044l4-5%204%205%204-5%22%20stroke%3D%22%239f7aea%22/%3E%3Cpath%20d%3D%22M2%2052l4-5%204%205%204-5%22%20stroke%3D%22%23ed8936%22/%3E%3Cpath%20d%3D%22M30%2056l4-5%204%205%204-5%22%20stroke%3D%22%2363b3ed%22/%3E%3C/g%3E%3C/svg%3E");--wm:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22120%22%20height%3D%2270%22%3E%3Ctext%20x%3D%2260%22%20y%3D%2244%22%20font-family%3D%22serif%22%20font-size%3D%2234%22%20font-style%3D%22italic%22%20font-weight%3D%22bold%22%20text-anchor%3D%22middle%22%20fill%3D%22none%22%20stroke%3D%22%23e4e4e4%22%20stroke-width%3D%221.5%22%3EFILM%3C/text%3E%3C/svg%3E")}
*{box-sizing:border-box}
body{margin:0;background:#fff var(--wm);color:#000;font:18px/1.35 "Noto Serif","Times New Roman",Times,serif}
header{max-width:900px;margin:0 auto;padding:24px 16px 0}
h1{font-size:2.6rem;font-weight:normal;margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
h1 .reel{font-size:2.2rem}
.tag{margin:.6rem 0 0;font-size:1.05rem;text-transform:uppercase}
hr{border:2px solid #555;border-top-color:#333;border-bottom-color:#999;height:12px;background:#fff;margin:14px 0}
main{max-width:900px;margin:0 auto;padding:0 16px}
.hr-wrap{max-width:900px;margin:0 auto;padding:0 16px}
button{font:inherit;color:#000;background:#a8a8a8;border:3px outset #e0e0e0;padding:6px 18px;cursor:pointer;font-size:1.15rem}
button:active{border-style:inset}
button.ghost{font-size:1rem;padding:3px 14px}
nav{display:flex;margin-top:14px}
nav button{font:bold .85rem Arial,Helvetica,sans-serif;text-transform:uppercase;background:#a0a0a0;border:1px solid #666;border-bottom:0;padding:7px 18px}
nav button.on{background:#e0e0e0}
#form{display:flex;gap:10px;margin:14px 0}
input{flex:1;padding:8px;border:3px inset #bbb;background:#fff;color:#000;font:inherit;border-radius:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.card{background:#fff;border:2px solid #000;padding:6px;cursor:pointer;position:relative;text-align:center}
.card img,.noimg{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;background:#ccc}
.card .t{padding:6px 2px 2px;font-size:.95rem}
.card:hover{outline:3px solid #00e}
.badge{position:absolute;top:10px;left:10px;background:#ffd400;color:#000;border:2px solid #000;font:bold .72rem Arial,sans-serif;text-transform:uppercase;padding:2px 6px}
.muted{color:#444;font-style:italic}
dialog{background:#fff;color:#000;border:3px solid #000;box-shadow:6px 6px 0 #000;max-width:660px;width:92vw;padding:16px}
dialog::backdrop{background:rgba(0,0,0,.55)}
dialog h2{margin:0 0 6px;font-weight:normal}
.row{display:flex;gap:14px}.row img{width:120px;border:2px solid #000;align-self:flex-start}
.plexbox{background:#d0d0d0;border:3px inset #aaa;padding:10px;margin:10px 0;font-weight:bold;font-style:italic}
.prov{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.prov span{display:flex;align-items:center;gap:6px;background:#d0d0d0;border:1px solid #000;padding:3px 8px;font-size:.9rem}
.prov img{width:24px;height:24px}
h3{margin:14px 0 4px;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
#requests-view{background:#000 var(--zig);border:3px solid #888;padding:14px;margin-top:0}
#requests-view>.muted{background:#d0d0d0;border:2px solid #888;padding:8px;margin:0 0 12px;color:#000;text-align:center}
.req{display:flex;align-items:center;gap:12px;background:#d0d0d0;border:2px solid #888;padding:8px;margin:10px 0}
.req img{width:46px;border:1px solid #000}.req .i{flex:1}
.vote{min-width:70px;font-size:1rem}.vote.on{background:#ffd400}
.st{font:bold .7rem Arial,sans-serif;text-transform:uppercase;padding:2px 6px;border:1px solid #000;background:#fff}
.st.available{background:#7be07b}.st.declined{background:#e08a8a}
footer{max-width:900px;margin:0 auto;padding:0 16px 30px;text-align:center;font-size:.85rem}
a{color:#00e}a:visited{color:#551a8b}
@media(max-width:520px){h1{font-size:1.8rem}.row{flex-direction:column}}
.ac{flex:1;position:relative}.ac input{width:100%}
#sugg{position:absolute;left:0;right:0;top:100%;z-index:5;margin:0;padding:0;list-style:none;background:#fff;border:2px solid #000;box-shadow:4px 4px 0 #000}
#sugg li{display:flex;align-items:center;gap:10px;padding:5px 8px;cursor:pointer;border-bottom:1px solid #ccc}
#sugg li:last-child{border-bottom:0}#sugg li.sel,#sugg li:hover{background:#ffd400}
#sugg img,#sugg .nopic{width:32px;height:48px;object-fit:cover;border:1px solid #000;background:#ccc;flex:none}
#sugg .m{flex:1;min-width:0}#sugg .y{color:#444;font-size:.85rem}#sugg .lib{font:bold .65rem Arial,sans-serif;text-transform:uppercase;border:1px solid #000;background:#ffd400;padding:1px 5px}
#sugg li.sel .lib{background:#fff}
button.x{font:bold 1rem Arial,sans-serif;line-height:1;padding:3px 7px;background:#a8a8a8}
#close{position:absolute;top:8px;right:8px;z-index:1}#detail{padding-top:6px}dialog h2{padding-right:34px}
#clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:2px 6px;font-size:.9rem}
.ac input{padding-right:36px}.ac input::-webkit-search-cancel-button{display:none}
.req img,.req .link{cursor:pointer}.req .link:hover strong{text-decoration:underline;color:#00e}
#reqlist h3.sec{color:#fff;margin:16px 0 4px;font-size:1.05rem}#reqlist h3.sec:first-child{margin-top:0}
.empty{background:#d0d0d0;border:2px solid #888;padding:8px;margin:10px 0;font-style:italic}
.cnt{min-width:70px;text-align:center;font-size:1rem}
button:disabled{background:#7be07b;cursor:default;border-style:solid}
