:root{color-scheme:dark;--bg: #06131d;--bg-panel: rgba(13, 27, 34, .84);--bg-panel-strong: rgba(17, 36, 45, .94);--line: rgba(196, 169, 112, .24);--line-strong: rgba(212, 183, 119, .44);--text: #f8f1de;--muted: #c9b99a;--accent: #d5a648;--accent-strong: #f5d075;--mint: #80d0b4;--danger: #ff8e7a;--shadow: 0 28px 60px rgba(0, 0, 0, .38);--radius-xl: 34px;--radius-lg: 24px;--radius-md: 18px;--contest-shell-width: 1480px;--contest-sidebar-width: 430px;--contest-entry-card-width: 660px;--contest-entry-image-width: 220px}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;min-width:calc(var(--contest-shell-width) + 48px);color:var(--text);background:radial-gradient(circle at top left,rgba(220,164,67,.16),transparent 28%),radial-gradient(circle at 85% 10%,rgba(73,150,143,.18),transparent 24%),linear-gradient(180deg,#0b1822,#071019 52%,#040a11);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button{font-size:30px;font-family:inherit}input,textarea{font:inherit}img{display:block;max-width:100%}.contest-booting{min-height:100vh;display:grid;place-items:center;padding:40px;font-size:36px;letter-spacing:.05em}.contest-shell{display:grid;gap:22px;padding:24px;width:var(--contest-shell-width);min-width:var(--contest-shell-width);max-width:var(--contest-shell-width);margin:0 auto}.contest-hero,.contest-panel,.contest-gallery-panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.contest-hero{padding:30px;display:grid;grid-template-columns:1fr 360px;gap:18px}.contest-eyebrow{display:inline-flex;width:fit-content;padding:8px 14px;border-radius:999px;border:1px solid rgba(245,208,117,.26);background:#f5d07514;color:var(--accent-strong);font-size:16px;letter-spacing:.08em;text-transform:uppercase}.contest-title,.contest-panel-title,.contest-entry-title{font-family:Baskerville,Palatino Linotype,Songti SC,serif}.contest-title{margin:12px 0 10px;font-size:82px;line-height:.96}.contest-subtitle{margin:0;max-width:840px;color:var(--muted);font-size:20px;line-height:1.8}.contest-hero-stats{display:grid;gap:14px;align-content:stretch}.contest-stat-card{padding:20px 22px;border-radius:26px;background:linear-gradient(180deg,#1b3039eb,#0e1c24eb);border:1px solid rgba(214,191,128,.18);display:grid;gap:10px}.contest-stat-label{color:var(--muted);font-size:16px;letter-spacing:.04em}.contest-stat-value{font-size:38px}.contest-content{display:grid;grid-template-columns:var(--contest-sidebar-width) minmax(0,1fr);gap:22px;align-items:start}.contest-sidebar{display:grid;gap:18px;position:sticky;top:18px}.contest-panel,.contest-gallery-panel{padding:24px}.contest-panel-title{margin:0 0 16px;font-size:38px}.contest-user-card,.contest-my-entry-item,.contest-preview-frame{border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.07);background:var(--bg-panel-strong)}.contest-user-card{display:grid;gap:8px;padding:18px}.contest-user-name{font-size:28px}.contest-user-meta,.contest-entry-meta,.contest-toolbar-note,.contest-vote-label,.contest-my-entry-meta{color:var(--muted);font-size:16px;line-height:1.6}.contest-button-row,.contest-pill-row,.contest-entry-actions{display:flex;flex-wrap:wrap;gap:12px}.contest-button{min-height:68px;padding:14px 22px;border-radius:999px;border:0;cursor:pointer;color:#1e1202;background:linear-gradient(135deg,#f2d086,#d4a54c);box-shadow:0 12px 24px #d4a54c47;transition:transform .18s ease,filter .18s ease,opacity .18s ease}.contest-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.contest-button:disabled{opacity:.56;cursor:not-allowed}.contest-button-secondary{color:var(--text);background:#ffffff0a;border:1px solid var(--line-strong);box-shadow:none}.contest-button-danger{color:#fff4ee;background:linear-gradient(135deg,#bf6255,#e17862);box-shadow:0 12px 24px #bf625538}.contest-form-grid{display:grid;gap:14px}.contest-input,.contest-textarea{width:100%;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text);padding:16px 18px}.contest-input::placeholder,.contest-textarea::placeholder{color:#c9b99ac7}.contest-textarea{min-height:160px;resize:vertical}.contest-preview-frame{min-height:300px;overflow:hidden;display:grid;place-items:center;padding:14px;position:relative}.contest-preview-image{width:100%;border-radius:20px}.contest-preview-badge{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;min-height:38px;padding:6px 14px;border-radius:999px;background:#06131dd1;border:1px solid rgba(245,208,117,.26);color:var(--accent-strong);font-size:15px;letter-spacing:.04em;pointer-events:none}.contest-feedback{margin:12px 0 0;font-size:18px;line-height:1.7}.contest-feedback.is-error{color:var(--danger)}.contest-feedback.is-success{color:var(--mint)}.contest-rule-list{display:grid;gap:10px}.contest-rule-item,.contest-empty{margin:0;color:var(--muted);font-size:18px;line-height:1.75}.contest-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 14px;border-radius:999px;background:#ffffff0f;font-size:15px;letter-spacing:.04em}.contest-pill.is-gold{color:var(--accent-strong)}.contest-pill.is-mint{color:var(--mint)}.contest-pill.is-crimson{color:var(--danger)}.contest-my-entry-list{display:grid;gap:12px}.contest-my-entry-item{padding:16px;display:grid;gap:14px}.contest-my-entry-head{display:grid;gap:6px}.contest-my-entry-title{font-size:24px}.contest-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.contest-form-image-list{display:grid;gap:12px}.contest-form-image-item{padding:14px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:#ffffff08;display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.contest-form-image-thumb{width:110px;height:150px;object-fit:cover;border-radius:18px}.contest-form-image-body{display:grid;align-content:start;gap:6px;min-width:0}.contest-form-image-title{font-size:24px}.contest-form-image-meta{color:var(--muted);font-size:15px;line-height:1.6;overflow-wrap:anywhere}.contest-form-image-item .contest-button-row{grid-column:1 / -1}.contest-gallery-grid{display:grid;grid-template-columns:var(--contest-entry-card-width);justify-content:center;gap:18px}.contest-pagination{display:grid;justify-items:center;gap:14px;margin-bottom:18px}.contest-pagination-status{color:var(--muted);font-size:18px;line-height:1.6}.contest-entry-card{overflow:hidden;border-radius:30px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#112028f2,#0a141cf2);display:grid;grid-template-columns:var(--contest-entry-image-width) minmax(0,1fr);grid-template-areas:"media body" "media footer";width:var(--contest-entry-card-width);min-height:360px}.contest-entry-media{grid-area:media;min-height:360px;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#03090ec7}.contest-entry-image-frame{position:relative;overflow:hidden;min-height:0}.contest-entry-image{width:100%;height:100%;object-fit:cover}.contest-entry-thumb-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;background:#080f15f0;border-top:1px solid rgba(255,255,255,.08)}.contest-entry-thumb-button{min-height:0;height:62px;padding:0;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;box-shadow:none;overflow:hidden}.contest-entry-thumb-button.is-active{border-color:#f5d075bd;box-shadow:0 0 0 1px #f5d0753d}.contest-entry-thumb-image{width:100%;height:100%;object-fit:cover}.contest-entry-badges{position:absolute;top:8px;left:8px;display:flex;gap:6px;flex-wrap:wrap}.contest-entry-body{grid-area:body;padding:18px 18px 10px;display:grid;align-content:start;gap:8px}.contest-entry-title{margin:0;font-size:30px;line-height:1.1}.contest-entry-description{margin:0;color:#efe1c4;font-size:16px;line-height:1.65;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:8}.contest-entry-footer{grid-area:footer;padding:0 18px 18px;display:grid;flex-direction:column;align-items:stretch;align-content:end;gap:12px}.contest-vote-block{display:grid;gap:2px}.contest-vote-count{font-size:28px}.contest-entry-actions{width:100%;margin-top:auto}.contest-entry-actions .contest-button{width:100%}
