:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#223731;background:#f4f6f3;font-synthesis:none;--green: #42755e;--ink: #223731;--muted: #75817b;--border: #dce3dc }*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:var(--green);text-underline-offset:3px}button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:5px;padding:11px 18px;cursor:pointer;font-weight:600;white-space:nowrap;transition:background .15s}button:hover{background:#305f49}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#fff;color:var(--ink);border-color:var(--border)}button.secondary:hover{background:#eef3ed}input,select,textarea{width:100%;background:#fff;border:1px solid #ccd5cd;border-radius:4px;padding:12px 13px;color:var(--ink)}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{outline:2px solid #8db49e;outline-offset:1px}button:focus-visible,a:focus-visible{outline:3px solid #8db49e;outline-offset:4px}h1,h2,p{margin-top:0}h1{font-size:38px;line-height:1.2;font-weight:600;letter-spacing:-1px;margin:11px 0 14px}h2{font-size:20px;line-height:1.4;font-weight:600}p{line-height:1.65}small{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;color:var(--muted)}.brand-mark{height:38px;width:38px;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:25px;font-weight:600;border-radius:5px}.topbar{background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:48px;padding:20px max(28px,calc((100vw - 1340px)/2));min-height:91px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:18px;letter-spacing:1px}.brand-sub{display:block;font-size:8px;letter-spacing:1.3px;color:var(--muted);margin-top:3px}.topbar nav{display:flex;gap:30px;align-self:stretch;align-items:center}.topbar nav a{text-decoration:none;font-size:14px;color:#687770;padding:10px 0;border-bottom:2px solid transparent}.topbar nav a.active{border-color:var(--green);color:var(--ink);font-weight:600}.user-menu{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:13px}.user-menu>span{text-align:right}.user-menu small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.container{max-width:1340px;margin:0 auto;padding:44px 28px 64px;min-height:calc(100vh - 175px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.page-heading p{color:var(--muted);font-size:14px;margin-bottom:0}.heading-actions{display:flex;gap:10px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.category-card{border:1px solid var(--border);background:#fff;border-radius:7px;overflow:hidden;box-shadow:0 3px 10px #263a3010}.category-card>a{display:block;position:relative;text-decoration:none;overflow:hidden}.category-card img{display:block;width:100%;aspect-ratio:5/3;object-fit:cover;transition:transform .3s}.category-card a:hover img{transform:scale(1.035)}.category-caption{padding:17px 20px;display:flex;justify-content:space-between;align-items:center}.category-caption h2{margin:0;font-size:18px;color:var(--ink)}.category-caption span{color:var(--muted);font-size:11px}.category-caption b{font-size:20px;margin-left:12px;color:var(--green)}.category-fallback{aspect-ratio:5/3;display:grid;place-items:center;color:#fff;background:#426552;font-size:70px}.item-actions{display:flex;gap:18px;padding:12px 20px;border-top:1px solid #e9eee7;flex-wrap:wrap}.text-button{background:none;border:0;padding:0;color:var(--green);font-size:15px;font-weight:600}.text-button:hover{background:none;text-decoration:underline}.text-button.danger{color:#a96157}.back-link{display:inline-block;margin-bottom:23px;font-size:18px;text-decoration:none}.filter-bar{display:flex;gap:14px;align-items:flex-end;padding:20px;background:#eaf0e8;border:1px solid #dde6da;border-radius:6px;margin-bottom:30px}.filter-bar label{min-width:100px;flex:1}.filter-bar label.grow{flex:2}.filter-bar label span{display:block;margin-bottom:8px;font-size:11px;font-weight:600;color:#52644f}.filter-bar input,.filter-bar select{font-size:13px;padding:11px 12px}.filter-bar button{font-size:12px;padding:11px 17px;min-height:40px}.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:10;display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;box-shadow:0 4px 16px #162c2b40}.film-search{margin-bottom:30px}.film-search .filter-bar{margin-bottom:0}.film-genre-panel{margin-top:12px;padding:20px;border:1px solid var(--border);border-radius:6px;background:#fff}.film-genre-panel .genre-field{margin-bottom:0}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.website-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.website-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--border);border-top:3px solid #c6d9cb;border-radius:8px;box-shadow:0 2px 8px #22373106;transition:border-color .15s,box-shadow .15s}.website-card:hover{border-color:#9fbea9;box-shadow:0 6px 20px #22373110}.website-card-content{display:flex;flex-direction:column;flex:1;min-width:0;padding:24px}.website-card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.website-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid #dce8dc;border-radius:10px;background:#edf4ed;color:var(--green)}.website-icon svg{width:24px;height:24px}.website-domain{display:flex;flex-direction:column;min-width:0;gap:5px}.website-label{color:var(--muted);font-size:9px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.website-host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green);font-size:12px}.website-card-title{margin:0 0 10px;font-size:18px;line-height:1.45;overflow-wrap:anywhere}.website-card-title a{color:var(--ink);text-decoration:none}.website-card-title a:hover{color:var(--green);text-decoration:underline}.website-card-address{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 24px;color:var(--muted);font-size:12px;line-height:1.6}.website-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #edf1eb}.website-card-footer .date{margin:0;font-size:11px}.website-open{display:inline-flex;align-items:center;gap:10px;padding:8px 11px;border-radius:4px;background:#edf4ed;color:var(--green);font-size:12px;font-weight:600;text-decoration:none}.website-open:hover{background:#deebdf}.link-card{background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.link-card iframe{width:100%;aspect-ratio:16/9;border:0}.link-preview{aspect-ratio:16/9;background:linear-gradient(145deg,#314e43,#17382e);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#bcd5c5;gap:15px}.link-preview span{font-size:45px;color:#fff;font-weight:300}.link-preview small{letter-spacing:1px}.card-body{padding:22px;flex:1}.card-body h2{font-size:16px;margin-bottom:18px;overflow-wrap:anywhere}.card-body a{font-size:21px}.date{display:block;margin-top:18px;color:var(--muted)}.result-count{font-size:12px;color:var(--muted);margin-bottom:20px}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}.film-card{background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden}.film-open{display:block;color:var(--ink);text-decoration:none}.film-open>img{display:block;width:100%;aspect-ratio:5/6;object-fit:cover;object-position:bottom}.film-caption{padding:20px}.film-caption h2{font-size:18px;margin-bottom:12px}.film-caption>div{display:flex;justify-content:space-between;font-size:13px;color:var(--green)}.film-caption p{margin:10px 0 0;font-size:12px;color:var(--muted)}.poster-fallback{aspect-ratio:5/6;background:#283e34;color:#fff;display:grid;place-items:center;padding:20px}.film-detail{display:grid;grid-template-columns:350px 1fr;gap:55px;margin-top:16px}.detail-poster{width:100%;border-radius:7px}.film-detail h1{font-size:43px;margin:16px 0 24px}.film-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--green);margin-bottom:28px}.description{white-space:pre-wrap;color:#5e6e65;font-size:15px;overflow-wrap:anywhere}.trailer{width:100%;aspect-ratio:16/9;border:0;margin:15px 0 25px;border-radius:5px}.helpers-list{display:grid;grid-template-columns:1fr;gap:22px;max-width:920px}.helper-card{padding:30px;background:#fff;border:1px solid var(--border);border-radius:6px}.helper-card h2{margin:12px 0 18px;font-size:23px}.prose{color:#59695e;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.prose img{max-width:100%}.prose pre{overflow-x:auto}.helper-card .item-actions{margin:20px -30px -30px;padding:18px 30px}.manage-panel{padding:22px;background:#fff;border:1px solid var(--border);border-radius:6px;margin-bottom:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading h2{font-size:17px}.manage-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);gap:20px;font-size:13px}.manage-row .item-actions{border:0;padding:10px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:6px;background:#fff}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{padding:15px 20px;background:#edf2e9;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#677665}td{padding:19px 20px;border-top:1px solid #e6ece3;line-height:1.6;vertical-align:top}td:nth-child(2){white-space:nowrap}td:nth-child(4){min-width:250px;overflow-wrap:anywhere}td .item-actions{padding:0;border:0;min-width:150px}.tag{background:#eaf0e8;color:var(--green);border:1px solid var(--border);border-radius:3px;padding:4px 7px;font-size:10px;white-space:nowrap}.muted{color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:40px;font-size:12px;color:var(--muted)}.pagination button{font-size:12px}.site-footer{max-width:1340px;margin:0 auto;padding:24px 28px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:.4px}.notice{background:#e5eee3;border:1px solid #cdddc8;border-radius:4px;padding:13px 15px;font-size:12px;line-height:1.6;margin:15px 0}.notice.error{color:#994839;background:#fff0ec;border-color:#eed3cc}.state{padding:60px 20px;text-align:center;color:var(--muted);font-size:14px}.state strong{display:block;font-size:20px;font-weight:500;color:var(--ink)}.state p{margin:12px 0}.spinner{display:inline-block;width:18px;height:18px;border:2px solid #b7c9b8;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin-right:10px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.startup{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.editor{border:1px solid var(--border);border-radius:8px;width:min(620px,calc(100vw - 30px));max-height:90vh;padding:30px;color:var(--ink);box-shadow:0 20px 80px #081e2940}.editor::backdrop{background:#162c2bbb;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:12px}.dialog-heading h2{margin:0;font-size:23px}.close-button{border:0;background:none;color:var(--muted);font-size:27px;padding:0 7px}.close-button:hover{background:#f1f5ed}.field.checkbox-field{display:flex;align-items:center;gap:10px;cursor:pointer}.field.checkbox-field>span{margin:0}.field.checkbox-field input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:0;padding:0;accent-color:var(--green);cursor:pointer}.field{display:block;margin-bottom:20px}.field>span{display:block;font-size:12px;font-weight:500;margin-bottom:8px}.field small{display:block;color:var(--muted);margin-top:9px;font-size:10px}.genre-field{min-width:0;padding:0;border:0}.genre-field legend{padding:0;margin-bottom:8px;font-size:12px;font-weight:500}.genre-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.genre-option{min-width:0;margin-bottom:0;padding:9px 10px;border:1px solid var(--border);border-radius:5px}.genre-option.selected{border-color:var(--green);background:#f1f5ed}.genre-option:has(input:disabled){opacity:.55;cursor:default}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.login-scene{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 65% 18%,#55828a66,transparent 40%),linear-gradient(125deg,#0b2026,#25494f 52%,#10272b);overflow:hidden;padding:100px 20px 70px}.login-scene:before{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:repeating-linear-gradient(112deg,transparent 0 150px,#081b2677 153px 182px,transparent 186px 330px);transform:perspective(900px) rotateY(-22deg);border-top:60px solid #0a1f2bcc;border-bottom:110px solid #0a1f2b77}.login-scene:after{content:"";position:absolute;top:68%;right:-20%;bottom:-20%;left:-20%;background:repeating-linear-gradient(0deg,#17292d22 0,#17292d22 60px,#7e9d9833,#7e9d9833 62px);transform:perspective(250px) rotateX(45deg)}.scene-orbit{position:absolute;width:130vw;height:100vh;border:2px solid #7fb6b133;border-radius:50%;transform:rotate(-24deg);top:-36vh;left:-20vw;box-shadow:0 0 0 80px #0d273530,0 0 0 83px #7fb6b120,0 0 0 150px #0d273530}.login-brand{position:absolute;top:34px;left:40px;color:#b4c5c3;display:flex;align-items:center;gap:16px;font-size:9px;letter-spacing:2px;z-index:1}.login-brand .brand-mark{background:#e1e8df;color:#31574a}.login-card{z-index:1;background:#fffffff7;width:390px;padding:38px;border:1px solid #fff;border-radius:3px;box-shadow:0 20px 80px #05141c66}.login-card h1{font-size:27px;letter-spacing:-.6px;margin:15px 0 10px}.login-intro{font-size:12px;color:var(--muted);margin-bottom:28px}.login-card .field{margin-bottom:20px}.login-card input{font-size:13px}.login-submit{width:100%;margin:7px 0 18px;padding:13px;font-size:12px;letter-spacing:1px;background:#609879;border-color:#609879}.login-help{display:block;font-size:11px;text-decoration:none;text-align:center;color:#65756b}.login-footer{position:absolute;bottom:29px;z-index:1;color:#b4c5c388;font-size:9px;letter-spacing:2px}@media(max-width:1000px){.topbar{gap:25px;padding:18px 24px}.topbar nav{gap:18px}.user-menu{gap:12px}.brand-sub{display:none}.category-grid,.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{flex-wrap:wrap}.filter-bar label{min-width:150px}.film-detail{grid-template-columns:270px 1fr;gap:30px}}@media(max-width:650px){h1{font-size:30px}.topbar{flex-wrap:wrap;gap:16px}.brand{font-size:15px}.topbar nav{order:3;width:100%;justify-content:space-between}.user-menu{margin-left:auto;font-size:11px}.user-menu button{padding:8px 12px;font-size:11px}.container{padding:28px 18px 42px}.page-heading{align-items:flex-start;gap:14px}.page-heading p{font-size:12px}.heading-actions button{padding:10px 12px;font-size:11px}.category-grid,.link-grid,.website-grid{grid-template-columns:1fr;gap:18px}.film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.film-caption{padding:13px}.film-caption h2{font-size:15px}.film-card .item-actions{padding:12px;gap:10px}.film-card .text-button{font-size:10px}.filter-bar{padding:16px;gap:12px}.filter-bar label,.filter-bar label.grow{flex:1 1 100%}.film-detail{grid-template-columns:1fr;gap:28px}.detail-poster{max-width:340px}.film-detail h1{font-size:34px}.pagination{gap:12px;font-size:10px}.pagination button{padding:9px 10px;font-size:11px}.helper-card{padding:23px}.helper-card .item-actions{margin:20px -23px -23px;padding:16px 23px}.section-heading,.manage-row{align-items:flex-start}.manage-row .item-actions{gap:10px}.editor{padding:22px}.dialog-heading h2{font-size:20px}.login-card{padding:30px;width:min(390px,100%)}.login-brand{left:25px;top:25px;font-size:8px;gap:12px}.site-footer{padding:20px 18px;font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
