:root{--bg:#090b12;--panel:#121622;--panel2:#191e2d;--text:#f5f7fb;--muted:#9ca5b7;--line:#293043;--accent:#8b5cf6;--accent2:#22d3ee;--danger:#ef4444;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1160px,calc(100% - 36px));margin:auto}.narrow{max-width:720px}.site-header{position:sticky;top:0;z-index:20;background:rgba(9,11,18,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:-.04em}.brand:before{content:"◆";color:var(--accent2);margin-right:9px}.nav-links{display:flex;align-items:center;gap:24px}.nav-links form{margin:0}.nav-toggle{display:none;color:white;background:none;border:0;font-size:24px}.link-button{background:none;border:0;color:var(--text);padding:0;cursor:pointer}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--accent),#6d28d9);color:#fff;padding:12px 20px;font-weight:800;cursor:pointer}.button.secondary{background:var(--panel2);border:1px solid var(--line)}.button.ghost{background:transparent;border:1px solid var(--line)}.button.danger{background:var(--danger)}.button.small{padding:8px 14px;font-size:14px}.hero{padding:90px 0 76px;background:radial-gradient(circle at 78% 30%,rgba(139,92,246,.2),transparent 32%),radial-gradient(circle at 15% 10%,rgba(34,211,238,.1),transparent 25%)}.hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:center}.hero h1{font-size:clamp(44px,7vw,82px);line-height:1.02;letter-spacing:-.06em;margin:12px 0 24px}.hero h1 span{background:linear-gradient(90deg,var(--accent2),#a78bfa);-webkit-background-clip:text;color:transparent}.hero p,.lead{font-size:19px;color:#bec5d2;max-width:760px}.eyebrow{color:var(--accent2);font-size:12px;font-weight:900;letter-spacing:.2em}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.hero-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(160deg,rgba(25,30,45,.9),rgba(13,16,25,.9));padding:14px}.metric{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid var(--line)}.metric:last-child{border:0}.metric strong{font-size:28px;color:var(--accent2)}.metric span{color:var(--muted)}.section{padding:68px 0}.surface{background:#0d1019;border-block:1px solid #171b28}.section-head,.page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-head h2,.page-head h1{font-size:34px;line-height:1.2;margin:6px 0}.page-head h1{font-size:46px}.page-head p{color:var(--muted);margin:5px 0}.battle-grid,.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card-grid{grid-template-columns:repeat(4,1fr)}.battle-card,.project-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.battle-card{padding:24px;transition:.2s}.battle-card:hover,.project-card:hover{border-color:#6752b7;transform:translateY(-2px)}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#273044;color:#bec6d6;font-size:12px;font-weight:900}.badge.live,.badge.voting{background:rgba(34,211,238,.14);color:var(--accent2)}.badge.finished{background:rgba(139,92,246,.18);color:#c4b5fd}.versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:24px 0}.versus strong:last-child{text-align:right}.versus span,.vs-mark{color:var(--accent2);font-weight:900;font-style:italic}.battle-card p{color:var(--muted);font-size:13px;margin:0}.project-card{overflow:hidden;transition:.2s}.card-image{height:155px;display:grid;place-items:center;background:linear-gradient(135deg,#242a43,#4c1d95);background-size:cover;background-position:center}.card-image span,.detail-image span{font-size:56px;font-weight:900;color:rgba(255,255,255,.8)}.card-body{padding:18px}.card-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.card-meta strong{color:#a78bfa}.card-body h3{margin:8px 0;font-size:20px}.card-body p{color:var(--muted);font-size:14px;min-height:46px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{background:#202638;color:#c9d0df;padding:4px 9px;border-radius:6px;font-size:12px}.leader-preview{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.leader-preview li{display:grid;grid-template-columns:50px 1fr auto;gap:14px;padding:17px;border-bottom:1px solid var(--line)}.leader-preview li>span{font-weight:900;color:var(--accent2)}.filters{display:flex;gap:10px;margin-bottom:28px}.filters input,.filters select,input,select,textarea{width:100%;background:#0c0f17;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:11px 13px}.filters input{flex:2}.filters select{max-width:220px}.panel{padding:28px}.stack{display:grid;gap:14px}.stack p{margin:0}.stack label{display:block;font-weight:700;margin-bottom:5px}.stack .helptext,.stack ul{color:var(--muted);font-size:13px}.errorlist{color:#fca5a5}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;margin-bottom:42px}.detail-image{aspect-ratio:16/10;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#1e293b,#581c87);background-size:cover;background-position:center}.detail-hero h1{font-size:50px;line-height:1.1;margin:18px 0}.muted{color:var(--muted)}.score-box{display:inline-flex;flex-direction:column;padding:12px 20px;border-left:3px solid var(--accent2);margin-top:10px}.score-box strong{font-size:30px}.score-box span{font-size:12px;color:var(--muted);text-transform:uppercase}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}.prose p{color:#c6ccda}.list-link{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.list-link span{color:var(--muted)}.comments{margin-top:22px}.comment{padding:16px 0;border-bottom:1px solid var(--line)}.comment time{color:var(--muted);font-size:12px;margin-left:10px}.comment p{margin-bottom:0}.comments details{margin-top:20px;color:var(--muted)}.battle-list{display:grid;gap:12px}.battle-row{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:20px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.battle-row div{display:flex;gap:18px}.battle-row i{color:var(--accent2);font-weight:900}.battle-row time{color:var(--muted);font-size:13px}.battle-title{text-align:center;margin-bottom:30px}.battle-title h1{font-size:46px;margin:8px}.battle-title p{color:var(--muted)}.versus-large{display:grid;grid-template-columns:1fr 70px 1fr;align-items:stretch}.versus-large article{padding:40px;background:var(--panel);border:1px solid var(--line);border-radius:20px;text-align:center}.versus-large article>span{color:var(--accent2);font-weight:900}.versus-large h2{font-size:30px}.versus-large p{color:var(--muted)}.vs-mark{display:grid;place-items:center;font-size:25px}.final-score{font-size:60px;font-weight:900;color:var(--accent2)}.result-banner{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin:30px auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.result-banner>span{color:var(--accent2);font-weight:900}.result-banner>strong{font-size:25px}.result-banner em{color:#fbbf24;font-size:13px}.evaluation{max-width:860px;margin:30px auto}.evaluation form>p{padding:12px 0;border-bottom:1px solid var(--line)}.evaluation form ul{display:flex;gap:10px;list-style:none;padding:0}.evaluation form label{display:flex;gap:4px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px}table{border-collapse:collapse;width:100%;background:var(--panel)}th,td{text-align:left;padding:17px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px;text-transform:uppercase}.rank{font-size:20px;font-weight:900;color:var(--accent2)}.empty{padding:35px;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.messages{position:relative;z-index:30}.message{margin-top:12px;padding:12px 16px;background:#1e293b;border:1px solid var(--line);border-radius:10px}.message.success{border-color:#15803d}.message.error{border-color:#b91c1c}.site-footer{margin-top:60px;padding:36px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.owner-vote-note{margin:14px 0;padding:12px 14px;border:1px solid rgba(251,191,36,.35);border-radius:10px;background:rgba(251,191,36,.08);color:#fde68a;font-size:13px}.battle-rule-note{margin-top:18px;padding:12px 14px;border:1px solid rgba(34,211,238,.35);border-radius:10px;background:rgba(34,211,238,.08);color:#a5f3fc;font-size:13px}.button:disabled{cursor:not-allowed;opacity:.45}.battle-form-panel>h1{margin:8px 0}.battle-create-form{margin-top:28px}.form-field>label{display:block;margin-bottom:7px;font-weight:800}.form-field>.helptext{display:block;margin-top:6px;color:var(--muted);font-size:12px}.date-section{margin:5px 0;padding:18px;border:1px solid var(--line);border-radius:12px}.date-section legend{padding:0 8px;color:var(--accent2);font-weight:900}.date-time-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.date-picker-control,.time-picker-control{position:relative}.calendar-input,.time-input{min-height:50px;padding-right:58px;color-scheme:dark;cursor:pointer}.calendar-input::-webkit-calendar-picker-indicator,.time-input::-webkit-calendar-picker-indicator{position:absolute;right:0;width:52px;height:100%;opacity:0;cursor:pointer}.picker-button{position:absolute;top:5px;right:5px;bottom:5px;display:grid;place-items:center;width:44px;padding:0;border:1px solid #3b4660;border-radius:8px;background:var(--panel2);color:var(--accent2);cursor:pointer;z-index:2}.picker-button:hover{background:#252d42;border-color:var(--accent2)}.picker-button:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}.picker-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.date-help{margin:0;color:var(--muted);font-size:13px}.delete-warning h1{margin-bottom:6px}.delete-warning h2{color:#c4b5fd}.delete-warning>p{color:var(--muted)}.danger-text{color:#fca5a5!important;font-weight:800}.workspace-summary{display:flex;gap:14px;margin-bottom:24px}.workspace-summary>div{display:flex;align-items:center;gap:10px;min-width:160px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.workspace-summary strong{font-size:28px;color:var(--accent2)}.workspace-summary span{color:var(--muted);font-size:14px}.workspace-list{display:grid;gap:14px}.workspace-item{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.workspace-item h2{margin:10px 0 4px}.workspace-item p{margin:0 0 8px;color:#c6ccda}.workspace-item small{color:var(--muted)}.workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;max-width:410px}.draft-note{width:100%;color:#fbbf24;font-size:12px;text-align:right}.badge.draft{background:rgba(251,191,36,.14);color:#fbbf24}.badge.published{background:rgba(34,197,94,.14);color:#86efac}.battle-tools{margin-top:22px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#0c0f17}.battle-tools>strong{display:block;margin-bottom:9px;color:var(--accent2);font-size:12px;letter-spacing:.08em}.battle-tools p{margin:12px 0 0;color:#b8c0cf;font-size:13px}.choice-list{display:grid;overflow:hidden;width:100%;margin:8px 0 0;border:1px solid var(--line);border-radius:10px;background:#0c0f17}.choice-list>div{border-bottom:1px solid var(--line)}.choice-list>div:last-child{border-bottom:0}.choice-list label{display:flex;align-items:center;gap:12px;margin:0;padding:13px 15px;cursor:pointer;transition:background .15s,color .15s}.choice-list label:hover{background:var(--panel2);color:#fff}.choice-list input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:var(--accent);flex:0 0 auto}.choice-list label:has(input:checked){background:rgba(139,92,246,.14);color:#ddd6fe}.choice-list label:has(input:focus-visible){outline:2px solid var(--accent2);outline-offset:-2px}
@media(max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr)}.hero-grid,.detail-hero,.content-grid{grid-template-columns:1fr}.hero-card{max-width:520px}.versus-large{grid-template-columns:1fr}.vs-mark{height:60px}.battle-row{grid-template-columns:1fr}.battle-row div{flex-wrap:wrap}}
@media(max-width:640px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--panel);padding:20px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.hero{padding:60px 0}.hero h1{font-size:46px}.battle-grid,.card-grid{grid-template-columns:1fr}.section-head,.page-head{align-items:start;flex-direction:column}.page-head h1{font-size:36px}.filters{flex-direction:column}.filters select{max-width:none}.detail-hero h1{font-size:38px}.battle-row div{display:grid}.versus-large article{padding:25px}.workspace-summary{display:grid;grid-template-columns:1fr 1fr}.workspace-summary>div{min-width:0}.workspace-item{grid-template-columns:1fr}.workspace-actions{justify-content:flex-start;max-width:none}.draft-note{text-align:left}.date-time-grid{grid-template-columns:1fr}}
