:root{
  color-scheme:only dark;
  --paper:#05070b;
  --surface:#0c1119;
  --field:#080d14;
  --soft:#111e30;
  --ink:#eff4fc;
  --muted:#a4b1c5;
  --line:#263348;
  --field-border:#536b8c;
  --accent:#70b2ff;
  --accent-hover:#a2ceff;
  --on-accent:#071426;
  --danger:#ffb8b0;
  --danger-bg:#321e22;
  --focus:#b6d8ff;
  --radius:12px;
}
*{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-underline-offset:4px}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.wrap{width:calc(100% - 48px);max-width:1280px;margin:0 auto}
.site-header{text-align:center;padding:22px 0 26px}
.brand{display:inline-block;text-decoration:none;color:var(--ink);font-size:72px;line-height:1;letter-spacing:-3px;font-weight:900}
.tagline{margin:6px 0 15px;color:var(--muted);font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.main-nav{display:flex;justify-content:center;gap:8px}
.main-nav a{border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:7px 13px;text-decoration:none;font-size:13px;font-weight:550}
.main-nav a:hover{border-color:var(--accent)}
.main-nav a.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin:0 0 12px}
.search{display:flex;align-items:center;gap:10px;height:40px;border:1px solid var(--field-border);border-radius:8px;background:var(--field);padding:0 12px;margin:0 0 14px}
.search svg{height:17px;width:17px;flex:0 0 17px;color:var(--muted)}
.search input{border:0!important;background:transparent!important;min-width:0;width:100%;padding:8px 0!important;font-size:14px}
.text-button{border:0;padding:6px 0 6px 10px;background:transparent;color:var(--accent);font-size:12px}
.ranking-list{display:grid;gap:7px}
.rank-row{display:flex;align-items:center;gap:0;background:var(--surface);border:1px solid #1e293a;border-radius:14px;min-height:94px;padding:18px 22px}
.rank-row.top-rank{border-color:#304d74}
.rank-number{flex:0 0 78px;font:25px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-1px;color:var(--ink);font-variant-numeric:tabular-nums}
.rank-copy{flex:1;min-width:0}
.rank-image-link{display:block;flex:0 0 128px;width:128px;height:128px;margin-right:18px;border-radius:8px;cursor:zoom-in}
.rank-image,.image-preview{display:block;width:128px;height:128px;object-fit:cover;object-position:center;border-radius:8px;background:var(--field)}
.image-preview-link{display:block;flex:0 0 128px;border-radius:8px;cursor:zoom-in}
.rank-image-link:hover,.image-preview-link:hover{outline:1px solid var(--accent);outline-offset:3px}
.entry-title{display:flex;align-items:baseline;gap:9px}
.rank-row h3{font-size:29px;font-weight:750;letter-spacing:-.6px;line-height:1.25;margin:0;min-width:0}
.crown{color:var(--accent);width:25px;height:25px;flex:0 0 25px;align-self:center}
.rank-opinion{border-left:2px solid var(--accent);padding-left:9px;margin:9px 0 0;color:#c4d2e7;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.list-note{font-size:12px;color:var(--muted);text-align:center;margin:20px 0 0}
.search-summary{color:var(--muted);font-size:13px;margin:0 0 13px}
.search-summary a{color:var(--accent);margin-left:8px}
.suggest-card,.login-card{width:100%;max-width:620px;margin:10px auto 40px;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.intro,.login-card>p{color:var(--muted);font-size:14px;margin:0 0 22px}
label{display:block;margin-bottom:8px;font-size:13px;font-weight:600}
input:not([type=hidden]),textarea{width:100%;padding:11px 12px;background:var(--field);border:1px solid var(--field-border);border-radius:7px;color:var(--ink);caret-color:var(--accent);accent-color:var(--accent)}
input::placeholder,textarea::placeholder{color:#93a4bd;opacity:1}
textarea{display:block;resize:vertical;min-height:100px;font-size:14px;line-height:1.6}
.field-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin:7px 0 17px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 13px;font-size:13px;font-weight:600;border:1px solid transparent;border-radius:7px;text-decoration:none}
.primary{background:var(--accent);color:var(--on-accent)}
.primary:hover{background:var(--accent-hover)}
.secondary{background:var(--soft);border-color:var(--field-border);color:var(--ink)}
.secondary:hover{border-color:var(--accent)}
.danger{color:var(--danger);background:var(--danger-bg);border-color:#76505a}
.fine-print{color:var(--muted);font-size:12px;margin:17px 0 0}
.site-footer{display:flex;justify-content:center;gap:20px;margin-top:32px;padding:20px 0 28px;font-size:11px;color:var(--muted)}
.site-footer a{color:var(--accent)}
.empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:36px 20px;text-align:center}
.empty h2{font-size:22px;margin:0 0 8px}
.empty p{font-size:14px;color:var(--muted);margin:0}
.empty .button{margin-top:18px}
.messages{margin:0 0 18px}
.notice{padding:12px 15px;border:1px solid #3d6593;background:#102139;color:var(--ink);border-radius:8px;font-size:14px;margin:0 0 8px}
.notice.error{border-color:#76505a;background:var(--danger-bg);color:var(--danger)}
.notice.info{background:var(--soft);border-color:var(--line)}
.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;margin:22px 0;font-size:13px}
.pagination a{color:var(--accent)}
.pagination span{color:var(--muted)}
.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 23px}
.admin-heading h1{margin-bottom:8px}
.admin-heading p{color:var(--muted);font-size:14px;margin:0}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}
.tabs a{display:flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:var(--surface);font-size:13px}
.tabs a.active{border-color:var(--accent);background:var(--soft);color:var(--accent)}
.tabs span{font-size:11px;color:var(--muted)}
.admin-note{font-size:13px;color:var(--muted);margin:0 0 15px}
.moderation-list{display:grid;gap:12px}
.moderation-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.entry-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.entry-top h2{font-size:23px;line-height:1.3;letter-spacing:-.4px;margin:0;min-width:0}
.entry-top .rank-number{flex:0 0 auto;font-size:20px;color:var(--accent)}
.entry-id{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}
.rank-form{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.rank-form>label{margin:0;color:var(--muted)}
.rank-form .rank-input{width:90px;padding:8px 10px;font-size:13px}
.opinion-field{flex:0 0 100%;min-width:0}
.opinion-field label span{color:var(--muted);font-weight:400}
.opinion-field textarea{min-height:86px}
.opinion-field .field-meta{margin-bottom:12px}
.entry-actions details{margin-top:17px}
.image-form{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}
.image-form label span{color:var(--muted);font-weight:400}
.image-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.image-controls input[type=file]{flex:1;min-width:180px;width:auto;font-size:12px}
input[type=file]::file-selector-button{border:0;border-radius:4px;background:var(--soft);color:var(--ink);padding:6px 8px;margin-right:10px;cursor:pointer}
.image-form .fine-print{margin-top:8px}
.image-status{color:var(--accent);font-size:13px;margin:8px 0 0}
.image-status:empty{display:none}
button:disabled{opacity:.6;cursor:wait}
.picture-dialog{width:max-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:16px;background:var(--surface);color:var(--ink);border:1px solid var(--field-border);border-radius:12px;overflow:auto}
.picture-dialog::backdrop{background:rgb(0 0 0 / .88)}
.picture-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}
.picture-heading p{margin:0;font-weight:600}
.full-picture{display:block;max-width:min(1100px,calc(100vw - 66px));max-height:calc(100dvh - 140px);width:auto;height:auto;object-fit:contain;margin:auto}
.full-picture[hidden]{display:none}
.picture-error{color:var(--danger);font-size:14px}
body:has(.picture-dialog[open]){overflow:hidden}
.entry-actions summary{font-size:12px;color:var(--muted);cursor:pointer;width:max-content}
.rename-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:13px}
.rename-form label{margin:0}
.rename-form input{flex:1;min-width:140px;font-size:14px}
.login-card h1{font-size:28px}
.error-code{font:13px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent)!important;margin-bottom:12px!important}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{position:absolute;z-index:10;top:10px;left:10px;padding:10px;background:var(--surface);color:var(--ink)}
::selection{background:var(--accent);color:var(--on-accent)}
input:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--field) inset;caret-color:var(--accent)}
@media(max-width:700px){
  .wrap{width:calc(100% - 28px)}
  .site-header{padding:22px 0}
  .brand{font-size:60px}
  .tagline{font-size:11px;letter-spacing:0}
  .rank-row{padding:16px 14px;min-height:86px}
  .rank-number{flex-basis:57px;font-size:21px}
  .rank-row.has-image{display:grid;grid-template-columns:57px minmax(0,1fr);row-gap:12px}
  .has-image .rank-number{grid-column:1;grid-row:1 / span 2;align-self:start}
  .has-image .rank-copy{grid-column:2;grid-row:1}
  .has-image .rank-image-link{grid-column:2;grid-row:2;margin-right:0}
  .rank-row h3{font-size:22px;letter-spacing:-.4px}
  .crown{width:21px;height:21px;flex-basis:21px}
  .rank-opinion{font-size:13px;margin-top:7px}
  .suggest-card,.login-card{padding:21px}
  .admin-heading{align-items:flex-start}
  .admin-heading h1{font-size:25px}
  .admin-heading p{font-size:12px}
  .admin-heading .button{font-size:11px;padding:7px 10px;white-space:nowrap}
  .moderation-card{padding:16px}
  .entry-top h2{font-size:21px}
  .rank-form .button{font-size:12px;padding:8px 10px}
  .field-meta{font-size:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
