:root{--bg: #1a0f1f;--bg-2: #2a1530;--card: rgba(255, 255, 255, .06);--card-border: rgba(255, 255, 255, .1);--text: #f6eaf2;--muted: #b79fb3;--accent: #e8476f;--accent-2: #ff8a5c;--ok: #4cd18a;--bad: #ff5d6c;--gold: #ffc857;--radius: 18px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(circle at 20% 0%,#4a1a3d 0%,transparent 50%),radial-gradient(circle at 100% 100%,#3a1230 0%,transparent 45%),var(--bg);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 .5em;line-height:1.2}code{background:#ffffff1a;padding:1px 6px;border-radius:6px}.app{max-width:560px;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) 16px calc(40px + env(safe-area-inset-bottom))}.splash{min-height:100vh;display:grid;place-items:center;font-size:48px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.15)}}.topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 0 16px}.logo{font-weight:800;font-size:20px;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.error{color:var(--bad);margin:0}.empty{color:var(--muted);margin:0 0 16px;font-style:italic}.section-title{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:24px 0 12px}.btn{appearance:none;border:1px solid var(--card-border);background:#ffffff14;color:var(--text);font:inherit;font-weight:600;padding:12px 18px;border-radius:14px;cursor:pointer;transition:transform .08s,opacity .2s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{border:none;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 6px 20px #e8476f59}.link{background:none;border:none;color:var(--muted);font:inherit;cursor:pointer;padding:4px}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:18px;margin-bottom:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card>.btn{width:100%;margin-top:8px}.card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:14px}.card--mine{border-color:#e8476f80}.card--pending{border-style:dashed}.card--reveal{border-color:var(--gold);box-shadow:0 0 0 1px #ffc85733,0 10px 30px #ffc8571f}.card--locked h3{color:var(--muted)}.desc{white-space:pre-wrap;margin:0 0 8px}.note{color:var(--gold);font-size:14px}.status{font-size:13px;color:var(--gold)}.stakes{font-weight:700}.plus{color:var(--ok)}.minus{color:var(--bad)}.timer{font-variant-numeric:tabular-nums;font-weight:600}.timer--urgent{color:var(--bad)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 8px}.next{margin:0 0 4px}.scoreboard{margin-bottom:16px}.scores{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.vs{color:var(--muted);font-weight:700}.player{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:14px 10px;text-align:center}.player--leader{border-color:var(--gold)}.player__name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player__score{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums}.progress{position:relative;margin-top:12px;height:26px;border-radius:13px;background:var(--card);overflow:hidden}.progress__bar{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#e8476f8c,#ff8a5c8c)}.progress__label{position:relative;display:block;text-align:center;font-size:13px;line-height:26px}.history{list-style:none;margin:0;padding:0}.history li{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--card-border);font-size:14px}.history__body{flex:1}.history__score{font-weight:700}.history .ok .history__score{color:var(--ok)}.history .fail .history__score{color:var(--bad)}label{display:block;font-size:14px;color:var(--muted);margin-bottom:12px}input,textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border-radius:12px;border:1px solid var(--card-border);background:#00000040;color:var(--text);font:inherit;font-size:16px;resize:vertical}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}form .btn{width:100%;margin-top:8px}.login{max-width:380px;margin:0 auto;padding:12vh 16px 40px;text-align:center}.login__heart{font-size:56px}.login .card{text-align:left;margin-top:24px}.rules{padding-left:20px;margin:0}.rules li{margin-bottom:6px}.prize{white-space:pre-wrap;font-size:17px;background:#0003;padding:12px 14px;border-radius:12px}.result__emoji{font-size:64px}.topbar__actions{display:flex;gap:8px}.admin-head{margin-bottom:14px}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.admin-filters{margin:18px 0 14px}.admin-filters input[type=search]{margin:0 0 8px}.admin-filters__row{display:grid;grid-template-columns:1fr 1fr;gap:8px}select{display:block;width:100%;margin-top:6px;padding:11px 12px;border-radius:12px;border:1px solid var(--card-border);background:#00000040;color:var(--text);font:inherit;font-size:16px}.admin-filters__row select{margin-top:0}option{background:var(--bg-2)}label.check{display:flex;align-items:center;gap:10px;margin:12px 0 0;cursor:pointer}label.check input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.admin-form__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-form .actions{margin-bottom:0}.admin-card--off{opacity:.55}.admin-card__actions{display:flex;flex-wrap:wrap;gap:8px}.tags{display:flex;gap:6px}.tag{font-size:12px;padding:2px 8px;border-radius:999px;background:#ffffff1a;color:var(--muted)}.tag--off{background:#ff5d6c26;color:var(--bad)}.desc--hidden{filter:blur(6px);cursor:pointer;-webkit-user-select:none;user-select:none}.btn--sm{padding:8px 12px;font-size:14px;border-radius:10px}.btn--danger{color:var(--bad);border-color:#ff5d6c66}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100% - 32px);background:#3b1a33;border:1px solid var(--accent);padding:12px 18px;border-radius:14px;box-shadow:0 10px 30px #0006;z-index:10}
