:root{--black:#000000;--white:#FFFFFF;--gold:#C09F77;--gold2:#D4AF7F;--lilac:#9B8EFA;--muted:#9995A5;--panel:#111116;--panel2:#17171f;--line:rgba(255,255,255,.1);--green:#50D890;--yellow:#F6C85F;--red:#FF6B78}
*{box-sizing:border-box}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{max-width:1440px;margin:auto;min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.sidebar{border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:28px;background:rgba(8,8,11,.96)}.brand{display:flex;align-items:center;gap:10px;padding:0 4px}.logo{width:62px;height:46px;flex:0 0 62px;display:flex;align-items:center;justify-content:center;overflow:hidden}.logo img{display:block;width:100%;height:100%;object-fit:contain}.brand strong{font-size:15px;letter-spacing:1.6px}.brand strong{font-size:16px;letter-spacing:2px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:1.8px;margin-top:4px}.nav{display:grid;gap:7px}.nav button{background:transparent;color:#aaa8b3;border:0;text-align:left;padding:13px 14px;border-radius:12px;display:flex;gap:12px;align-items:center;font-size:14px}.nav button.active,.nav button:hover{background:linear-gradient(90deg,rgba(192,159,119,.16),rgba(155,142,250,.08));color:#fff}.nav .ico{width:22px;text-align:center;font-size:17px}.side-bottom{margin-top:auto}.community-card{padding:17px;border:1px solid rgba(192,159,119,.3);border-radius:16px;background:radial-gradient(circle at top right,rgba(155,142,250,.15),transparent 55%),#101015}.community-card .orb{width:38px;height:38px;border-radius:50%;border:1px solid var(--lilac);display:grid;place-items:center;margin-bottom:12px;color:var(--lilac)}.community-card strong{font-size:14px}.community-card p{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 14px}.main{padding:30px clamp(18px,4vw,52px) 50px;min-width:0;background:radial-gradient(ellipse at 82% 0%,rgba(155,142,250,.09),transparent 32%),radial-gradient(ellipse at 12% 28%,rgba(192,159,119,.06),transparent 25%)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:34px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--gold2)}h1{font-size:clamp(28px,4vw,42px);line-height:1.1;margin:9px 0 8px;letter-spacing:-1.4px}.subtitle{color:var(--muted);font-size:14px;line-height:1.6;max-width:640px}.top-right{display:flex;align-items:center;gap:12px}.icon-btn{width:42px;height:42px;border-radius:13px;background:var(--panel);border:1px solid var(--line);color:white}.mini-user{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--lilac));display:grid;place-items:center;color:#100f15;font-weight:800}.view{display:none}.view.active{display:block}.hero{border:1px solid rgba(192,159,119,.25);border-radius:22px;padding:25px 28px;margin-bottom:25px;position:relative;overflow:hidden;background:linear-gradient(105deg,rgba(192,159,119,.12),rgba(155,142,250,.09) 70%,rgba(0,0,0,.1))}.hero:after{content:"";position:absolute;width:270px;height:120px;border:1px solid rgba(155,142,250,.3);border-radius:50%;right:-20px;top:8px;transform:rotate(-25deg);box-shadow:0 0 0 20px rgba(155,142,250,.025),0 0 0 42px rgba(192,159,119,.025)}.hero-content{position:relative;z-index:1;max-width:650px}.hero h2{font-size:24px;margin:0 0 10px}.hero p{font-size:13px;color:#c1beca;line-height:1.6;margin:0 0 18px;max-width:570px}.button{border:0;border-radius:12px;padding:12px 17px;background:var(--gold2);color:#14110e;font-weight:750;font-size:13px}.button:hover{filter:brightness(1.08)}.button.secondary{background:transparent;border:1px solid var(--line);color:white}.button.lilac{background:var(--lilac);color:#111}.section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:28px 0 16px}.section-head h2{font-size:19px;margin:0}.section-head p{font-size:12px;color:var(--muted);margin:6px 0 0}.text-button{border:0;background:none;color:var(--gold2);font-size:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chip{border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:#c0bdc9;background:#101015;font-size:12px}.chip.active{border-color:var(--lilac);background:rgba(155,142,250,.13);color:white}.search-row{display:flex;gap:10px;margin-bottom:18px}.search{flex:1;min-width:100px;background:#101015;border:1px solid var(--line);border-radius:12px;padding:13px 15px;color:white;outline:none}.search:focus{border-color:var(--lilac)}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.person-card{background:linear-gradient(160deg,#15151d,#0e0e12);border:1px solid var(--line);border-radius:18px;padding:17px;transition:.2s;min-width:0}.person-card:hover{transform:translateY(-3px);border-color:rgba(155,142,250,.45)}.person-top{display:flex;align-items:center;gap:12px}.avatar{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:21px;font-weight:800;color:#14121b;flex-shrink:0;background:linear-gradient(135deg,#d7bd9b,#9b8efa)}.avatar.blue{background:linear-gradient(135deg,#a6e3ef,#9b8efa)}.avatar.pink{background:linear-gradient(135deg,#f2b3d0,#d4af7f)}.avatar.green{background:linear-gradient(135deg,#9ce0b8,#d4af7f)}.person-name{font-size:15px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.handle{font-size:11px;color:var(--muted);margin-top:4px}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:#bdb9c5;margin-top:7px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 10px currentColor}.dot.green{background:var(--green);color:var(--green)}.dot.yellow{background:var(--yellow);color:var(--yellow)}.dot.red{background:var(--red);color:var(--red)}.level-row{display:flex;align-items:center;justify-content:space-between;margin:17px 0 10px}.level{font-size:12px;color:var(--gold2)}.level strong{font-size:17px;color:white}.level-tag{font-size:10px;color:#b7b1c9;background:rgba(155,142,250,.1);border:1px solid rgba(155,142,250,.18);border-radius:7px;padding:5px 7px}.progress{height:4px;border-radius:10px;background:#2a2932;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,var(--gold),var(--lilac));border-radius:10px}.bio{color:#b9b6c1;font-size:12px;line-height:1.5;min-height:36px;margin:13px 0}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.tag{font-size:10px;color:#d4d0df;background:#24232c;padding:6px 8px;border-radius:7px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}.stats{font-size:10px;color:var(--muted)}.card-bottom button{font-size:11px;background:transparent;border:0;color:var(--gold2);font-weight:700}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.panel{border:1px solid var(--line);background:rgba(17,17,22,.88);border-radius:18px;padding:22px}.panel h3{font-size:16px;margin:0 0 7px}.panel .muted{color:var(--muted);font-size:12px;line-height:1.55}.profile-hero{display:flex;align-items:center;gap:20px;padding:25px;border:1px solid rgba(192,159,119,.25);border-radius:20px;background:linear-gradient(110deg,rgba(192,159,119,.1),rgba(155,142,250,.08));margin-bottom:18px}.profile-avatar{width:88px;height:88px;border-radius:24px;background:linear-gradient(135deg,#d4af7f,#9b8efa);display:grid;place-items:center;color:#17121a;font-size:32px;font-weight:900;flex-shrink:0}.profile-title{font-size:25px;margin:0 0 5px}.profile-meta{font-size:12px;color:var(--muted)}.profile-hero .status{margin-top:12px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.metric{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:17px}.metric strong{display:block;font-size:25px;margin-bottom:5px}.metric span{font-size:11px;color:var(--muted)}.skill-row{display:flex;align-items:center;gap:12px;margin:16px 0}.skill-row>span:first-child{width:100px;font-size:12px;color:#d6d2de}.skill-bar{height:6px;background:#2b2932;border-radius:9px;flex:1;overflow:hidden}.skill-bar i{height:100%;display:block;border-radius:9px;background:linear-gradient(90deg,var(--gold),var(--lilac))}.skill-row b{font-size:11px;color:var(--gold2);width:25px;text-align:right}.achievement{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.achievement:last-child{border-bottom:0}.ach-icon{width:37px;height:37px;border-radius:12px;background:rgba(155,142,250,.13);display:grid;place-items:center;color:var(--lilac)}.achievement strong{font-size:12px;display:block}.achievement small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-size:12px;color:#d8d4df;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;background:#0b0b10;border:1px solid var(--line);border-radius:10px;padding:12px;color:white;outline:none}.field textarea{min-height:85px;resize:vertical}.field.full{grid-column:1/-1}.helper{font-size:11px;color:var(--muted);line-height:1.6;margin-top:14px}.notice{border:1px solid rgba(155,142,250,.28);background:rgba(155,142,250,.08);padding:13px 15px;border-radius:12px;color:#d2cfff;font-size:12px;line-height:1.5;margin-bottom:18px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;place-items:center;padding:18px;z-index:20}.modal-backdrop.show{display:grid}.modal{width:min(480px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;background:#14141b;border:1px solid rgba(192,159,119,.3);border-radius:22px;padding:24px;box-shadow:0 20px 80px #000}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.modal h2{margin:0 0 8px;font-size:22px}.close{border:0;background:#25242c;color:white;border-radius:10px;width:34px;height:34px}.modal p{font-size:13px;line-height:1.6;color:#bcb8c6}.modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e6d1b2;color:#17110c;border-radius:12px;padding:13px 18px;font-size:13px;font-weight:700;transition:.25s;z-index:40}.toast.show{opacity:1;transform:translate(-50%,0)}.footer-note{font-size:10px;color:#6e6b77;text-align:center;margin-top:30px;line-height:1.6}.mobile-nav{display:none}
@media(max-width:1050px){.app{grid-template-columns:210px minmax(0,1fr)}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:24px}.two-col{grid-template-columns:1fr}}
@media(max-width:700px){.app{display:block;padding-bottom:72px}.sidebar{display:none}.main{padding:20px 15px 35px}.topbar{margin-bottom:24px}.topbar .eyebrow{font-size:9px}.top-right .icon-btn{display:none}.hero{padding:21px}.hero:after{right:-150px}.people-grid{grid-template-columns:1fr}.person-card{padding:16px}.section-head{align-items:start}.profile-hero{align-items:flex-start;padding:18px;gap:14px}.profile-avatar{width:64px;height:64px;border-radius:18px;font-size:25px}.profile-title{font-size:20px}.metric-grid{gap:8px}.metric{padding:12px}.metric strong{font-size:21px}.metric span{font-size:10px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:rgba(8,8,11,.97);border-top:1px solid var(--line);padding:9px 5px calc(9px + env(safe-area-inset-bottom));z-index:10;backdrop-filter:blur(12px)}.mobile-nav button{background:transparent;border:0;color:#9693a1;font-size:10px;display:grid;gap:4px;justify-items:center}.mobile-nav button.active{color:var(--gold2)}.mobile-nav span{font-size:18px}.search-row{flex-wrap:wrap}.search{flex-basis:100%}}
/* ---- дополнения MVP ---- */
a{color:inherit;text-decoration:none}.nav a{color:#aaa8b3;padding:13px 14px;border-radius:12px;display:flex;gap:12px;align-items:center;font-size:14px}.nav a.active,.nav a:hover{background:linear-gradient(90deg,rgba(192,159,119,.16),rgba(155,142,250,.08));color:#fff}
.mobile-nav a{color:#9693a1;font-size:10px;display:grid;gap:4px;justify-items:center}.mobile-nav a.active{color:var(--gold2)}
.medal{width:56px;height:56px;flex-shrink:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.6))}.medal.sm{width:34px;height:34px}.medal.lg{width:110px;height:110px}
.rank-name{font-size:11px;color:var(--gold2);letter-spacing:.5px}.rating{font-size:11px;color:var(--lilac)}
.error{border:1px solid rgba(255,107,120,.4);background:rgba(255,107,120,.1);color:#ffc2c8;padding:12px 14px;border-radius:12px;font-size:13px;margin-bottom:16px}
.ok-box{border:1px solid rgba(80,216,144,.4);background:rgba(80,216,144,.08);color:#bff3d6;padding:12px 14px;border-radius:12px;font-size:13px;margin-bottom:16px}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(ellipse at 80% 0%,rgba(155,142,250,.12),transparent 40%),radial-gradient(ellipse at 10% 90%,rgba(192,159,119,.1),transparent 35%)}
.auth{width:min(420px,100%)}.auth .brand{justify-content:center;margin-bottom:22px}.tabs{display:flex;gap:6px;margin-bottom:16px}.tabs button{flex:1}
.field{margin-bottom:0}.checks{display:flex;gap:8px;flex-wrap:wrap}.checks label{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;cursor:pointer;background:#101015}.checks input{width:auto!important}
.task-list{display:grid;gap:10px}.task-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.task-item:hover{border-color:rgba(155,142,250,.45)}.task-num{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#24232c;font-weight:800;font-size:13px}.task-item.done .task-num{background:rgba(80,216,144,.2);color:var(--green)}.task-item .grow{flex:1;min-width:0}.task-item small{color:var(--muted);font-size:11px}
.statement{font-size:14px;line-height:1.65;color:#dcd9e4}.statement code,.panel code{background:#24232c;padding:1px 6px;border-radius:5px;font-size:12.5px}.statement ul{padding-left:20px}
pre.sample{background:#0b0b10;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:12px;overflow:auto;max-height:240px;white-space:pre;margin:6px 0 0}
.editor-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.editor-bar select{background:#0b0b10;color:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.CodeMirror{height:380px;border:1px solid var(--line);border-radius:12px;font-size:13px;background:#0b0b10!important}
#codeArea{width:100%;min-height:380px;background:#0b0b10;color:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.verdict{font-weight:800}.v-OK{color:var(--green)}.v-WA,.v-RE,.v-CE,.v-MLE{color:var(--red)}.v-TLE{color:var(--yellow)}
pre.log{background:#0b0b10;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:11.5px;white-space:pre-wrap;max-height:260px;overflow:auto;color:#d0ccd9}
table.t{width:100%;border-collapse:collapse;font-size:12px}table.t td,table.t th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}table.t th{color:var(--muted);font-weight:600}
.quiz-q{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:12px}.quiz-q h4{margin:0 0 12px;font-size:14px;line-height:1.5}.quiz-q label{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:10px;font-size:13px;cursor:pointer;color:#d6d2de}.quiz-q label:hover{background:#1c1b24}.quiz-q input{margin-top:3px}
.quiz-q label.right{background:rgba(80,216,144,.12);color:#c8f5dc}.quiz-q label.wrong{background:rgba(255,107,120,.12);color:#ffc9ce}.diff{font-size:10px;color:var(--muted);margin-left:6px}
.ranks-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.rank-card{text-align:center;padding:18px 10px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.rank-card.locked{opacity:.55}.rank-card strong{display:block;margin-top:8px;font-size:14px}.rank-card small{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:6px}
.adm details{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;background:var(--panel)}.adm summary{cursor:pointer;font-size:13px}.adm form.inline{display:inline-flex;gap:6px;align-items:center;margin:4px 6px 4px 0;flex-wrap:wrap}.adm select,.adm input{background:#0b0b10;color:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12px}.adm .button{padding:7px 11px;font-size:12px}
.hidden-note{border:1px dashed rgba(246,200,95,.5);background:rgba(246,200,95,.07);color:#f6e2b0;padding:14px 16px;border-radius:14px;font-size:13px;line-height:1.55;margin-bottom:18px}
.dir-line{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.dir-line:last-child{border-bottom:0}.dir-line .grow{flex:1;min-width:0}
@media(max-width:1050px){.ranks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.ranks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-nav a span{font-size:18px}.CodeMirror{height:300px}.adm table.t{display:block;overflow-x:auto}}

.user-menu{position:relative}.mini-user{border:0;cursor:pointer;font-size:13px}.user-drop{display:none;position:absolute;right:0;top:50px;min-width:200px;background:#14141b;border:1px solid rgba(192,159,119,.3);border-radius:14px;padding:6px;box-shadow:0 14px 50px #000;z-index:30}.user-menu.open .user-drop{display:block}
.user-drop-head{padding:10px 12px 8px;font-size:13px;font-weight:700;border-bottom:1px solid var(--line);margin-bottom:4px}.user-drop-head small{display:block;color:var(--muted);font-weight:400;font-size:11px;margin-top:3px}
.user-drop a,.user-drop button{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:9px;font-size:13px;color:#d6d2de;background:none;border:0}.user-drop a:hover,.user-drop button:hover{background:#1f1e28;color:#fff}.user-drop form{margin:0}.user-drop button{color:#ff9aa4}
.dir-tag.main{background:rgba(192,159,119,.16);color:#f0dcc0}.dir-tag.sel{background:rgba(155,142,250,.22);color:#fff;outline:1px solid rgba(155,142,250,.5)}
