.request-page,.request-dialog { --rq-accent:var(--home-accent,#ff4b02); --rq-accent-hover:color-mix(in srgb,var(--rq-accent) 88%,#000); --rq-accent-soft:color-mix(in srgb,var(--rq-accent) 15%,transparent); }
.request-page { --rq-muted:#aaa; display:block; margin:0 auto 60px; color:#f5f5f5; font-size:14px; line-height:1.6; }
.request-page *, .request-dialog * { box-sizing:border-box; }
.request-page [hidden],.request-dialog [hidden] { display:none!important; }
.request-page h1,.request-page h2,.request-page h3,.request-page p { margin:0; }
.request-page button,.request-page input,.request-page textarea,.request-dialog button,.request-dialog textarea { font:inherit; }
.request-page a { text-decoration:none; color:inherit; }
.request-page button,.request-page a,.request-page input,.request-page textarea,.request-dialog button,.request-dialog textarea { -webkit-tap-highlight-color:transparent; }
.request-page :focus-visible,.request-dialog :focus-visible { outline:2px solid var(--rq-accent); outline-offset:3px; }
.request-page ::selection,.request-dialog ::selection { background:var(--rq-accent-soft); color:#fff; }
.request-page input,.request-page textarea,.request-dialog textarea { caret-color:var(--rq-accent); }
.request-hero { height:600px; display:flex; align-items:center; position:relative; }
.request-hero::before { content:''; position:absolute; inset-block:0; left:50%; width:calc(100vw / var(--site-pc-scale-1552,1)); transform:translateX(-50%); background:url('/static/images/request/hero@2x.png') center top/cover no-repeat; pointer-events:none; }
.request-hero-copy { position:relative; z-index:1; max-width:620px; }
.request-hero h1 { font-size:48px; line-height:1.4; font-weight:600; text-wrap:balance; }
.request-hero h1 em { color:var(--rq-accent); font-style:normal; }
.request-hero-copy>p { margin:16px 0 24px; color:#c1b7b1; font-size:14px; max-width:42ch; }
.request-mobile { display:none; }
.request-button { border:1px solid #404040; background:#292929; color:#eee; border-radius:10px; padding:10px 18px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; white-space:nowrap; line-height:20px; }
.request-button img,.request-section-title img,.request-form-panel h2 img { width:16px; height:16px; object-fit:contain; flex:none; }
.request-primary { background:var(--rq-accent); border-color:transparent; color:#fff!important; font-weight:500; }

.request-button:disabled { opacity:.45; cursor:not-allowed; }
.request-featured { position:absolute; z-index:1; right:0; bottom:28px; display:flex; align-items:center; gap:12px; width:330px; max-width:100%; padding:12px; background:#242323e8; border:1px solid #51443e; border-radius:12px; }
.request-featured>span:first-child img { width:44px; height:58px; object-fit:cover; border-radius:6px; }
.request-featured>span:nth-child(2) { flex:1; min-width:0; }.request-featured b { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:14px; }.request-featured small { display:block; font-size:11px; color:#bab0aa; }.request-featured>span:last-child{font-size:12px;color:var(--rq-accent);}
.request-layout { margin-top:60px; display:grid; grid-template-columns:minmax(0,1106fr) minmax(0,570fr); gap:24px; align-items:start; }
.request-main { min-width:0; }.request-stats { display:flex; align-items:center; justify-content:space-around; background:#1d1d1d; border:1px solid #2b2b2b; border-radius:12px; margin-bottom:24px; padding:12px; font-size:12px; color:var(--rq-muted); }.request-stats span:before { content:''; display:inline-block; width:6px;height:6px; background:var(--rq-accent); border-radius:50%; margin-right:8px; }.request-stats span:last-child:before { background:#d7b845; }.request-stats strong { color:#f5f5f5; margin-left:12px; font-variant-numeric:tabular-nums; }
.request-form-panel,.request-road,.request-recent { background:#1c1c1c; border-radius:16px; padding:28px; }
.request-page h2 { font-size:18px; line-height:26px; font-weight:500; display:flex; align-items:center; gap:8px; }
.request-form-panel>h2 { background:#292929; padding:12px 16px; border-radius:10px; margin-bottom:24px; }.request-form-panel>h2 small { font-size:12px; color:var(--rq-muted);font-weight:400; }
.request-page fieldset { min-width:0; border:0; padding:0; margin:0; }.request-page fieldset.request-field { margin-bottom:24px; }.request-field { margin-bottom:24px; }.request-field label,.request-field legend { font-size:14px; line-height:22px; }.request-field legend { margin-bottom:8px; }.request-field small { color:var(--rq-muted); font-size:12px; }.request-label { display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; align-items:center; }.request-label>span { color:var(--rq-muted); font-size:12px; font-variant-numeric:tabular-nums; }.request-required { color:#d6cbbb; font-size:10px; background:#413a2c; padding:3px 6px; margin-left:8px; border-radius:4px; }
.request-page input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not(.pagination-jump-input),.request-page textarea,.request-dialog textarea { background:#292929; border:1px solid #393939; border-radius:10px; color:#f5f5f5; padding:12px 14px; width:100%; min-width:0; line-height:1.6; font-size:14px; }
.request-page input::placeholder,.request-page textarea::placeholder,.request-dialog textarea::placeholder { color:#aaa; opacity:1; }.request-page textarea,.request-dialog textarea { resize:vertical; min-height:140px; display:block; }.request-page input[hidden]+* { margin-top:0; }
.request-choices { display:flex; flex-wrap:wrap; gap:8px; }.request-choice { position:relative; display:inline-flex; }.request-choice input { position:absolute; inset:0; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }.request-choice span { padding:5px 12px; border-radius:7px; background:#292929; border:1px solid #3a3a3a; color:#bdbdbd; font-size:12px; line-height:20px; pointer-events:none; }.request-choice input:checked+span { background:var(--rq-accent); border-color:var(--rq-accent); color:#fff; }.request-choice input:focus-visible+span { outline:2px solid var(--rq-accent); outline-offset:3px; }
.request-custom-toggle { border:1px dashed var(--rq-accent); color:var(--rq-accent); background:transparent; padding:5px 12px; border-radius:7px; margin-top:0; cursor:pointer; font-size:12px!important; display:inline-flex;align-items:center;gap:5px;line-height:20px; }.request-page #requestCustom,.request-page #requestReferenceURL { margin-top:10px; }
.request-hint { color:var(--rq-muted); font-size:12px; line-height:20px; margin-top:8px!important; display:block; }.request-center { text-align:center; }.request-reference { display:flex; gap:8px; margin-top:8px; }.request-reference>input { flex:1; }.request-reference .request-button { font-size:12px; padding:10px 12px; }.request-upload { position:relative; overflow:hidden; }.request-upload input { position:absolute; inset:0; width:100%; opacity:0; cursor:pointer; }.request-upload:focus-within { outline:2px solid var(--rq-accent); outline-offset:3px; }.request-format-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.request-submit { width:100%; min-height:48px; }.request-status { margin-top:12px!important; font-size:13px; overflow-wrap:anywhere; }.request-status:empty { display:none; }.request-status.is-error { color:#ffac91; }.request-status.is-success { color:#99d9b2; }
.request-attachments { display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }.request-attachment { display:flex; flex-direction:column; align-items:center; gap:6px; width:84px; font-size:11px; }.request-attachment img{width:84px;height:76px;object-fit:cover;border-radius:6px;}.request-attachment button { background:none;border:0;color:var(--rq-accent);cursor:pointer; }.request-attachment>span { overflow-wrap:anywhere; }
.request-sidebar { display:grid; gap:24px; }.request-section-title { display:flex; justify-content:space-between; align-items:center; gap:12px; }.request-section-title>small{font-size:11px;color:var(--rq-muted);}.request-road ol { display:flex; padding:0; margin:24px 0 0; list-style:none; gap:8px; justify-content:space-between; }.request-road li { flex:1; text-align:center; min-width:0; position:relative; }.request-road li:not(:last-child):after { content:''; position:absolute; height:1px; background:#3d3d3d; width:50%; left:75%; top:18px; }.request-road li>span { width:36px;height:36px;border:1px solid var(--rq-accent);border-radius:50%;display:grid;place-items:center;margin:0 auto 10px; }.request-road li img { width:16px;height:16px; }.request-road b { display:block; font-size:12px; font-weight:400; color:#c9c9c9; }.request-road small { display:block; font-size:10px;color:#aaa;margin-top:4px; }
/* Figma 44702:196454: completed titles use linked, on-shelf playlet data. */
.request-made { margin-top:48px; padding-top:29px; border-top:1px solid #242424; }
.request-made h2 { font-size:20px; line-height:28px; }
.request-carousel-controls { display:flex; gap:8px; flex:none; }
.request-carousel-controls .request-button { width:32px; height:32px; min-height:32px; padding:0; border-radius:6px; }
.request-carousel-controls img { width:16px; height:16px; }
.request-made-list { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#555 #242424; margin-top:20px; padding-bottom:12px; }
.request-made-card { display:flex; gap:16px; background:linear-gradient(180deg,rgba(25,27,32,.75),rgba(18,19,23,.85)); border:1px solid #292a2e; border-radius:18px; padding:15px; flex:0 0 381px; scroll-snap-align:start; min-width:0; }
.request-made-poster { width:128px; height:171px; flex:none; position:relative; overflow:hidden; border-radius:12px; background:#252525; }
.request-made-poster>img { display:block; width:100%; height:100%; object-fit:cover; }
.request-made-placeholder { display:grid; place-items:center; height:100%; color:#aaa; font-size:12px; }
/* Figma 44702:196477: translucent completed badge over the poster. */
.request-made-state { position:absolute; bottom:7px; left:7px; display:flex; align-items:center; gap:4px; padding:2px 6px; font-size:10px; font-weight:400; line-height:16px; white-space:nowrap; border-radius:3px; background:rgba(0,0,0,.05); color:#0abe75; backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
.request-made-state::before { content:''; width:6px; height:6px; flex:none; border-radius:50%; background:currentColor; }
.request-made-detail { min-width:0; flex:1; display:flex; flex-direction:column; justify-content:space-between; padding-block:2px; }
.request-made-card h3 { font-size:14px; line-height:20px; font-weight:500; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.request-made-card p { font-size:12px; line-height:18px; color:#aaa; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; margin-top:4px; }
.request-made-source { display:flex; align-items:flex-start; gap:4px; color:var(--rq-accent); font-size:12px; line-height:18px; margin-top:8px; }
.request-made-source .request-icon { width:12px; height:12px; margin-top:3px; flex:none; }
.request-made-source>span { overflow-wrap:anywhere; }
.request-made-footer { padding-top:8px; }
.request-made-card .request-views { display:flex; justify-content:space-between; gap:8px; color:#aaa; font-size:12px; line-height:18px; margin-bottom:8px; }
.request-views strong { color:var(--rq-accent); font-weight:500; font-variant-numeric:tabular-nums; }
.request-made-card .request-button { font-size:12px; min-height:30px; padding:5px 16px; border-radius:8px; line-height:18px; gap:6px; }
.request-made-card .request-button img { width:14px; height:14px; }
.request-dialog {color:#eee;background:#202020;border:1px solid #494949;border-radius:16px;padding:24px;width:min(580px,calc(100% - 28px));max-height:85dvh;overflow:auto;font:14px/1.6 inherit;}.request-dialog::backdrop{background:#000b;}.request-dialog header {display:flex;align-items:center;justify-content:space-between;gap:16px;}.request-dialog h2{font-size:18px;}.request-dialog form {margin-top:24px;}.request-dialog textarea{margin:10px 0;min-height:90px;}.request-dialog .request-primary{background:var(--rq-accent);}.request-dialog p{overflow-wrap:anywhere;white-space:pre-wrap;}.request-dialog #requestCommentStatus {color:#ffc19d;font-size:13px;}.request-comment {border-bottom:1px solid #393939;padding:14px 0;}.request-comment small{color:#aaa;}.request-comment p{margin:6px 0;}
@media(hover:hover){.request-button:not(:disabled):hover {background:#383838;border-color:#666;}.request-primary:not(:disabled):hover{background:var(--rq-accent-hover);border-color:transparent;}.request-choice:hover span{border-color:#858585;}.request-full-rank:hover{background:#333;}.request-made-card:hover{border-color:#625045;}}
@media(max-width:860px){.request-page{width:calc(100% - 32px);max-width:none;margin:16px auto 32px;font-size:13px;}.request-hero{display:block;height:auto;width:100%;margin-inline:0;min-height:0;padding:22px 18px 0;background:radial-gradient(ellipse at top right,#522514 0,transparent 75%),#1c1c1c;border-radius:16px 16px 0 0;}.request-hero h1{font-size:26px;line-height:1.25;}.request-hero-copy>p{font-size:12px;line-height:1.6;margin:12px 0;max-width:46ch;}.request-mobile{display:block;}.request-hero .request-button{font-size:12px;min-height:34px;padding:6px 14px;border-radius:8px;}.request-featured{position:static;width:100%;margin-top:18px;padding:10px;}.request-featured>span:first-child img{width:36px;height:48px;}.request-layout{margin-top:0;display:flex;flex-direction:column;gap:16px;}.request-main,.request-sidebar{width:100%;}.request-sidebar{gap:16px;}.request-stats{border:0;border-radius:0 0 16px 16px;padding:20px 12px 16px;margin-bottom:16px;}.request-stats span{flex:1;text-align:center;font-size:10px;}.request-stats span+span{border-left:1px solid #3a3a3a;}.request-stats strong{display:block;margin-left:0;font-size:14px;}.request-form-panel,.request-road,.request-recent{padding:18px 16px;border-radius:14px;}.request-form-panel>h2{padding:10px;font-size:14px;gap:7px;margin-bottom:22px;}.request-form-panel>h2 small{font-size:10px;}.request-page h2{font-size:16px;line-height:24px;}.request-field{margin-bottom:22px;}.request-field label,.request-field legend{font-size:12px;}.request-field small,.request-label>span{font-size:10px;}.request-page input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not(.pagination-jump-input),.request-page textarea,.request-dialog textarea{font-size:16px;padding:10px 12px;}.request-page input::placeholder,.request-page textarea::placeholder{font-size:12px;}.request-choices{gap:7px;}.request-choice span{font-size:11px;padding:4px 9px;line-height:19px;}.request-reference{flex-wrap:wrap;}.request-reference>input{flex-basis:100%;}.request-reference .request-button{flex:1;font-size:12px;min-height:36px;padding:7px 12px;}.request-format-row{grid-template-columns:1fr;gap:0;}.request-hint{font-size:10px;line-height:18px;}.request-submit{min-height:44px;}.request-recent{margin-top:16px;}.request-recent .request-section-title{align-items:flex-start;flex-direction:column;gap:8px;}.request-recent nav{gap:20px;}.request-road ol{gap:5px;}.request-road b{font-size:11px;}.request-road small{font-size:9px;}.request-made{margin-top:28px;padding-top:0;border:0;}.request-made h2{font-size:16px;}.request-made .request-section-title{gap:8px;}.request-made-list{gap:12px;margin-top:14px;}.request-dialog{padding:18px;}.request-form-panel{scroll-margin-top:68px;}#requestForm,#requestRecent{scroll-margin-top:72px;}}
@media(prefers-reduced-motion:no-preference){.request-choice span,.request-button{transition:background-color .16s ease-out,border-color .16s ease-out;}.request-made-list{scroll-behavior:smooth;}}

.request-featured>span:first-child { flex:none; }

/* The preview and complete list share one card and one voting progress model. */
.request-custom-icon { width:12px; height:12px; flex:none; display:inline-block; background:currentColor; mask:url('/static/images/request/plus@2x.png') center/contain no-repeat; -webkit-mask:url('/static/images/request/plus@2x.png') center/contain no-repeat; }
.request-reference .request-button { border-radius:10px; }
.request-recent { margin:0; padding:22px; border:1px solid #303030; }
.request-recent .request-section-title { gap:12px; align-items:center; }
.request-recent h2 { font-size:16px; white-space:nowrap; }
.request-recent h2::before { content:''; width:3px; height:14px; border-radius:2px; background:var(--rq-accent); flex:none; }
.request-page select { background:#292929; color:#c9c9c9; border:1px solid #414141; border-radius:8px; padding:7px 9px; font:inherit; font-size:12px; max-width:100%; color-scheme:dark; }
.request-full-rank { display:flex; justify-content:center; align-items:center; gap:6px; background:#292929; border:1px solid #393939; color:#eee; border-radius:10px; padding:10px; font-size:12px; width:100%; margin-top:14px; }
#requestList { display:grid; gap:16px; margin-top:20px; }
.request-card { display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; background:#262626; border:1px solid #383838; border-radius:12px; padding:16px; min-width:0; }
.request-card-poster { position:relative; overflow:hidden; border-radius:10px; background:#171717; align-self:start; width:100%; aspect-ratio:3/4; }
.request-card-poster>img { width:100%; height:100%; object-fit:cover; }
.request-poster-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#aaa; font-size:11px; }
.request-poster-placeholder img { width:24px; height:24px; opacity:.7; }
.request-card-rank { display:flex; align-items:center; gap:4px; position:absolute; top:7px; left:6px; padding:3px 5px; border-radius:5px; background:#352719d9; color:#f5d0b6; font-size:10px; line-height:14px; }
.request-rank-icon { width:12px; height:12px; flex:none; background:currentColor; mask:url('/static/images/request/diamond@2x.png') center/contain no-repeat; -webkit-mask:url('/static/images/request/diamond@2x.png') center/contain no-repeat; }
.request-card-rank[data-rank="1"] { background:#5c481ce6; color:#ffe08a; }
.request-card-rank[data-rank="2"] { background:#3c4856e6; color:#dbe8f8; }
.request-card-rank[data-rank="3"] { background:#603f2ee6; color:#f5bd95; }
.request-poster-placeholder { padding:28px 4px 44px; justify-content:flex-start; gap:0; }
.request-poster-placeholder .request-icon { display:none; }
@media(min-width:861px) {
  .request-rank-page .request-poster-placeholder { padding:28px 8px 44px; justify-content:center; gap:8px; }
  .request-rank-page .request-poster-placeholder .request-icon { display:block; }
}
.request-card-intro { min-width:0; }
.request-card-author { display:flex; align-items:center; gap:7px; font-size:12px; min-width:0; line-height:18px; }
.request-card-author .request-icon { width:14px; height:14px; flex:none; }
.request-card-author>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.request-card-author time { font-size:10px; color:#aaa; white-space:nowrap; margin-left:auto; }
.request-card h3 { font-weight:500; font-size:14px; line-height:21px; margin:8px 0 6px; overflow-wrap:anywhere; }
.request-card h3 button { all:unset; cursor:pointer; }
.request-card h3 button:focus-visible { outline:2px solid var(--rq-accent); outline-offset:3px; }
.request-card-plot { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; color:#aaa; font-size:12px; line-height:20px; }
.request-card-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.request-card-tags span { border:1px solid #444; color:#b8b8b8; border-radius:20px; padding:2px 8px; font-size:10px; line-height:15px; }
.request-card-tags .request-card-state { background:#302d24; border-color:#504329; }
.request-state-text[data-status="0"] { color:#b6b6b6; }
.request-state-text[data-status="1"] { color:#d4af37; }
.request-state-text[data-status="2"] { color:var(--rq-accent); }
.request-state-text[data-status="3"] { color:#0abe75; }
.request-state-text[data-status="4"] { color:#ef7070; }
.request-card-progress { grid-column:1/-1; background:#292929; border:1px solid #3a3a3a; border-radius:10px; padding:10px; font-size:10px; }
.request-progress-heading { display:flex; align-items:center; justify-content:space-between; gap:6px; flex-wrap:wrap; line-height:18px; }
.request-progress-heading strong,.request-progress-percent { color:var(--rq-accent); font-weight:500; font-variant-numeric:tabular-nums; }
.request-progress-bar { display:block; appearance:none; width:100%; height:6px; border:0; border-radius:3px; overflow:hidden; margin:7px 0; background:#3b3b3b; accent-color:var(--rq-accent); }
.request-progress-bar::-webkit-progress-bar { background:#3b3b3b; }
.request-progress-bar::-webkit-progress-value { background:var(--rq-accent); border-radius:3px; }
.request-progress-bar::-moz-progress-bar { background:var(--rq-accent); border-radius:3px; }
.request-progress-note { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; color:#aaa; line-height:16px; }
.request-card-actions { grid-column:1/-1; display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:12px; }
.request-card-actions .request-button { font-size:12px; min-height:34px; padding:7px 12px; border-radius:8px; }
.request-vote.is-voted { background:var(--rq-accent-soft); border-color:var(--rq-accent); color:var(--rq-accent)!important; }
.request-support-icon { width:14px; height:14px; flex:none; display:inline-block; background:currentColor; mask:url('/static/images/request/support@2x.png') center/contain no-repeat; -webkit-mask:url('/static/images/request/support@2x.png') center/contain no-repeat; }
.request-comment-link { background:none; border:0; color:#bababa; font:inherit; cursor:pointer; padding:7px 0; }
.request-card-share { display:grid; place-items:center; background:#292929; border:1px solid #444; border-radius:8px; width:32px; height:32px; margin-left:auto; cursor:pointer; }
.request-card-share .request-icon { width:14px; height:14px; }
.request-card-play { font-size:12px; color:var(--rq-accent)!important; }
.request-card-message,.request-remark { grid-column:1/-1; font-size:11px; color:#e6c17c; margin:0!important; overflow-wrap:anywhere; }
.request-card-message:empty { display:none; }
.request-empty { padding:28px 0; color:#aaa; font-size:13px; text-align:center; width:100%; }
.request-detail-plot { font-size:14px; line-height:1.8; color:#bbb; padding:14px 0; border-bottom:1px solid #393939; }
/* Content and breadcrumbs inherit the same shared topic-layout canvas. */
.request-breadcrumb-shell { position:relative; margin-block:36px 24px; }
.request-breadcrumb-shell .site-breadcrumb { gap:0; }
.request-breadcrumb-shell .site-breadcrumb>span:not([aria-current]) { margin-inline:5px; }
.request-breadcrumb-shell .request-review-note { position:absolute; right:0; top:50%; transform:translateY(-50%); margin:0; }
.request-rank-page { padding-top:0; }
.request-review-note { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:500; line-height:18px; color:rgba(255,255,255,.55); background:#262626; padding:8px 16px; border-radius:8px; }
.request-entry-dot { width:10px; height:10px; flex-shrink:0; background:#0abe75; border-radius:50%; }
.request-review-note>span:last-child { display:flex; align-items:center; gap:6px; }
.request-review-note img,.request-rank-assurances img { width:16px; height:16px; object-fit:contain; }
.request-rank-hero { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:33px; border:1px solid #303030; border-radius:20px; background:#1c1c1c; }
.request-rank-copy { min-width:0; padding-block:4px; }
.request-rank-kicker { display:inline-flex; align-items:center; gap:8px; background:rgba(248,147,0,.08); border:1px solid rgba(248,147,0,.08); color:#f5f5f5; border-radius:9px; font-size:12px; font-weight:500; line-height:18px; padding:3px 9px; margin-bottom:13.4px; }
.request-rank-kicker::before { content:''; width:8px; height:8px; flex:none; background:var(--rq-accent); border-radius:50%; }
.request-rank-heading { display:flex; align-items:center; gap:12px; margin-bottom:13.4px; }
.request-rank-heading h1 { font-size:24px; line-height:32px; font-weight:500; }
.request-rank-heading>span { font-size:12px; line-height:18px; padding:3px 11px; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:#262626; color:rgba(255,255,255,.55); white-space:nowrap; }
.request-rank-copy>p { font-size:14px; font-weight:500; line-height:20px; color:rgba(255,255,255,.55); max-width:672px; }
.request-rank-assurances { display:flex; flex-wrap:wrap; gap:24px; padding-top:16px; }
.request-rank-assurances span { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:500; line-height:18px; color:rgba(255,255,255,.35); }
.request-rank-overview { flex:0 0 380px; padding:20px; background:#242424; border:1px solid #333; border-radius:12px; }
.request-rank-numbers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:15px; }
.request-rank-numbers>div { padding:12px; border:1px solid #3b3b3b; border-radius:9px; background:#2d2d2d; font-size:10px; line-height:16px; color:#aaa; }
.request-rank-numbers strong { display:flex; align-items:baseline; gap:2px; margin-top:4px; font-size:18px; line-height:24px; color:#fff; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.request-rank-numbers strong small { font-size:10px; font-weight:500; line-height:16px; color:#aaa; }
.request-rank-numbers>div:first-child small { color:var(--rq-accent); }
.request-rank-numbers>div:last-child strong { color:#0abe75; }
.request-rank-overview .request-button { width:100%; min-height:44px; font-size:14px; border-radius:9px; }
.request-rank-controls { margin:40px 0; }
.request-rank-filters { display:flex; align-items:start; gap:24px; margin-bottom:20px; }
.request-genre-field { flex:1; min-width:0; display:flex; align-items:baseline; gap:16px; }
.request-genre-field>span { font-size:12px; color:#aaa; white-space:nowrap; }
#requestRankGenres { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.request-genre { display:inline-flex; align-items:center; justify-content:center; background:#222; border:1px solid #333; color:#bbb; border-radius:999px; padding:6px 16px; font-size:14px; line-height:20px; cursor:pointer; }
.request-page .request-genre.is-active { background:var(--rq-accent); border-color:var(--rq-accent); color:#fff; }
#requestSearchForm { flex:0 0 320px; position:relative; }
.request-page #requestSearch { padding:8px 38px 8px 12px; border-radius:9px; font-size:13px; line-height:20px; }
#requestSearchForm button { position:absolute; right:0; top:0; height:100%; width:38px; display:grid; place-items:center; background:transparent; border:0; cursor:pointer; }
#requestSearchForm img { width:16px; height:16px; }
.request-rank-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 20px; padding-bottom:13px; border-bottom:1px solid #262626; }
.request-rank-period { display:flex; gap:6px; border:1px solid #303030; padding:4px; border-radius:9px; background:#191919; }
.request-rank-period a { display:inline-flex; align-items:center; justify-content:center; gap:6px; font-weight:500; white-space:nowrap; background:transparent; border:0; border-radius:7px; color:#aaa; padding:6px 16px; cursor:pointer; font-size:12px; line-height:18px; }
.request-rank-period a[aria-current=true] { background:#333; color:#fff; }
.request-rank-sort { display:flex; align-items:center; gap:12px; color:#aaa; font-size:12px; font-weight:500; line-height:18px; }
.request-rank-sort>span { white-space:nowrap; }
.request-sort-options { display:flex; align-items:center; gap:8px; }
.request-rank-period .request-anticipated { font-weight:400; }
.request-anticipated>span { width:6px; height:6px; border-radius:50%; background:var(--rq-accent); flex:none; }
.request-rank-sort a { display:inline-flex; align-items:center; justify-content:center; gap:4px; padding:0; color:#aaa; border:0; background:transparent; cursor:pointer; font-size:12px; font-weight:500; line-height:18px; white-space:nowrap; }
.request-rank-sort a+a { border-left:1px solid #777; padding-left:8px; }
.request-rank-sort a img { width:14px; height:14px; object-fit:contain; display:none; flex:none; }
.request-rank-sort a[aria-current=true] img { display:block; }
.request-page .request-rank-sort a[aria-current=true] { color:var(--rq-accent); }
.request-rank-layout { display:grid; grid-template-columns:minmax(0,1300fr) minmax(0,376fr); align-items:start; gap:24px; }
.request-rank-page .request-recent { border:0; padding:0; background:transparent; }
.request-rank-page #requestList { margin-top:0; gap:24px; }
.request-rank-page .request-card { grid-template-columns:160px minmax(0,1fr); min-height:326px; padding:24px; border-radius:20px; column-gap:24px; row-gap:8px; background:#1c1c1c; }
.request-rank-page .request-card-poster { grid-row:1/4; }
.request-rank-page .request-card-author { font-size:14px; }
.request-rank-page .request-card-author time { margin-left:0; }
.request-rank-page .request-card-plot { font-size:14px; line-height:20px; }
.request-rank-page .request-card-tags span { font-size:12px; line-height:18px; padding:2px 8px; }
.request-rank-page .request-card-progress,.request-rank-page .request-card-actions { grid-column:2; }
.request-rank-page .request-card-progress { font-size:12px; padding:12px; }
.request-rank-page .request-progress-note { font-size:10px; }
.request-rank-aside { display:grid; gap:24px; }
.request-rank-aside-panel { background:#1c1c1c; border:1px solid #303030; border-radius:20px; padding:24px; min-width:0; }
.request-rank-aside h2 { font-size:16px; line-height:22px; margin-bottom:20px; }
.request-rank-aside h2 small { margin-left:auto; font-size:10px; line-height:16px; color:#aaa; font-weight:400; }
.request-status-dot { width:6px; height:6px; background:#d7b845; border-radius:50%; flex:none; }
.request-rank-release a { display:block; }
.request-rank-release img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:10px; margin-bottom:12px; }
.request-rank-release h3 { font-size:14px; line-height:20px; font-weight:500; }
.request-rank-release p { color:#aaa; font-size:12px; line-height:18px; margin-top:8px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.request-rank-release .request-release-label { display:block; color:var(--rq-accent); font-size:10px; margin-top:4px; }
.request-rank-workflow { display:flex; flex-direction:column; gap:20px; }
.request-rank-workflow h2 { margin:0; font-weight:600; }
.request-rank-workflow ol { list-style:none; counter-reset:request-steps; padding:0; margin:0; display:grid; gap:16px; }
.request-rank-workflow li { position:relative; padding-left:40px; counter-increment:request-steps; }
.request-rank-workflow li::before { content:counter(request-steps); position:absolute; left:0; top:2px; width:28px; height:28px; background:#292929; border:1px solid #3a3a3a; border-radius:50%; display:grid; place-items:center; color:#aaa; font-size:12px; }
.request-rank-workflow li:first-child::before { background:var(--rq-accent); border-color:var(--rq-accent); color:#fff; }
.request-rank-workflow b { display:block; font-size:14px; line-height:20px; font-weight:500; }
.request-rank-workflow li p { max-width:216px; font-size:12px; font-weight:500; line-height:18px; color:rgba(255,255,255,.55); margin:0; }
.request-rank-tip { padding:14px; border:1px solid var(--rq-accent); border-radius:12px; }
.request-rank-tip strong { display:block; font-size:12px; line-height:18px; font-weight:500; }.request-rank-tip p { max-width:270px; margin:4px 0 0; font-size:10px; line-height:16px; color:rgba(255,255,255,.55); }
.request-rank-updates h2 { font-size:14px; margin-bottom:12px; }
#requestRankUpdates { display:grid; gap:8px; }
.request-rank-update { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:8px 0 9px; border-bottom:1px solid #303030; font-size:12px; line-height:18px; font-weight:500; }
.request-rank-update:last-child { border-bottom:0; padding-bottom:8px; }
.request-update-title { display:block; min-width:0; max-width:170px; padding:0; border:0; background:none; color:inherit; font:inherit; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; cursor:pointer; }
.request-rank-update .request-state-text { flex:none; white-space:nowrap; }
.request-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:20px; border-top:1px solid #303030; padding-top:24px; margin-top:40px; color:rgba(255,255,255,.55); font-size:12px; line-height:18px; }
.request-pagination[hidden],.request-pagination [hidden] { display:none!important; }
.request-pagination>p { margin:0; }.request-pagination>p strong { color:#fff; font-weight:500; }
.request-pagination .pagination { display:contents; }
.request-pagination .pagination-controls,.request-pagination .pagination-pages { display:flex; align-items:center; gap:8px; }
.request-pagination .pagination-pages { gap:6px; }
.request-pagination .pagination-btn { width:40px; min-width:40px; height:40px; border:1px solid #383838; border-radius:9px; background:#262626; font-size:14px; line-height:20px; font-weight:500; }
.request-pagination .pagination-btn--arrow { width:auto; min-width:0; padding:0 16px; gap:6px; }
.request-pagination .pagination-arrow { width:16px; height:16px; }
.request-pagination .pagination-btn--active { background:var(--rq-accent); border-color:var(--rq-accent); color:#fff; }
.request-pagination .pagination-ellipsis { width:28px; height:40px; font-size:14px; }
.request-pagination .pagination-jump { justify-self:end; gap:8px; }
.request-pagination .pagination-jump-label { font-size:12px; line-height:18px; white-space:nowrap; }
.request-pagination .pagination-jump-input { width:56px; height:36px; padding:0 8px; border:1px solid #383838; border-radius:9px; background:#262626; color:#fff; font-size:16px; line-height:22px; }
.request-pagination .pagination-jump-arrow { width:14px; height:14px; }
.request-pagination .pagination-jump-submit { white-space:nowrap; flex-shrink:0; width:auto; height:36px; padding:0 14px; border:1px solid #383838; border-radius:9px; background:#262626; font-size:12px; line-height:18px; }
.request-pagination .pagination-btn:not(:disabled):hover,.request-pagination .pagination-jump-submit:hover { border-color:var(--rq-accent); color:#fff; }
.request-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:860px) {
  .request-custom-toggle { padding:4px 9px; font-size:11px!important; line-height:19px; }
  .request-recent { padding:17px; margin:0; }
  .request-recent .request-section-title { flex-direction:row; align-items:center; flex-wrap:wrap; }
  .request-recent h2 { font-size:15px; }
  .request-recent select { font-size:11px; padding:5px 7px; }
  .request-card { padding:12px; gap:10px; grid-template-columns:70px minmax(0,1fr); }
  .request-card-author { flex-wrap:wrap; column-gap:5px; row-gap:0; }
  .request-card-author time { margin-left:0; width:100%; padding-left:19px; }
  .request-card h3 { font-size:13px; line-height:20px; margin-top:6px; }
  .request-card-plot { font-size:11px; line-height:18px; }
  .request-card-tags { gap:4px; }
  .request-card-tags span { font-size:10px; padding:1px 6px; }
  .request-card-actions { gap:10px; }
  .request-card-actions .request-button { font-size:11px; padding:6px 9px; min-height:34px; }
  .request-card-share { width:30px; height:30px; }
  .request-comment-link { font-size:11px; }
  .request-progress-heading { font-size:10px; }
  .request-progress-note { font-size:9px; }


}
@media (hover:hover) {
  .request-card h3 button:hover,.request-comment-link:hover { color:var(--rq-accent); }
  .request-genre:not(.is-active):hover,.request-card-share:hover { border-color:#777; }
}

.request-vote[aria-disabled="true"] { opacity:.6; cursor:wait; }

/* Figma 44749:203991: real genre and progress overlay on the shared poster. */
.request-poster-meta { position:absolute; bottom:0; inset-inline:0; display:flex; align-items:flex-start; flex-direction:column; gap:3px; padding:14px 5px 6px; background:linear-gradient(transparent,rgba(0,0,0,.85)); font-size:9px; line-height:14px; }
.request-poster-genres { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#eee; background:#151515a8; padding:1px 3px; border:1px solid #ffffff1a; border-radius:4px; }
.request-poster-percent { display:flex; gap:3px; align-items:center; color:var(--rq-accent); white-space:nowrap; }
.request-poster-percent .request-icon { width:10px; height:10px; }
@media(min-width:861px) {
  .request-rank-page .request-card-poster { align-self:center; }
  .request-rank-page .request-card h3 { font-size:18px; line-height:24px; }
  .request-rank-page .request-poster-meta { flex-direction:row; align-items:center; justify-content:space-between; padding:18px 10px 10px; font-size:10px; }
  .request-rank-page .request-poster-percent .request-icon { width:12px; height:12px; }
}

@media(max-width:860px) {
  .request-hero::before { display:none; }
  .request-breadcrumb-shell { display:none; }
  .request-breadcrumb-shell.request-rank-breadcrumb { display:block; margin-block:16px 12px; }
  .request-rank-breadcrumb .site-breadcrumb { display:flex; min-height:28px; }
  .request-rank-breadcrumb .request-review-note { display:none; }
  .request-rank-page { padding-top:0; }

  .request-rank-hero { display:block; padding:20px 18px; border-radius:16px; }
  .request-rank-kicker { font-size:10px; line-height:16px; margin-bottom:10px; padding:3px 9px; }
  .request-rank-heading { flex-wrap:wrap; gap:8px; margin-bottom:12px; }
  .request-rank-heading h1 { font-size:24px; line-height:32px; }
  .request-rank-heading>span { font-size:9px; padding:2px 7px; }
  .request-rank-copy>p { font-size:12px; line-height:20px; }
  .request-rank-assurances { gap:12px; padding-top:14px; }
  .request-rank-assurances span { font-size:10px; gap:4px; }
  .request-rank-overview { margin-top:20px; padding:12px; }
  .request-rank-numbers { gap:8px; }
  .request-rank-numbers>div { padding:8px; font-size:10px; }
  .request-rank-numbers strong { font-size:18px; line-height:24px; }
  .request-rank-numbers strong small { font-size:10px; }
  .request-rank-overview .request-button { font-size:13px; }
  .request-rank-controls { margin:24px 0; }
  .request-rank-filters { display:flex; flex-direction:column; gap:14px; margin-bottom:16px; }
  .request-genre-field { display:block; width:100%; }
  .request-genre-field>span { display:block; font-size:11px; margin-bottom:8px; }
  #requestRankGenres { flex-wrap:wrap; overflow:visible; padding:0; gap:8px; }
  .request-genre { flex:none; font-size:12px; padding:8px 14px; min-height:40px; max-width:100%; overflow-wrap:anywhere; }
  #requestSearchForm { width:100%; flex:auto; }
  .request-page #requestSearch { font-size:16px; line-height:24px; }
  .request-rank-toolbar { display:block; padding-bottom:16px; }
  .request-rank-period { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:4px; }
  .request-rank-period a { min-width:0; min-height:44px; padding:8px 2px; font-size:12px; }
  .request-rank-period .request-anticipated { grid-column:1/-1; min-height:38px; border-top:1px solid #303030; border-radius:0 0 7px 7px; }
  .request-rank-sort { display:block; margin-top:14px; }
  .request-rank-sort>span { display:block; margin-bottom:2px; font-size:11px; font-weight:400; }
  .request-sort-options { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:0; }
  .request-rank-sort a { min-height:44px; padding:8px 4px; font-size:11px; position:relative; }
  .request-rank-sort a+a { border-left:0; padding-left:4px; }
  .request-rank-sort a+a::before { content:''; position:absolute; left:0; top:16px; height:12px; width:1px; background:#666; }
  .request-rank-sort a img { width:14px; height:14px; }
  .request-rank-sort a:first-child { justify-content:flex-start; padding-left:0; }
  .request-rank-sort a:last-child { justify-content:flex-end; padding-right:0; }
  .request-rank-layout { display:block; }
  .request-rank-page #requestList { gap:16px; }
  .request-rank-page .request-card { grid-template-columns:88px minmax(0,1fr); min-height:0; padding:14px; border-radius:14px; gap:12px; }
  .request-rank-page .request-card-poster { grid-row:1; align-self:center; }
  .request-rank-page .request-card-author { font-size:12px; }
  .request-rank-page .request-card h3 { font-size:14px; line-height:20px; }
  .request-rank-page .request-card-plot { font-size:12px; line-height:18px; }
  .request-rank-page .request-card-tags span { font-size:10px; line-height:15px; padding:2px 6px; }
  .request-rank-page .request-card-progress,.request-rank-page .request-card-actions { grid-column:1/-1; }
  .request-rank-page .request-card-progress { padding:10px; }
  .request-rank-aside { margin-top:24px; gap:16px; }
  .request-rank-aside-panel { padding:18px; border-radius:14px; }
  .request-pagination { display:flex; flex-direction:column; gap:12px; margin-top:24px; padding-top:18px; }
  .request-pagination>p { width:100%; font-size:11px; text-align:center; }
  .request-pagination .pagination { display:flex; width:100%; flex-wrap:wrap; justify-content:center; gap:14px; margin:0; }
}

@media(max-width:767px) {
  .request-pagination .pagination-controls { width:100%; justify-content:center; gap:clamp(2px,calc((100vw - 320px)/12),6px); }
  .request-pagination .pagination-pages { display:contents; }
  .request-pagination .pagination-btn { width:clamp(28px,calc((100vw - 104px)/9),30px); min-width:0; height:36px; padding:0; flex-shrink:0; }
  .request-pagination .pagination-ellipsis { width:22px; height:36px; }
  .request-pagination .pagination-direction-label,.request-pagination .pagination-jump { display:none; }
}

@media(max-width:360px) {
  .request-rank-hero { padding:18px 12px; }
  .request-rank-overview { padding:10px; }
  .request-rank-numbers { gap:6px; }
  .request-rank-numbers>div { padding:8px 6px; }
  .request-rank-numbers strong { font-size:16px; gap:1px; }
  .request-rank-numbers strong small { font-size:9px; }
  .request-rank-period a { font-size:11px; }
  .request-rank-sort a { font-size:10px; gap:2px; }
}

@media(max-width:860px) {
  .request-made-card { flex-basis:calc(100% - 48px); max-width:340px; padding:10px; gap:10px; border-radius:14px; }
  .request-made-poster { width:88px; height:126px; }
  .request-made h2 { font-size:16px; line-height:24px; }
  .request-made .request-section-title { align-items:flex-start; }
  .request-made-source { font-size:11px; line-height:17px; }
  .request-made-card .request-button { min-height:40px; }
  .request-carousel-controls .request-button { min-width:40px; height:40px; }
  .request-card-actions .request-button,.request-comment-link,.request-card-share,.request-card-play { min-height:40px; }
  .request-card-share { min-width:40px; }
  .request-card-play { display:inline-flex; align-items:center; }
}
@media(max-width:360px) {
  .request-made-poster { width:72px; height:108px; }
  .request-made h2 { max-width:12em; }
}

.request-rank-period a:not([aria-current]),.request-rank-sort a:not([aria-current]),.request-genre:not(.is-active) { color:#aaa; }
