*{box-sizing:border-box}body{color:#1a1a1a;background:#f4f5f7;margin:0;font-family:system-ui,-apple-system,sans-serif}.topbar{background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.brand{color:inherit;font-weight:700;text-decoration:none}.container{max-width:1200px;margin:24px auto;padding:0 16px}.card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.narrow{flex-direction:column;gap:12px;max-width:380px;margin:48px auto;display:flex}label{flex-direction:column;gap:4px;font-size:14px;display:flex}input,select{border:1px solid #bbb;border-radius:6px;padding:8px;font-size:14px}button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:6px;padding:8px 16px;font-size:14px}button:disabled{cursor:not-allowed;background:#9db4ee}button.link{color:#2563eb;background:0 0;padding:4px}.error{color:#b42318}.problem-list{margin:0;padding:0;list-style:none}.problem-list li{border-bottom:1px solid #eee;justify-content:space-between;padding:10px 0;display:flex}.badge{background:#eee;border-radius:10px;padding:2px 8px;font-size:12px}.badge.easy{background:#d1fadf}.badge.medium{background:#fef0c7}.badge.hard{background:#fee4e2}.problem-layout{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}@media (width<=900px){.problem-layout{grid-template-columns:1fr}}.statement{white-space:pre-wrap;line-height:1.5}.meta{color:#555;font-size:13px}.sample-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}pre{background:#f4f5f7;border-radius:6px;margin:4px 0;padding:8px;overflow:auto}.editor-bar{justify-content:space-between;margin-bottom:8px;display:flex}.verdict{background:#eef2ff;border-radius:6px;margin-top:12px;padding:12px}.verdict-status{font-weight:700}progress{width:100%;margin-top:8px}.history{border-collapse:collapse;width:100%;font-size:14px}.history th,.history td{text-align:left;border-bottom:1px solid #ddd;padding:6px 8px}.history .status.ok{color:#1a7f37;font-weight:600}.nav{flex:1;gap:16px;margin-left:24px;display:flex}.nav a{color:inherit;text-decoration:none}.nav a:hover{text-decoration:underline}.badge.upcoming{color:#3730a3;background:#e0e7ff}.badge.running{color:#166534;background:#dcfce7}.badge.ended{color:#4b5563;background:#e5e7eb}.contest-page{gap:16px;display:grid}.contest-header{align-items:center;gap:12px;display:flex}.countdown{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.board{border-collapse:collapse;width:100%;font-size:14px}.board th,.board td{text-align:left;border-bottom:1px solid #ddd;padding:6px 8px}.board .cell.ok{color:#1a7f37;font-weight:600}.board .cell.bad{color:#b42318}.admin-header{justify-content:space-between;align-items:center;display:flex}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #8080804d;padding:8px 10px}.admin-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.picker-row{border-bottom:1px solid #8080804d;align-items:center;gap:10px;padding:6px 0;display:flex}.picker-label{width:24px;font-weight:700}.picker-grow{flex:1}.notice{color:#166534}.code-area{white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow:auto}.preview{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:260px;font-size:12px;display:inline-block;overflow:hidden}
