:root{color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#0b0d13;color:#f4f3f1;--bg:#0b0d13;--surface:#141720;--muted:#a09da9;--line:#2a2b35;--red:#e45b67;--gold:#dfc391}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 86% 1%,#342025 0,#0b0d13 38%);line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#f0c5c5}.hidden{display:none!important}
.topbar{height:76px;border-bottom:1px solid #292a33;padding:0 max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:#11121bdc;position:sticky;top:0;z-index:15;backdrop-filter:blur(16px)}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap;letter-spacing:3px}.brand strong{display:block;font-size:19px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:3.6px;color:#a69ca1;margin-top:7px}.mark{color:var(--red);font-size:36px;line-height:1}.account{display:flex;gap:12px;align-items:center;color:#c7c5cc;font-size:12px;flex-wrap:wrap}.save-state{color:#88b69a;white-space:nowrap}.save-state.warn{color:#ecc591}.save-state.bad{color:#f48d90}
button.ghost,.view-toggle button{background:#20212c;border:1px solid #333543;color:#eceaf0;padding:9px 12px;border-radius:8px}.ghost:hover,.view-toggle button:hover{border-color:var(--red)}.small{font-size:12px}
.auth-wrap{padding:10vh 22px;display:grid;place-items:center}.auth-card{width:min(100%,430px);padding:42px;border:1px solid #34313b;border-radius:20px;background:#171922;box-shadow:0 30px 100px #0008}.auth-symbol{text-align:center;color:var(--red);font-size:52px}.auth-card h1{text-align:center;font-size:32px;margin:3px 0}.auth-card p{text-align:center;color:var(--muted)}label{display:block;color:#dfdde1;font-size:13px}label input,label select,label textarea{margin-top:7px}input,select,textarea{background:#20222d;border:1px solid #373845;color:#f5f3f2;border-radius:9px;padding:12px;outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:#b86476;box-shadow:0 0 0 3px #b864761d}textarea{resize:vertical}.auth-card form{display:grid;gap:11px;margin-top:27px}.primary{padding:13px;background:#ce5364;color:#fff;border:0;border-radius:9px;font-weight:700;margin-top:12px}.primary:hover{background:#e36a79}.primary:disabled{opacity:.5}.subtle{font-size:11px}.notice{padding:13px;background:#45361d;border:1px solid #84622c;border-radius:10px;margin-top:15px;color:#ffdda3;font-size:12px}.notice.error{background:#401c25;color:#ffc3cc;border-color:#873b4b}
main{max-width:1320px;margin:0 auto;padding:0 24px}.hero{padding:55px 0 34px}.eyebrow{color:#df8d99;letter-spacing:2.8px;font-size:10px;font-weight:800}.hero h1{font-size:clamp(36px,5.9vw,73px);line-height:1.05;letter-spacing:-3px;margin:15px 0}.hero h1 em{color:#e07f89;font-style:normal}.hero p{font-size:15px;color:#a6a1a9}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:32px}.stat{background:#191a24;border:1px solid #34303c;border-radius:12px;padding:18px;min-height:105px}.stat span{font-size:10px;letter-spacing:1px;color:#aba5b2;text-transform:uppercase}.stat strong{display:block;font-size:28px;font-weight:700;margin-top:8px}
.toolbar{position:relative;display:flex;gap:10px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.toolbar input{flex:3;min-width:200px}.toolbar select{flex:1;min-width:140px}.view-toggle{display:flex;gap:5px}.view-toggle button{font-size:20px}.view-toggle .selected{background:#59313b;border-color:#cb626f}.section-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:21px 0;font-size:12px;color:#aba8ad}
.film-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 14px}.film-card{min-width:0;border:1px solid #252732;background:#151722;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .18s,border .18s}.film-card:hover{transform:translateY(-3px);border-color:#8d4650}.poster{position:relative;width:100%;aspect-ratio:2 / 3;background:linear-gradient(145deg,#5c3340,#1d1928 58%,#2d293d);overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover;display:block}.poster .no-poster{position:absolute;top:40%;left:13px;right:13px;text-align:center;font-family:Georgia,serif;font-size:20px;line-height:1.2}.year-badge{position:absolute;top:9px;left:9px;background:#111b;padding:5px 8px;border-radius:5px;font-size:10px}.poster-rating{position:absolute;right:8px;bottom:8px;border-radius:6px;background:#111c;padding:5px 7px;font-size:11px;color:#ffe49d;font-weight:700}.film-info{padding:12px}.film-title{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.film-year{font-size:11px;color:#9f9ca9;margin-top:4px}.film-foot{display:flex;gap:5px;justify-content:space-between;margin-top:12px;font-size:10px}.chip{border:1px solid #44414a;border-radius:5px;padding:4px 6px;color:#bcb8bf;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip.good{background:#253b32;color:#a1d3b5;border-color:#305a44}.chip.plan{background:#403025;color:#eac491;border-color:#685137}.chip.ours{color:#f5b0b4;border-color:#784851}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table-wrap table{border-collapse:collapse;width:100%;min-width:800px}.table-wrap th{font-size:11px;color:#aba5b0;background:#1d202a;text-align:left;padding:13px 15px}.table-wrap td{font-size:13px;border-top:1px solid #2d303b;padding:12px 15px}.table-wrap tbody tr:hover{background:#332330;cursor:pointer}.film-cell{display:flex;gap:13px;align-items:center}.film-cell img{width:32px;height:47px;object-fit:cover;border-radius:4px;background:#333}.table-title strong{display:block}.table-title small{color:#aeaab4}.pages{display:flex;justify-content:center;align-items:center;gap:12px;margin:30px 0 50px}.pages button{border:1px solid var(--line);background:#20232b;color:#eceaec;border-radius:8px;padding:9px 13px}.pages button:disabled{opacity:.35;cursor:default}.empty{text-align:center;color:#b7b3bb;padding:60px}footer{border-top:1px solid var(--line);padding:24px 0 45px;color:#827f88;font-size:11px}footer p{margin:5px 0}
.modal-backdrop{position:fixed;inset:0;z-index:30;background:#000c;display:grid;place-items:center;padding:15px}.modal{width:min(100%,900px);max-height:min(95vh,940px);overflow:auto;background:#191b26;border:1px solid #54505b;border-radius:18px;position:relative;padding:24px}.modal-close{position:absolute;right:15px;top:14px;border:1px solid #555;background:#2c2d38;color:white;border-radius:50%;width:34px;height:34px;z-index:2}.modal-columns{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px}.modal-poster{aspect-ratio:2/3;border-radius:11px;overflow:hidden;background:linear-gradient(145deg,#6e3a48,#241d33);display:grid;place-items:center;text-align:center;color:#f6d9db;font-family:Georgia,serif;font-size:22px}.modal-poster img{width:100%;height:100%;object-fit:cover}.modal-main h2{font-size:30px;line-height:1.13;margin:12px 30px 4px 0}.original{font-size:12px;color:#a29aa7}.ratings-strip{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.rating-item{border:1px solid #4d4850;border-radius:9px;padding:8px 12px;font-size:12px}.rating-item b{color:#f5d494}.overview{color:#bdbac1;font-size:13px;max-height:130px;overflow:auto}.modal-linkline{display:flex;gap:15px;font-size:12px;flex-wrap:wrap}.divider{height:1px;background:#33343d;margin:17px 0}.couple-scores{display:flex;flex-wrap:wrap;gap:14px;color:#ecc4c5;font-size:13px;font-weight:600;margin-bottom:16px}.editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor .wide{grid-column:1/-1}.hint{font-size:11px;color:#aaa5ad}.editor label{font-size:12px}.editor input,.editor select,.editor textarea{font-size:13px;padding:10px}
@media(max-width:1050px){.film-grid{grid-template-columns:repeat(4,1fr)}.stats{grid-template-columns:repeat(3,1fr)}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}}
@media(max-width:650px){.topbar{padding:10px 14px;min-height:72px;height:auto}.brand strong{font-size:14px}.brand small{font-size:8px}.mark{font-size:26px}.account{gap:5px}.account .small{padding:5px 6px;font-size:10px}.save-state{font-size:10px}main{padding:0 14px}.hero{padding-top:36px}.hero h1{letter-spacing:-1px}.stats{grid-template-columns:repeat(2,1fr);gap:8px}.stat{min-height:80px;padding:12px}.stat strong{font-size:23px}.toolbar{gap:7px}.toolbar select{min-width:calc(50% - 8px)}.film-grid{grid-template-columns:repeat(2,1fr);gap:11px}.modal{padding:14px}.modal-columns{grid-template-columns:100px minmax(0,1fr);gap:12px}.modal-poster{font-size:12px}.modal-main h2{font-size:21px}.ratings-strip{gap:4px}.rating-item{padding:5px 7px}.editor{grid-template-columns:1fr}.editor .wide{grid-column:1}.modal-linkline{gap:9px}.film-info{padding:9px}}

/* === Колесо фортуны NOCTURNE — изолированные стили === */
.app-tabs{display:flex;gap:9px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:17px}
.app-tab{background:#181a24;border:1px solid #36323b;border-radius:10px;color:#c8c4ca;font-size:13px;font-weight:750;padding:12px 20px}
.app-tab:hover{background:#25202d;border-color:#a95868}
.app-tab.active{color:#ffe4de;border-color:#b75a6b;background:linear-gradient(105deg,#512c3c,#2f2735)}
.wheel-view{padding:22px 0 35px;min-width:0}
.wheel-heading{display:flex;justify-content:space-between;align-items:center;padding:9px 0 23px;gap:16px}
.wheel-heading h2{font-family:Georgia,serif;font-size:clamp(26px,3.1vw,44px);margin:12px 0 9px;font-weight:600;letter-spacing:-.6px}
.wheel-heading p{color:#b3adb6;margin:0;max-width:650px;font-size:14px}
.wheel-ornament{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;border:1px solid #7c4a56;color:#e4b2a5;font-size:36px;box-shadow:inset 0 0 25px #723d4960}
.wheel-mode-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wheel-mode{text-align:left;background:#181a23;border:1px solid #3c3542;border-radius:12px;padding:15px 17px;transition:background .2s,border-color .2s;color:#d3cdd6;min-height:86px}
.wheel-mode b{font-size:15px;display:block;color:#f6eced}.wheel-mode span{font-size:11px;display:block;color:#b3aab6;margin-top:4px}
.wheel-mode:hover{border-color:#a65763;background:#251b29}.wheel-mode.selected{background:linear-gradient(120deg,#592d3a,#25212c);border-color:#df7180;box-shadow:inset 0 0 0 1px #bb536324}
.wheel-filters{margin-top:13px;border:1px solid #4a3a45;border-radius:12px;background:#181a24;padding:16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.wheel-filters label{font-size:11px;color:#d9ced6;min-width:0}.wheel-filters select,.wheel-filters input:not([type="checkbox"]){font-size:12px;padding:10px 9px;margin-top:7px}
.wheel-check{grid-column:span 2;display:flex;gap:10px;align-items:center;cursor:pointer;margin-top:4px}
.wheel-check input{width:17px;height:17px;flex:0 0 auto;accent-color:#d06073;margin:0}
.wheel-check span{font-size:12px}.wheel-filter-note{grid-column:1/-1;color:#b4a5b0;font-size:11px;margin:0}
.wheel-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:23px;margin-top:21px}
.wheel-stage{background:radial-gradient(circle at 50% 31%,#342332,#151923 64%);border:1px solid #473643;border-radius:18px;display:flex;flex-direction:column;align-items:center;padding:34px 20px 23px;min-width:0;overflow:hidden}
.wheel-frame{position:relative;isolation:isolate;width:min(100%,448px);aspect-ratio:1/1;flex-shrink:0;display:grid;place-items:center}
.wheel-disc{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#643349,#202d3f);border:10px solid #28232d;outline:2px solid #976476;box-shadow:0 0 0 12px #17131b,0 15px 55px #03050d9e,inset 0 0 32px #1d192d9c;will-change:transform;transform:rotate(0deg)}
.wheel-labels{position:absolute;inset:0;border-radius:50%;--wheel-label-radius:clamp(100px,12.6vw,160px)}
.wheel-label{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;text-align:center;width:96px;max-height:54px;overflow:hidden;color:#fff;font-size:clamp(8px,1vw,11px);font-weight:800;line-height:1.12;text-shadow:0 1px 6px #0b0b18,0 1px 2px #12131b;pointer-events:none;overflow-wrap:anywhere}
.wheel-pointer{position:absolute;top:-22px;left:50%;transform:translateX(-50%);border-left:20px solid transparent;border-right:20px solid transparent;border-top:38px solid #f8cf9b;filter:drop-shadow(0 4px 7px #060710);z-index:5}
.wheel-hub{z-index:4;position:absolute;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;font-size:29px;color:#e7ad8a;background:radial-gradient(circle at 35% 30%,#66505c,#291c2f 75%);border:5px solid #e0b6aa;box-shadow:0 4px 25px #0009,0 0 0 5px #0d1019;pointer-events:none}
.wheel-spin{font-size:16px;margin:35px 0 0;padding:15px 28px;border-radius:12px;min-width:min(90%,282px);box-shadow:0 10px 27px #6b2c3b50}
.wheel-status{font-size:12px;color:#ccb7bd;text-align:center;min-height:20px;margin:12px 0 0}
.wheel-sidebar{display:flex;flex-direction:column;gap:14px}
.wheel-info-card{background:linear-gradient(125deg,#291d2b,#171c26);border:1px solid #5c3e4b;border-radius:15px;padding:26px 22px}
.wheel-info-card strong{font-size:24px;display:block;line-height:1.18;margin-top:15px}
.wheel-info-card p{color:#bdb2be;font-size:13px;margin-top:14px}
.wheel-tip{border:1px solid #35303c;background:#181821;border-radius:14px;padding:15px 20px;display:flex;gap:13px;align-items:flex-start;color:#b9b0bc;font-size:12px}
.wheel-tip span{font-size:22px;color:#d99b9f}.wheel-tip p{margin:0}
.wheel-empty{padding:18px;border:1px solid #8e6748;background:#372920;border-radius:10px;color:#f4d5a7;font-size:12px}
.wheel-result{display:grid;grid-template-columns:140px minmax(0,1fr);gap:23px;margin:20px 0 0;padding:18px;border:1px solid #805165;background:linear-gradient(115deg,#32212f,#191c29);border-radius:17px;box-shadow:0 15px 45px #0b0a1680}
.winner-poster{width:140px;aspect-ratio:2/3;overflow:hidden;border:1px solid #66444f;border-radius:10px;background:linear-gradient(145deg,#633749,#282537);display:grid;place-items:center;color:#f2d0d3;text-align:center;font-family:Georgia,serif}
.winner-poster img{display:block;width:100%;height:100%;object-fit:cover}
.wheel-no-poster{padding:10px;font-size:15px}
.winner-info h3{font-family:Georgia,serif;font-size:30px;line-height:1.1;margin:10px 0 4px}
.winner-original{color:#d0c2ce;font-size:12px;margin:4px 0}.winner-detail{color:#ada3af;font-size:13px}
.winner-ratings{display:flex;gap:12px;margin:12px 0}.winner-ratings span{background:#231e2b;border-radius:7px;padding:7px 11px;font-size:12px;border:1px solid #4c3d48}.winner-ratings b{color:#f2d69b}
.winner-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.winner-buttons .primary{margin:0}.winner-buttons button{padding:10px 13px;font-size:12px}
.wheel-result-notice{color:#99caaa;font-size:12px;min-height:20px}
@media(max-width:980px){.wheel-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.wheel-body{grid-template-columns:minmax(0,1fr)}.wheel-sidebar{display:grid;grid-template-columns:1fr 1fr}.wheel-frame{width:min(100%,432px)}.wheel-labels{--wheel-label-radius:clamp(101px,17vw,155px)}}
@media(max-width:650px){.app-tabs{flex-wrap:wrap}.app-tab{flex:1;padding:11px 12px;font-size:12px}.wheel-ornament{display:none}.wheel-heading h2{font-size:29px}.wheel-mode-picker{grid-template-columns:1fr;gap:8px}.wheel-mode{min-height:unset;padding:11px 14px}.wheel-mode span{font-size:11px}.wheel-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.wheel-check{grid-column:1/-1}.wheel-stage{padding:30px 10px 18px}.wheel-frame{width:min(100%,335px)}.wheel-labels{--wheel-label-radius:clamp(90px,32vw,119px)}.wheel-label{font-size:9px;width:66px;max-height:42px}.wheel-hub{width:56px;height:56px;border-width:4px}.wheel-sidebar{grid-template-columns:1fr}.wheel-result{grid-template-columns:95px minmax(0,1fr);gap:11px;padding:12px}.winner-poster{width:95px}.winner-info h3{font-size:23px}.winner-buttons button{width:100%;padding:9px 10px}.winner-ratings{flex-wrap:wrap;gap:5px}.winner-ratings span{padding:6px 8px}.wheel-result-notice{margin-bottom:0}}
@media(max-width:380px){.wheel-frame{width:min(100%,282px)}.wheel-labels{--wheel-label-radius:89px}.wheel-label{font-size:8px;width:57px}.wheel-stage{padding-left:5px;padding-right:5px}}
@media(prefers-reduced-motion: reduce){.film-card,.wheel-mode,.app-tab{transition:none}}

/* NOCTURNE 2.1 — интерактивные панели статистики и списки фильмов */
.stats{grid-template-columns:repeat(auto-fit,minmax(178px,1fr))}
.stat-action{position:relative;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:border-color .2s,transform .2s,background .2s}
.stat-action:hover,.stat-action:focus-visible{border-color:#dc7688;transform:translateY(-2px);background:#22202d;outline:none}
.stat-action strong{margin-top:6px}.stat-open{display:block;margin-top:6px!important;letter-spacing:0!important;text-transform:none!important;font-size:10px!important;color:#e9aeb4!important;opacity:.85}
.insights-backdrop{z-index:33}
.insights-modal{position:relative;display:flex;flex-direction:column;gap:12px;width:min(100%,800px);max-height:min(92vh,900px);min-height:min(66vh,520px);background:#171923;border:1px solid #674454;border-radius:18px;padding:25px;box-shadow:0 24px 100px #000d}
.insights-modal h2{font-family:Georgia,serif;font-size:clamp(26px,3vw,38px);margin:0;padding-right:40px;line-height:1.15}
.insights-description{font-size:12px;color:#b6aebb;margin:0;max-width:690px}
.insights-tabs{display:flex;flex-wrap:wrap;gap:8px}
.insight-tab{padding:9px 14px;border:1px solid #493848;background:#25222f;border-radius:9px;color:#e4d7df;font-size:12px;min-width:76px}
.insight-tab:hover,.insight-tab:focus-visible{border-color:#d47889}.insight-tab.selected{background:#603141;border-color:#ee8494;color:#fff}
.insights-toolbar{display:flex;align-items:center;gap:13px}.insights-toolbar input{font-size:13px;flex:1}.insights-toolbar span{white-space:nowrap;color:#b5adb8;font-size:11px}
.insights-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding:2px 4px 7px 0}
.insight-film{width:100%;border:1px solid #32323e;background:#20212c;border-radius:11px;display:flex;gap:13px;align-items:center;padding:9px;text-align:left;color:#eee;min-height:90px;transition:border-color .15s,background .15s}
.insight-film:hover,.insight-film:focus-visible{outline:none;border-color:#d67889;background:#302531}
.insight-poster{display:grid;place-items:center;flex:0 0 48px;width:48px;height:72px;overflow:hidden;border-radius:6px;background:linear-gradient(145deg,#78414e,#2f3043);color:#eec3c9;font-size:23px}
.insight-poster img{height:100%;width:100%;object-fit:cover}
.insight-film-info{min-width:0;flex:1}.insight-film-info strong{font-size:14px;display:block;white-space:normal;line-height:1.2}.insight-film-info small{display:block;margin:5px 0;color:#b6aeba;font-size:11px}
.insight-tags{display:flex;gap:6px;flex-wrap:wrap}.insight-tag{font-size:10px;border:1px solid #493c4d;border-radius:5px;color:#dfccd4;padding:4px 6px}
.insight-film-score{font-size:13px;color:#f3c7c9;flex:0 0 auto;white-space:nowrap}
.insight-empty{font-size:13px;color:#c8b6bf;text-align:center;margin:35px 10px}

/* NOCTURNE 2.1 — настраиваемое колесо, афиши в секторах, защита от повторов */
.wheel-options{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px;padding:13px 18px;border:1px solid #4e3946;border-radius:12px;background:#1a1b25}
.wheel-option-heading{display:flex;flex-direction:column;gap:6px}
.wheel-slice-picker{display:flex;align-items:center;gap:5px}
.wheel-slice-picker button{width:44px;height:34px;border:1px solid #50414e;border-radius:8px;background:#27212f;color:#e4d7df;font-size:12px;font-weight:800}
.wheel-slice-picker button:hover,.wheel-slice-picker button:focus-visible{border-color:#f09eab;outline:none}
.wheel-slice-picker button.selected{background:#7a3b50;border-color:#e28191;color:white}
.wheel-history-toggle{grid-column:auto;margin:0;display:flex;align-items:center;gap:9px;flex:1;font-size:12px;color:#dccbd3}
.wheel-history-toggle span{font-size:12px}
.wheel-reset-history{font-size:11px;white-space:nowrap}
.wheel-shuffle{margin-top:11px;background:transparent!important;padding:7px 15px!important;font-size:12px;color:#e6c7cb!important}
.wheel-shuffle:disabled{opacity:.35;cursor:not-allowed}
.wheel-history-note{font-size:11px;color:#b6a4b1;margin:1px 5px 0}
.wheel-label{display:flex;flex-direction:column;gap:3px;width:76px;max-height:74px;overflow:visible;animation:wheel-reveal .48s ease-out both;animation-delay:var(--reveal-delay,0ms);font-size:10px}
.wheel-thumb{display:block;flex:0 0 auto;width:27px;height:36px;border:1px solid #e8c3ccad;border-radius:4px;object-fit:cover;box-shadow:0 2px 10px #09071099;background:#322637}
.wheel-thumb-fallback{display:grid;place-items:center;color:#f5d7df;font-size:13px;font-weight:900}
.wheel-name{max-height:26px;max-width:100%;overflow:hidden;overflow-wrap:anywhere;font-size:9px;line-height:1.05;text-align:center}
.wheel-disc[data-density="compact"] .wheel-label{width:34px;gap:0}
.wheel-disc[data-density="compact"] .wheel-name{display:none}
.wheel-disc[data-density="compact"] .wheel-thumb{width:25px;height:33px}
.wheel-disc[data-density="medium"] .wheel-label{width:59px}
.wheel-disc[data-density="medium"] .wheel-name{font-size:8px}
@keyframes wheel-reveal{from{opacity:0;filter:blur(4px) brightness(1.5)}to{opacity:1;filter:blur(0) brightness(1)}}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wheel-options{gap:12px;padding:12px}.wheel-option-heading{width:100%}.wheel-history-toggle{min-width:65%}.wheel-reset-history{margin-left:auto}.insights-modal{padding:18px 13px;max-height:95vh}.insights-toolbar{flex-wrap:wrap}.insights-toolbar input{min-width:100%}.wheel-labels{--wheel-label-radius:clamp(82px,31vw,116px)}.wheel-disc[data-density="compact"] .wheel-thumb{width:18px;height:26px}.wheel-disc[data-density="compact"] .wheel-label{width:22px}.wheel-disc[data-density="medium"] .wheel-name{display:none}.wheel-disc[data-density="medium"] .wheel-label{width:30px}}
@media(max-width:380px){.wheel-labels{--wheel-label-radius:88px}.wheel-label{width:43px}.wheel-name{font-size:8px}}
@media(prefers-reduced-motion:reduce){.wheel-label{animation:none}.stat-action{transition:none}}
@media(min-width:1100px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1099px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* NOCTURNE 2.2 — мэтчи, плавающая компактная навигация */
html{scroll-padding-top:76px}
.topbar{transition:min-height .18s ease,height .18s ease,padding .18s ease}
.topbar.compact{height:54px;min-height:54px;padding-top:0;padding-bottom:0;gap:16px;box-shadow:0 12px 32px #05040a9c}
.topbar.compact .brand strong{font-size:14px;letter-spacing:2px}
.topbar.compact .brand small{display:none}
.topbar.compact .mark{font-size:26px}
.topbar.compact .account .small{display:none}
.topbar.compact .account{gap:8px;margin-left:auto}
.topbar.compact .save-state{font-size:10px}
.mini-nav{display:none;align-items:center;gap:5px;white-space:nowrap}
.topbar.compact .mini-nav{display:flex}
.mini-nav button{position:relative;border:1px solid #50404c;background:#29212d;border-radius:9px;padding:8px 12px;color:#eedbdf;font-size:12px;font-weight:650}
.mini-nav button.selected{background:#71354b;border-color:#d37e90;color:#fff}
.mini-nav button:hover{border-color:#e9a0aa}
.mini-nav button i{font-style:normal;background:#b84e65;border-radius:12px;padding:1px 5px;margin-left:4px;font-size:10px}
.match-count{color:#f7cecb;background:#7b3a4e;border-radius:9px;padding:2px 7px;margin-left:3px}
.matches-view{padding:36px 0 55px;min-height:45vh}
.matches-heading h2{font:normal clamp(28px,4vw,44px)/1.12 Georgia,serif;margin:12px 0}
.matches-heading p{color:#bcb3c0;font-size:14px;max-width:700px}
.matches-summary{display:flex;align-items:center;gap:20px;margin:22px 0;font-size:14px;color:#f0b8c6}
.match-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}
.match-card{border:1px solid #533949;background:#1b1925;border-radius:12px;color:#f2e9ed;text-align:left;padding:0;overflow:hidden;min-width:0;transition:transform .2s,border-color .2s}
.match-card:hover,.match-card:focus-visible{transform:translateY(-3px);border-color:#e38a9d;outline:none}
.match-card-poster{display:grid;place-items:center;position:relative;aspect-ratio:2/3;background:linear-gradient(145deg,#7c3954,#262436);font:20px Georgia,serif;text-align:center}
.match-card-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.match-card-poster i{font:700 10px inherit;letter-spacing:.5px;position:absolute;bottom:9px;left:8px;padding:5px 8px;background:#842f51ec;border-radius:5px;color:#fff}
.match-card-info{display:grid;gap:5px;padding:12px}.match-card-info strong{font-size:13px}.match-card-info small{font-size:11px;color:#b9adb9}.match-card-info>span{font-size:10px;color:#ead1d2}
.matches-empty{border:1px dashed #75485b;background:#1d1a26;border-radius:13px;padding:35px 20px;color:#d6bdc7;text-align:center;font-size:13px}
.match-indicator{border:1px solid #68504d;background:#35272d;color:#f2d4b5;border-radius:10px;padding:10px 13px;font-size:12px;margin:0 0 16px}
.match-indicator.is-match{background:#402038;border-color:#b75d81;color:#ffd3e0}
.match-toast{position:fixed;z-index:45;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#322031;border:1px solid #d97995;border-radius:13px;box-shadow:0 14px 48px #000c;color:#fff;max-width:min(92vw,440px)}
.match-toast-icon{background:#8c395c;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:21px;color:#fff}
.match-toast p{margin:2px 0 0;color:#e9cdd4;font-size:12px}.match-toast button{background:#513347;border:1px solid #925068;border-radius:8px;color:#fff;padding:7px;font-size:12px}.match-toast button:last-child{background:transparent;border:0;font-size:21px}
.film-card .chip.match-chip{background:#512c41;border-color:#c46b86;color:#ffd8e4}.match-pill{color:#f5bacb;font-size:12px;font-weight:750}
@media(max-width:1100px){.match-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.topbar.compact{height:52px;min-height:52px;padding:0 10px}.topbar.compact .brand{gap:5px}.topbar.compact .brand strong{font-size:12px;letter-spacing:1px}.topbar.compact .mark{font-size:21px}.topbar.compact .account{display:none}.mini-nav{gap:3px}.mini-nav button{padding:7px 8px;font-size:11px}.mini-nav button span{display:none}.matches-view{padding:22px 0}.match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.match-toast{bottom:12px;right:10px;left:10px}.app-tabs{gap:5px}.app-tab{padding:10px 7px;font-size:11px}}
@media(max-width:380px){.topbar.compact .brand strong{font-size:11px}.mini-nav button{padding:6px}.mini-nav button i{padding:1px 3px}}
@media(prefers-reduced-motion:reduce){.topbar,.match-card{transition:none}}


/* NOCTURNE 2.2.3 · cinematic winner reveal, adapted for desktop and mobile */
.wheel-winner-backdrop{z-index:46;background:rgba(6,7,12,.89);backdrop-filter:blur(10px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(10px,3.5vw,38px)}
.wheel-winner-dialog{position:relative;width:min(100%,815px);max-height:min(94dvh,900px);overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(circle at 15% 0%,#53283b 0%,#211923 36%,#111620 80%);border:1px solid #a05d6d;border-radius:23px;box-shadow:0 32px 115px #000d,0 0 75px #ae566b2a;padding:clamp(18px,3.2vw,34px);outline:none;animation:wheel-winner-in .4s cubic-bezier(.17,.8,.2,1) both}
.wheel-winner-close{position:absolute;z-index:1;top:17px;right:17px;width:38px;height:38px;border-radius:50%;border:1px solid #77525f;background:#17131ddc;color:#fff;font-size:16px}
.wheel-winner-close:hover,.wheel-winner-close:focus-visible{background:#613346;border-color:#db8b98}
.wheel-winner-heading{text-align:center;padding:0 30px 20px}
.wheel-winner-star{display:block;font-size:33px;color:#f8c0bb;line-height:1;filter:drop-shadow(0 0 12px #d45e77);margin-bottom:12px}
.wheel-winner-heading .eyebrow{color:#eeb0af}
.wheel-winner-heading h2{font-family:Georgia,serif;font-size:clamp(24px,4vw,38px);font-weight:500;margin:7px 0 2px;color:#fff2ee}
.wheel-winner-heading p{color:#bdafb7;margin:0;font-size:12px}
.wheel-winner-layout{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:clamp(20px,4vw,38px);align-items:center}
.wheel-winner-poster{width:100%;aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden;border-radius:13px;border:1px solid #8e6471;background:linear-gradient(145deg,#9e5161,#272538);box-shadow:0 18px 55px #0009;color:#f5d4d7;text-align:center;padding:0}
.wheel-winner-poster img{display:block;width:100%;height:100%;object-fit:cover}
.wheel-winner-fallback{padding:22px;font-family:Georgia,serif;font-size:clamp(16px,2vw,24px)}
.wheel-winner-copy{min-width:0}
.wheel-winner-copy h3{font-family:Georgia,serif;font-weight:500;font-size:clamp(27px,4vw,43px);line-height:1.1;letter-spacing:-.7px;margin:0 0 8px;overflow-wrap:anywhere}
.wheel-winner-original{font-size:13px;color:#b9adb6;margin:0 0 9px}
.wheel-winner-meta{font-size:13px;color:#e3bac1;margin:0 0 18px;overflow-wrap:anywhere}
.wheel-winner-ratings{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.wheel-winner-rating{padding:10px 13px;border-radius:9px;border:1px solid #5e4450;background:#201c2a;min-width:98px}
.wheel-winner-rating small{display:block;font-size:10px;letter-spacing:.08em;color:#b5a5b2;margin-bottom:3px}
.wheel-winner-rating b{color:#ffe1a8;font-size:19px}
.wheel-winner-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.wheel-winner-actions .primary,.wheel-winner-actions .ghost{display:flex;justify-content:center;align-items:center;text-align:center;min-height:46px;white-space:normal;margin:0;padding:10px;font-size:12px;text-decoration:none}
.wheel-winner-actions .wheel-winner-lordfilm{grid-column:1/-1;background:#ce5364;color:#fff;border:1px solid #df7380}
.wheel-winner-actions .wheel-winner-lordfilm:hover{background:#e3697b}
.wheel-winner-hint{font-size:11px;color:#a99eab;margin:13px 0 0}
.wheel-winner-dialog :focus-visible{outline:2px solid #f1afbb;outline-offset:3px}
@keyframes wheel-winner-in{from{transform:translateY(24px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@media(max-width:640px){.wheel-winner-backdrop{padding:10px;align-items:center}.wheel-winner-dialog{padding:18px;max-height:94dvh;border-radius:17px}.wheel-winner-heading{padding:4px 24px 14px}.wheel-winner-heading h2{font-size:26px}.wheel-winner-star{font-size:25px;margin-bottom:7px}.wheel-winner-layout{grid-template-columns:clamp(95px,32vw,148px) minmax(0,1fr);gap:13px;align-items:start}.wheel-winner-copy h3{font-size:clamp(19px,5.3vw,28px)}.wheel-winner-original,.wheel-winner-meta{font-size:11px;margin-bottom:6px}.wheel-winner-ratings{gap:5px;margin-bottom:12px}.wheel-winner-rating{min-width:65px;padding:6px 7px}.wheel-winner-rating small{font-size:9px}.wheel-winner-rating b{font-size:16px}.wheel-winner-actions{grid-template-columns:1fr;gap:7px}.wheel-winner-actions .wheel-winner-lordfilm{grid-column:auto}.wheel-winner-actions .primary,.wheel-winner-actions .ghost{min-height:40px;font-size:11px;padding:8px 6px}.wheel-winner-hint{font-size:10px;margin-top:8px}}
@media(max-width:370px){.wheel-winner-layout{grid-template-columns:93px minmax(0,1fr)}.wheel-winner-heading{padding-bottom:10px}.wheel-winner-ratings{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.wheel-winner-dialog{animation:none}}
