@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--white:#fff;--dark:#272727;--dark-gray:#373737;--green:#acfa00;--dark-green:#72a800;--white-o:#ffffffb8;--gray:#d9d9d9;--red:#f90124}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--dark-gray);color:var(--white);font-family:Montserrat,sans-serif}a{color:inherit;text-decoration:none}button,input{font-family:inherit}.app{background:var(--dark-gray);width:100%;height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--dark);flex-direction:column;width:280px;min-width:280px;height:100vh;padding:40px;display:flex;overflow-y:auto}.sidebar-logo{letter-spacing:-2px;color:var(--white);font-size:38px;font-weight:700;line-height:1;display:block}.sidebar-subtitle{color:var(--white-o);text-transform:uppercase;letter-spacing:.5px;margin-top:8px;font-size:11px;font-weight:600;line-height:1.4}.sidebar-nav{flex-direction:column;gap:10px;margin-top:55px;display:flex}.sidebar-bottom{margin-top:auto}.sidebar-link{color:var(--white);opacity:.5;border-radius:8px;align-items:center;gap:14px;padding:12px 14px;font-size:14px;font-weight:600;transition:opacity .2s,background .2s,color .2s,transform .2s;display:flex}.sidebar-link:hover{opacity:1;background:#ffffff0d;transform:translate(2px)}.sidebar-link.active{opacity:1;color:var(--green);background:#acfa0014}.sidebar-icon{text-align:center;width:22px;font-size:19px}.content{background:var(--dark-gray);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow-y:auto}.content>.page-transition{flex:1 0 auto}.page{width:100%;min-height:100%;padding:40px}.welcome-banner{background:#282828;border:1px solid #333;border-radius:12px;max-width:850px;padding:30px}.eyebrow{color:var(--green);letter-spacing:1.2px;margin:0 0 12px;font-size:12px;font-weight:700;line-height:1.4}.welcome-section h1{letter-spacing:-1.5px;margin:0;font-size:48px;font-weight:700;line-height:1.1}.welcome-text{max-width:620px;color:var(--white-o);margin:20px 0 30px;font-size:16px;line-height:1.6}.primary-button{background:var(--green);color:var(--dark);border-radius:8px;justify-content:center;align-items:center;padding:12px 22px;font-size:16px;font-weight:700;line-height:26px;transition:background .2s,transform .2s;display:inline-flex}.primary-button:hover{background:#b8ff33;transform:translateY(-2px)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:55px auto 0;display:grid;transform:translate(-23px)}.stat-card{box-sizing:border-box;background:#282828;border:1px solid #252936;border-radius:10px;align-items:center;gap:20px;min-height:150px;padding:26px;display:flex}.stat-icon{background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;font-size:75px;display:flex}.stat-content strong{margin-bottom:9px;font-size:34px;line-height:1;display:block}.stat-content span{color:#a8adbb;font-size:14px;display:block}.section-block{margin-top:60px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.section-heading h2{margin:0;font-size:30px;font-weight:700;line-height:1.2}.text-link{color:var(--green);font-size:14px;font-weight:700;transition:opacity .2s}.text-link:hover{opacity:.7}.dashboard-cards{grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;display:grid}.dashboard-card{background:var(--dark);border-radius:12px;flex-direction:column;min-height:190px;padding:24px;transition:transform .2s,background .2s;display:flex}.dashboard-card:hover{background:#303030;transform:translateY(-4px)}.card-category{color:var(--green);letter-spacing:1px;margin-bottom:18px;font-size:11px;font-weight:700}.dashboard-card h3{margin:0 0 10px;font-size:21px;font-weight:700;line-height:1.3}.dashboard-card p{color:var(--white-o);margin:0 0 20px;font-size:13px;line-height:1.5}.dashboard-card strong{color:var(--white);margin-top:auto;font-size:14px}.page>h1{margin:0 0 12px;font-size:36px;line-height:1.2}.page>p{color:var(--white-o);font-size:14px;line-height:1.5}@media (width<=1100px){.sidebar{width:230px;min-width:230px;padding:30px}.stats-grid,.dashboard-cards{grid-template-columns:1fr}}@media (width<=800px){.app{height:auto;min-height:100vh;display:block;overflow:visible}.sidebar{width:100%;min-width:0;height:auto;padding:20px;position:relative}.sidebar-nav{flex-direction:row;margin-top:25px;overflow-x:auto}.sidebar-bottom{margin-top:10px}.sidebar-link{white-space:nowrap}.content{height:auto;min-height:calc(100vh - 250px);overflow:visible}.page{padding:25px 20px}.welcome-section h1{font-size:36px}.section-heading{flex-direction:column;align-items:flex-start}}.page-header{margin-bottom:40px}.page-header h1{margin:0 0 12px;font-size:38px;font-weight:700;line-height:1.2}.page-header>p:last-child{color:var(--white-o);margin:0;font-size:14px;line-height:1.5}.challenge-grid{grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;display:grid}.challenge-card{background:var(--dark);border:1px solid #0000;border-radius:12px;flex-direction:column;min-height:230px;padding:24px;transition:transform .2s,border-color .2s,background .2s;display:flex}.challenge-card:hover{background:#303030;border-color:#acfa0059;transform:translateY(-4px)}.challenge-category{color:var(--green);letter-spacing:1px;margin-bottom:18px;font-size:11px;font-weight:700}.challenge-card h2{margin:0 0 10px;font-size:22px;font-weight:700;line-height:1.3}.challenge-card p{color:var(--white-o);margin:0;font-size:13px;line-height:1.5}.challenge-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:25px;display:flex}.challenge-footer span{color:var(--white-o);font-size:12px;font-weight:500}.challenge-footer strong{color:var(--white);font-size:14px}@media (width<=1100px){.challenge-grid{grid-template-columns:1fr}}.challenge-details>span{color:#a8adbb;font-size:14px}.challenge-points{color:#a8adbb;margin-bottom:30px;font-weight:700}.challenge-details>p:not(.challenge-points){color:#a8adbb;margin-bottom:30px;line-height:1.6}.flag-input{box-sizing:border-box;color:#fff;background:#0f1117;border:1px solid #303441;border-radius:6px;outline:none;width:100%;padding:14px;font-size:15px}.flag-input:focus{border-color:#555b6e}.submit-button:hover{opacity:.85}.challenge-details{box-sizing:border-box;max-width:800px;margin:0 auto;padding:50px 30px}.challenge-category{color:#a8adbb;letter-spacing:1px;font-size:13px;font-weight:700}.challenge-details h1{margin:15px 0 10px;font-size:46px}.challenge-points{color:#a8adbb;margin-bottom:35px;font-size:16px}.challenge-description{color:#a8adbb;margin-bottom:40px;font-size:17px;line-height:1.6}.flag-section{gap:12px;display:flex}.flag-input{color:#fff;box-sizing:border-box;background:#252936;border:1px solid #555b6b;border-radius:6px;flex:1;height:50px;padding:14px 16px;font-size:15px}.flag-input::placeholder{color:#777c89}.flag-result{margin-top:20px;font-size:16px;font-weight:700}.flag-result.correct{color:#fff}.flag-result.incorrect{color:#ff4d4d}.error-icon{margin-right:8px;font-size:24px}.scoreboard-description{color:#a8adbb;margin:0 0 45px;font-size:17px}.scoreboard-table{background:#252936;border:1px solid #555b6b;border-radius:10px;width:100%;overflow:hidden}.scoreboard-header,.scoreboard-row{box-sizing:border-box;grid-template-columns:100px 1fr 150px 120px;align-items:center;padding:20px 25px;display:grid}.scoreboard-header{color:#a8adbb;border-bottom:1px solid #555b6b;font-size:14px}.scoreboard-row{border-bottom:1px solid #555b6b}.scoreboard-row:last-child{border-bottom:none}.scoreboard-row strong{font-size:16px}.scoreboard-row span{font-size:15px}.scoreboard-page{box-sizing:border-box;max-width:1000px;margin:0 auto;padding:80px 30px}.scoreboard-page h1{margin:0 0 15px;font-size:46px}.top-players{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:35px;display:grid}.top-player-card{text-align:center;box-sizing:border-box;background:#252936;border:1px solid #555b6b;border-radius:10px;padding:30px 25px}.top-player-rank{color:#a8adbb;margin-bottom:15px;font-size:80px}.top-player-name{margin-bottom:12px;font-size:22px;font-weight:700}.top-player-card strong{margin-bottom:8px;font-size:17px;display:block}.top-player-card span{color:#a8adbb;font-size:14px}.top-player-card:first-child{order:2}.top-player-card:nth-child(2){order:1;margin-top:30px}.top-player-card:nth-child(3){order:3;margin-top:60px}.auth-page{box-sizing:border-box;max-width:450px;margin:0 auto;padding:90px 30px}.auth-page h1{text-align:center;margin:0 0 15px;font-size:42px}.auth-description{color:#a8adbb;text-align:center;margin-bottom:40px;line-height:1.5}.auth-form{flex-direction:column;display:flex}.auth-form label{margin-bottom:8px;font-size:14px}.auth-form input{color:#fff;box-sizing:border-box;background:#252936;border:1px solid #555b6b;border-radius:6px;margin-bottom:22px;padding:14px 16px;font-size:15px}.auth-form input::placeholder{color:#777c89}.auth-form input:focus{background:#303441;border-color:#777f91;outline:none}.auth-button{color:#0f1117;cursor:pointer;background:#fff;border:none;border-radius:6px;padding:14px;font-size:15px;font-weight:700}.auth-button:hover{opacity:.85}.auth-switch{text-align:center;color:#a8adbb;margin-top:25px}.auth-switch a{color:#fff;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.challenge-info{background:#252936;border:1px solid #555b6b;border-radius:10px;margin-top:35px;padding:25px}.challenge-info h2{margin-top:0;margin-bottom:12px;font-size:20px}.challenge-info p{color:#a8adbb;margin-bottom:15px;line-height:1.6}.challenge-info code{color:#fff;background:#303441;border:1px solid #555b6b;border-radius:6px;padding:10px 14px;font-family:monospace;display:inline-block}.flag-section{align-items:center;gap:12px;margin-top:35px;display:flex}.flag-input:focus{background:#303441;border-color:#777f91;outline:none}.submit-button{color:#0f1117;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:6px;height:50px;padding:0 18px;font-size:15px;font-weight:700}.clear-button{color:#fff;cursor:pointer;white-space:nowrap;background:#252936;border:1px solid #555b6b;border-radius:6px;height:50px;padding:0 18px;font-size:15px}.clear-button:hover{background:#303441;border-color:#777f91}.flag-result.empty{color:#ffb347}.success-icon,.error-icon{margin-right:8px;font-size:26px}.warning-icon{margin-right:8px;font-size:24px}.filters{flex-wrap:nowrap;align-items:center;gap:40px;margin:35px 0 40px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sort-group{flex-direction:column;gap:28px;display:flex}.sort-group>span{color:#63d6bf;font-size:24px}.sort-group select{color:#fff;cursor:pointer;background:#252936;border:1px solid #555b6b;border-radius:6px;padding:12px 14px;font-size:14px;transition:all .2s}.sort-group select:hover{color:#fff;background:#303441;border-color:#777f91}.sort-group select:focus{border-color:#555b6b;outline:none}.sort-group option{color:#fff;background:#111318}.filter-group>span{color:#a8adbb;margin-right:5px;font-size:14px}.filter-group button{color:#fff;cursor:pointer;background:#252936;border:1px solid #555b6b;border-radius:6px;padding:9px 15px;font-size:14px;transition:all .2s}.filter-group button:hover{color:#fff;background:#303441;border-color:#777f91}.filter-group button.filter-active{color:#0f1117;background:#fff;border-color:#fff}.no-challenges{color:#a8adbb;text-align:center;margin-top:50px}.filter-group:first-child>span{color:#b084ff}.filter-group:nth-child(2)>span{color:#5ca9ff}.controls-row{align-items:flex-start;gap:25px;margin:30px 0;display:flex}.search-box{flex-direction:column;align-items:flex-start;gap:6px;margin:0;display:flex;transform:translate(5px,-5px)}.search-button{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px;font-size:36px;transition:all .2s;transform:translate(5px,-5px)}.search-button:hover{color:#a8adbb;transform:translate(5px,-5px)scale(1.1)}.search-box input{color:#fff;box-sizing:border-box;background:#252936;border:1px solid #555b6b;border-radius:6px;width:280px;padding:12px 16px;font-size:15px;transition:all .2s}.search-box input::placeholder{color:#777c89}.search-box input:focus{background:#303441;border-color:#777f91;outline:none}.challenge-count{color:#777c89;margin:25px 0 15px;font-size:14px}.password-field{margin-bottom:22px;position:relative}.password-field input{width:100%;margin-bottom:0;padding-right:50px}.password-toggle{color:#a8adbb;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle:hover{color:#fff}.auth-error{color:tomato;margin:-6px 0 18px;font-size:15px}.auth-note{color:#a8adbb;text-align:center;margin:16px 0 0;font-size:15px}.path-icon-picker{grid-template-columns:repeat(auto-fill,44px);gap:8px;display:grid}.path-icon-choice{border:1px solid var(--glass-border);color:#a8adbb;cursor:pointer;background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:border-color .2s,color .2s,background .2s;display:flex}.path-icon-choice svg{width:22px;height:22px}.path-icon-choice:hover{color:#fff;border-color:#ffffff40}.path-icon-choice.active{background:color-mix(in srgb, var(--choice) 15%, transparent);border-color:var(--choice);color:var(--choice)}.path-color-picker{flex-wrap:wrap;gap:10px;display:flex}.path-color-choice{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;padding:0;transition:transform .15s;box-shadow:inset 0 0 0 2px #00000059}.path-color-choice:hover{transform:scale(1.1)}.path-color-choice.active{border-color:#fff;transform:scale(1.1)}.path-icon-choice:focus-visible,.path-color-choice:focus-visible{outline:2px solid var(--green);outline-offset:2px}.path-look-preview{border:1px solid var(--glass-border);background:#ffffff05;border-radius:10px;align-items:center;gap:14px;padding:10px 14px;display:flex}.path-look-preview strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.editor-grid .path-look-colors{grid-column:span 2}@media (width<=1300px){.editor-grid .path-look-colors{grid-column:auto}}.category-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.category-icon svg{width:55%;height:55%}.category-icon.sm{border-radius:8px;width:36px;height:36px}.category-icon.md{width:48px;height:48px}.category-icon.lg{border-radius:14px;width:72px;height:72px}.category-icon.web{color:#3ec6fd;background:#3ec6fd26}.category-icon.networking{color:#b084ff;background:#b084ff26}.category-icon.linux{color:#fecb00;background:#fecb0026}.category-icon.crypto{color:#ff6bd6;background:#ff6bd626}.challenges-page .challenge-card.crypto{--cat:#ff6bd6;--cat-rgb:255, 107, 214}.challenge-card:has(.category-icon.crypto){--cat:#ff6bd6;--cat-rgb:255, 107, 214}.path-card:has(.category-icon.crypto){--cat:#ff6bd6;--cat-rgb:255, 107, 214}.profile-category:nth-child(4) .profile-bar-fill{background:#ff6bd6}.category-icon.forensics{color:#ff9f43;background:#ff9f4326}.challenges-page .challenge-card.forensics{--cat:#ff9f43;--cat-rgb:255, 159, 67}.challenge-card:has(.category-icon.forensics){--cat:#ff9f43;--cat-rgb:255, 159, 67}.path-card:has(.category-icon.forensics){--cat:#ff9f43;--cat-rgb:255, 159, 67}.profile-category:nth-child(5) .profile-bar-fill{background:#ff9f43}.category-icon.general{color:var(--green);background:#acfa001f}.difficulty-badge{border:1px solid #0000;border-radius:999px;padding:3px 10px;font-weight:700;display:inline-block}.difficulty-badge.easy{color:#3ddc84;background:#3ddc841a;border-color:#3ddc8459}.difficulty-badge.medium{color:#ff9f1c;background:#ff9f1c1a;border-color:#ff9f1c59}.difficulty-badge.hard{color:#ff4d5e;background:#ff4d5e1a;border-color:#ff4d5e59}.difficulty-badge.plain{background:0 0;border:none;padding:0}.terminal-badge{color:var(--green);letter-spacing:.5px;white-space:nowrap;background:#acfa0014;border:1px solid #acfa0059;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-family:monospace;font-size:12px;font-weight:600;display:inline-flex}.terminal-badge svg{width:14px;height:14px}.card-top .terminal-badge{align-self:flex-start;margin-left:auto}.filter-bars{flex-wrap:wrap;gap:14px;margin:35px 0 18px;display:flex}.filter-bar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c100ed9;border:1px solid #acfa0024;border-radius:10px;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:flex}.filter-bar-title{color:#acfa00b3;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;padding:0 10px 0 8px;font-family:monospace;font-size:12px}.filter-bar-option{--option-color:var(--green);--option-rgb:172, 250, 0;color:#c9d1cc;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:8px 14px;font-size:13px;transition:background .2s,color .2s,border-color .2s}.filter-bar-option:hover{background:rgba(var(--option-rgb), .06)}.filter-bar-option.easy{--option-color:#3ddc84;--option-rgb:61, 220, 132;color:#3ddc84}.filter-bar-option.medium{--option-color:#ff9f1c;--option-rgb:255, 159, 28;color:#ff9f1c}.filter-bar-option.hard{--option-color:#ff4d5e;--option-rgb:255, 77, 94;color:#ff4d5e}.filter-bar-option.active{background:rgba(var(--option-rgb), .12);border-color:rgba(var(--option-rgb), .45);color:var(--option-color);box-shadow:0 0 14px rgba(var(--option-rgb), .12)}.challenges-toolbar{align-items:center;gap:20px;display:flex}.challenges-search{flex:1;max-width:460px;position:relative}.challenges-search svg{width:18px;height:18px;color:var(--green);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.challenges-search input{color:#fff;background:#101412e6;border:1px solid #ffffff1a;border-radius:8px;width:100%;padding:12px 16px 12px 42px;font-size:15px;transition:all .2s}.challenges-search input::placeholder{color:#777c89}.challenges-search input:focus{border-color:#acfa0080;outline:none;box-shadow:0 0 0 3px #acfa001a}.challenges-sort{color:#8f9a93;align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.challenges-sort select{color:#fff;cursor:pointer;background:#101412e6;border:1px solid #ffffff1a;border-radius:8px;padding:11px 14px;font-size:14px}.challenges-sort select:focus{border-color:#acfa0080;outline:none}.challenges-sort option{color:#fff;background:#111318}.challenges-page .challenge-count{color:#acfa0099;margin:22px 0 14px;font-family:monospace;font-size:14px}.challenges-page .challenge-grid{gap:20px;max-width:none}.challenges-page .challenge-card{--cat:var(--green);--cat-rgb:172, 250, 0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101412e0;border:1px solid #ffffff12;position:relative;overflow:hidden}.challenges-page .challenge-card.web{--cat:#3ec6fd;--cat-rgb:62, 198, 253}.challenges-page .challenge-card.networking{--cat:#b084ff;--cat-rgb:176, 132, 255}.challenges-page .challenge-card.linux{--cat:#fecb00;--cat-rgb:254, 203, 0}.challenges-page .challenge-card:before{content:"";background:var(--cat);height:3px;box-shadow:0 0 14px var(--cat);position:absolute;top:0;left:0;right:0}.challenges-page .challenge-card:hover{border-color:rgba(var(--cat-rgb), .5);box-shadow:0 0 24px rgba(var(--cat-rgb), .15);background:#141a17f2}.challenges-page .challenge-category{color:var(--cat)}.challenge-number{color:#7d8a82;font-family:monospace}.challenges-page .challenge-card p.search-match{border-left:2px solid rgba(var(--cat-rgb), .6);color:#c9d1cc;background:#ffffff08;border-radius:0 6px 6px 0;margin-top:12px;padding:8px 10px;font-family:monospace;font-size:12px}.challenges-page .challenge-footer strong{color:var(--green);background:#acfa001a;border-radius:999px;padding:4px 10px;font-size:12px}.card-top{align-items:center;gap:14px;margin-bottom:18px;display:flex}.card-top-text{flex-direction:column;gap:4px;display:flex}.card-top .challenge-category{margin:0}.card-progress{align-items:center;gap:12px;margin-top:16px;display:flex}.card-progress-bar{background:#ffffff14;border-radius:4px;flex:1;height:6px;overflow:hidden}.card-progress-fill{background:var(--green);height:100%;transition:width .4s}.card-progress-text{min-width:40px;color:var(--white-o);text-align:right;white-space:nowrap;font-size:12px;font-weight:600}.card-progress-text.done{color:var(--green)}@media (width<=800px){.challenges-toolbar{flex-direction:column;align-items:stretch}.challenges-search{max-width:none}.challenges-sort{margin-left:0}}.top-player-card.is-you{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.top-player-card.is-you .top-player-name{color:var(--green)}.scoreboard-row.is-you{background:#acfa0014}.scoreboard-row.is-you strong{color:var(--green)}.scoreboard-page{max-width:none;margin:0;padding:0}.scoreboard-page .top-players{gap:20px;margin-bottom:20px}.top-player-group{color:var(--terminal);margin:-4px 0 12px;font-family:monospace;font-size:13px;font-style:normal;display:block}.scoreboard-group{color:var(--terminal);margin-left:10px;font-family:monospace;font-size:12px;font-weight:400}.scoreboard-search{max-width:460px;margin:0 0 18px}.scoreboard-found{color:#a8b3ac;margin:-8px 0 18px;font-size:14px}a.top-player-card,a.scoreboard-row{text-decoration:none}a.top-player-card:hover,a.scoreboard-row:hover{border-color:#acfa0073}.app.guest .animated-bg{left:0}.app.guest .page{justify-content:center;align-items:center;min-height:100vh;display:flex}.app.guest .auth-page{width:100%;padding:40px 30px}.auth-brand{flex-direction:column;align-items:center;gap:6px;margin-bottom:36px;display:flex}.auth-logo{color:var(--white);letter-spacing:-2px;text-shadow:0 0 22px #acfa004d;font-size:56px;font-weight:700;line-height:1}.auth-subtitle{color:#acfa00b3;letter-spacing:2px;text-transform:uppercase;font-size:12px;font-weight:700}.auth-form .auth-check{color:#a8adbb;cursor:pointer;align-items:center;gap:10px;margin:4px 0 20px;font-size:14px;display:flex}.auth-form .auth-check input{width:16px;height:16px;accent-color:var(--green);cursor:pointer;margin:0;padding:0}.auth-link{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.auth-link:hover{text-decoration:underline}.auth-button:disabled{opacity:.7;cursor:wait}.auth-button.locked,.auth-button.locked:hover{color:#7d8a82;box-shadow:none;opacity:1;cursor:not-allowed;background:#2a2f2c;border-color:#ffffff1a}.loading-screen{text-align:center}.loading-screen .auth-button{width:100%}.confetti{z-index:1000;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.terminal{cursor:text;background:#060907f5;border:1px solid #acfa0040;border-radius:12px;margin-bottom:24px;overflow:hidden;box-shadow:0 0 30px #acfa0014}.terminal-bar{background:#ffffff0a;border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;padding:10px 14px;display:flex}.terminal-dot{border-radius:50%;width:11px;height:11px}.terminal-dot.red{background:#ff5f57}.terminal-dot.yellow{background:#febc2e}.terminal-dot.green{background:#28c840}.terminal-title{color:#8f9a93;margin-left:10px;font-family:monospace;font-size:12px}.terminal-body{box-sizing:border-box;background:#060907;height:380px;padding:12px 6px 12px 16px}.terminal-screen{width:100%;height:100%}.terminal-screen .xterm{height:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0}.terminal-screen .xterm-viewport{scrollbar-width:thin;scrollbar-color:#acfa0040 transparent}.terminal-screen .xterm-viewport::-webkit-scrollbar{width:8px}.terminal-screen .xterm-viewport::-webkit-scrollbar-thumb{background:#acfa0040;border-radius:4px}.terminal-screen .xterm-viewport::-webkit-scrollbar-track{background:0 0}.room-meta{gap:10px;margin:0 0 30px;display:flex}.room-meta span{color:#a8adbb;background:#252936;border:1px solid #555b6b;border-radius:6px;padding:6px 12px;font-size:14px}.room-progress{margin-bottom:30px}.room-progress-top{color:#a8adbb;justify-content:space-between;margin-bottom:10px;font-size:14px;display:flex}.room-progress-top strong{color:#fff}.room-progress-bar{background:#252936;border:1px solid #555b6b;border-radius:6px;height:10px;overflow:hidden}.room-progress-fill{background:var(--green);height:100%;transition:width .4s}.room-completed{color:var(--green);background:#acfa0014;border:1px solid #acfa0066;border-radius:10px;margin-bottom:30px;padding:16px 20px;font-weight:700}.task{background:#252936;border:1px solid #555b6b;border-radius:10px;margin-bottom:14px;overflow:hidden}.task-header{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;width:100%;padding:18px 22px;font-size:17px;transition:all .2s;display:flex}.task-label{color:#a8adbb;white-space:nowrap;background:#303441;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700}.task-title{flex:1;font-weight:700}.task-icon{color:#a8adbb;font-size:20px}.task-header.done .task-icon{color:var(--green)}.task-body{border-top:1px solid #555b6b;padding:5px 22px 22px}.task-body>p{color:#a8adbb;line-height:1.6}.task-code{color:#fff;white-space:pre-wrap;background:#1b1e27;border:1px solid #555b6b;border-radius:6px;margin:18px 0;padding:16px;font-family:monospace;font-size:14px;line-height:1.5;overflow-x:auto}.task-questions{margin-top:22px}.question{border-top:1px solid #3a3f4d;padding:18px 0}.question-text{color:#fff;margin:0 0 12px}.question-number{color:#a8adbb;margin-right:8px}.question-row{align-items:center;gap:12px;display:flex}.question-correct{color:var(--green);white-space:nowrap;font-weight:700}.answer-format{color:#777c89;margin:10px 0 0;font-size:13px}.answer-format code{color:#a8adbb;letter-spacing:1px;font-family:monospace}.question-hint{color:#fecb00;margin:10px 0 0;font-size:14px}.question-status{margin:10px 0 0;font-size:14px;font-weight:700}.question-status.incorrect{color:tomato}.question-status.empty{color:#ffb347}.login-banner{background:#fecb0012;border:1px solid #fecb0073;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:16px 20px;display:flex}.login-banner div{flex-direction:column;gap:4px;display:flex}.login-banner strong{color:#fecb00;letter-spacing:1px;text-transform:uppercase;font-family:monospace}.login-banner span{color:#c2bba0;font-size:14px}.login-banner-button{background:var(--green);color:#151a10;border-radius:8px;flex-shrink:0;padding:9px 20px;font-size:14px;font-weight:700;transition:box-shadow .2s}.login-banner-button:hover{box-shadow:0 0 18px #acfa0059}.practice-start{color:#3ec6fd;cursor:pointer;background:0 0;border:1px solid #3ec6fd99;border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:9px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.practice-start:hover{background:#3ec6fd1f}.practice-banner{background:#3ec6fd14;border:1px solid #3ec6fd73;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:16px 20px;display:flex;box-shadow:0 0 24px #3ec6fd14}.practice-banner div{flex-direction:column;gap:4px;display:flex}.practice-banner strong{color:#3ec6fd;letter-spacing:1px;text-transform:uppercase;font-family:monospace}.practice-banner span{color:#a8b8c0;font-size:14px}.practice-exit{color:#3ec6fd;cursor:pointer;background:0 0;border:1px solid #3ec6fd99;border-radius:8px;flex-shrink:0;padding:9px 16px;font-size:14px;font-weight:600}.practice-exit:hover{background:#3ec6fd1f}.room-progress-bar.practice .room-progress-fill{background:#3ec6fd;box-shadow:0 0 10px #3ec6fd99}.room-completed.practice-done{color:#3ec6fd;background:#3ec6fd14;border-color:#3ec6fd73}.room-completed.practice-done .room-next{color:#0b1a20;cursor:pointer;background:#3ec6fd;border:1px solid #3ec6fd;font-family:inherit}.room-completed.practice-done .room-next:hover{background:#3ec6fd;box-shadow:0 0 18px #3ec6fd66}.page .challenge-details{max-width:none;margin:30px 0 0;padding:0}.challenge-details .task{margin-bottom:20px}.room-completed{justify-content:space-between;align-items:center;gap:20px;display:flex}.room-next{background:var(--green);color:var(--dark);white-space:nowrap;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:700;transition:all .2s}.room-next:hover{background:#b8ff33}.room-header{align-items:center;gap:22px;margin-bottom:20px;display:flex}.room-header h1{margin:6px 0 0}.room-library{flex-wrap:wrap;align-items:center;gap:8px;margin:-16px 0 28px;display:flex}.room-library-label{color:#a8adbb;font-size:14px}.room-library-link{color:var(--green);background:#acfa000f;border:1px solid #acfa004d;border-radius:999px;padding:5px 12px;font-size:13px;text-decoration:none;transition:background .2s,border-color .2s}.room-library-link:hover{border-color:var(--green);background:#acfa001f}.question.review{border-color:#acfa0073;border-left:3px solid var(--green);background:#acfa000a;padding:14px 16px 18px;box-shadow:0 0 0 1px #acfa002e}.question-review-top{border-bottom:1px solid #acfa002e;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:14px;padding-bottom:12px;display:flex}.question-review-tag{color:var(--green);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;font-family:monospace;font-size:12px}.question-review-note{color:#a9b3ac;flex:1;min-width:200px;font-size:13px;line-height:1.5}.question-review-back{color:#8f9a93;white-space:nowrap;font-size:13px;text-decoration:none}.question-review-back:hover{color:var(--green)}.avatar{overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.skill-radar{width:100%;max-width:330px;height:auto}.skill-radar-ring{fill:none;stroke:var(--glass-border);stroke-width:1px}.skill-radar-axis{stroke:var(--glass-border);stroke-width:1px}.skill-radar-area{fill:#acfa0029;stroke:var(--green);stroke-width:2px;stroke-linejoin:round}.skill-radar-dot{fill:var(--green)}.skill-radar-dot.weak{fill:#e0607e}.skill-radar-label{fill:#a8b3ac;letter-spacing:.06em;text-transform:uppercase;font-family:monospace;font-size:11px}.skill-radar-label.weak{fill:#e0607e}.password-panel{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;margin:-15px 0 35px;padding:22px 24px}.password-panel h2{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;margin:0 0 16px;font-family:monospace;font-size:13px}.password-panel h2:before{content:"> ";color:var(--green)}.password-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.password-form label{color:#d6e0d9;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.password-form input[type=password],.password-form input[type=text]{color:#fff;background:#101412e6;border:1px solid #ffffff1a;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.password-form input[type=password]:focus,.password-form input[type=text]:focus{border-color:#acfa0080;outline:none;box-shadow:0 0 0 3px #acfa001a}.password-form .password-show{color:#a8adbb;cursor:pointer;flex-direction:row;grid-column:1/-1;align-items:center;gap:8px;font-weight:400}.password-show input{accent-color:var(--green)}.password-error{color:#ff6b78;grid-column:1/-1;margin:0;font-size:14px}.password-actions{grid-column:1/-1;gap:10px;display:flex}.password-panel .password-small{cursor:pointer;border-radius:8px;height:auto;padding:10px 18px;font-size:14px;font-weight:600}.password-panel .password-small:disabled{opacity:.5;cursor:not-allowed}.password-panel .password-small.locked,.password-panel .password-small.locked:hover{color:#7d8a82;box-shadow:none;opacity:1;background:#2a2f2c;border-color:#ffffff1a}.password-done{color:var(--green);margin:0 0 14px;font-size:15px}.profile-header-actions{gap:10px;display:flex}@media (width<=900px){.password-form{grid-template-columns:1fr}}.profile-page{max-width:none;margin:0;padding:0}.profile-header{align-items:center;gap:24px;margin-bottom:35px;display:flex}.profile-avatar{background:var(--green);color:#0f1117;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;font-size:30px;font-weight:700;display:flex}.profile-info{flex:1}.profile-info h1{margin:0 0 6px;font-size:36px}.profile-info p{color:#a8adbb;margin:0}.profile-stats{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;display:grid}.profile-stat{text-align:center;background:#252936;border:1px solid #555b6b;border-radius:10px;padding:22px}.profile-stat strong{margin-bottom:6px;font-size:28px;display:block}.profile-stat span{color:#a8adbb;font-size:14px}.profile-title{margin:0 0 16px;font-size:20px}.profile-categories{flex-direction:column;gap:20px;margin-bottom:40px;display:flex}.profile-category{background:#252936;border:1px solid #555b6b;border-radius:10px;padding:18px 22px}.profile-category-top{justify-content:space-between;margin-bottom:12px;display:flex}.profile-category-top strong{color:#a8adbb}.profile-bar{background:#373737;border-radius:4px;height:8px;overflow:hidden}.profile-bar-fill{background:var(--green);height:100%;transition:width .4s}.profile-rooms{flex-direction:column;gap:20px;display:flex}.profile-room{background:#252936;border:1px solid #555b6b;border-radius:10px;justify-content:space-between;align-items:center;padding:16px 22px;transition:all .2s;display:flex}.profile-room:hover{background:#303441;border-color:#777f91}.profile-room-title{align-items:center;gap:14px;font-weight:700;display:flex}.profile-room-status{color:#a8adbb;font-size:14px;font-weight:700}.profile-room-status.done{color:var(--green)}.profile-empty{color:#a8adbb;margin-bottom:25px}.profile-empty a{color:var(--green)}.profile-photo{flex-direction:column;align-items:center;gap:8px;display:flex}.profile-avatar img{border-radius:50%}.profile-photo-actions{gap:6px;display:flex}.profile-photo-button{border:1px solid var(--glass-border);color:#a8b3ac;cursor:pointer;background:0 0;border-radius:6px;padding:3px 8px;font-size:11px}.profile-photo-button:hover{color:var(--green);border-color:#acfa0073}.profile-photo-button.remove:hover{color:#ff6b78;border-color:#ff6b7880}.profile-photo-button:disabled{opacity:.5;cursor:wait}.profile-photo-error{color:#ff6b78;margin:-20px 0 24px;font-size:14px}.profile-skills{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;grid-template-columns:330px 1fr;align-items:center;gap:28px;margin-bottom:32px;padding:22px 24px;display:grid}.profile-skill-list{flex-direction:column;gap:10px;min-width:0;display:flex}.profile-skill{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:14px;padding-bottom:10px;display:flex}.profile-skill-name{color:#e8ece9;align-items:center;gap:8px;font-size:14px;display:flex}.profile-skill-numbers{color:#a8b3ac;text-align:right;font-family:monospace;font-size:12px}.profile-skill-numbers em{color:var(--green);font-style:normal}.profile-skill-next{color:#a8b3ac;margin:4px 0 0;font-size:14px}.profile-skill-next strong{color:#e8ece9}.profile-skill-next a{color:var(--green)}.profile-photo-share{color:#a8b3ac;cursor:pointer;align-items:center;gap:8px;max-width:190px;margin-top:10px;font-size:12px;line-height:1.35;display:flex}.profile-photo-share input{width:15px;height:15px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.profile-photo-share:hover span{color:#e8ece9}.activity-panel{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:24px;position:relative;overflow:hidden}.activity-panel:before{content:"";background:var(--green);height:3px;box-shadow:0 0 14px var(--green);position:absolute;top:0;left:0;right:0}.activity-summary{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.activity-streak{border:1px solid var(--glass-border);background:#ffffff08;border-radius:10px;flex:260px;align-items:center;gap:16px;padding:16px 18px;display:flex}.activity-streak.on{border-color:#acfa0073;box-shadow:0 0 20px #acfa0014}.activity-streak .activity-flame{letter-spacing:0;filter:grayscale();opacity:.4;flex-shrink:0;font-family:inherit;font-size:46px;line-height:1}.activity-streak.on .activity-flame{filter:drop-shadow(0 0 8px #ff9f1c99);opacity:1}.activity-streak strong{color:#fff;margin-bottom:4px;font-family:monospace;font-size:28px;line-height:1;display:block}.activity-streak.on strong{color:var(--green);text-shadow:0 0 14px #acfa0059}.activity-streak span,.activity-numbers span{color:#8f9a93;letter-spacing:1.5px;text-transform:uppercase;font-family:monospace;font-size:12px;display:block}.activity-streak small{color:var(--terminal);margin-top:6px;font-family:monospace;font-size:12px;display:block}.activity-numbers span{letter-spacing:1px;font-size:11px}.activity-numbers{flex:3 420px;grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.activity-numbers div{border:1px solid var(--glass-border);text-align:center;background:#ffffff08;border-radius:10px;flex-direction:column;justify-content:center;gap:8px;padding:14px 12px;display:flex}.activity-numbers strong{color:#fff;font-family:monospace;font-size:22px;line-height:1}.activity-scroll{padding-bottom:6px;overflow-x:auto}.activity-calendar{gap:8px;width:max-content;margin:0 auto;display:flex}.activity-days{color:#8f9a93;grid-template-rows:repeat(7,14px);gap:4px;margin-top:22px;font-family:monospace;font-size:11px;line-height:14px;display:grid}.activity-months{color:#8f9a93;white-space:nowrap;grid-auto-columns:14px;grid-auto-flow:column;gap:4px;height:18px;margin-bottom:4px;font-family:monospace;font-size:11px;display:grid}.activity-weeks{gap:4px;display:flex}.activity-week{grid-template-rows:repeat(7,14px);gap:4px;display:grid}.activity-cell{border-radius:3px;width:14px;height:14px;display:block}.activity-cell.l0{background:var(--track)}.activity-cell.l1{background:#acfa0040}.activity-cell.l2{background:#acfa0073}.activity-cell.l3{background:#acfa00b3}.activity-cell.l4{background:var(--green);box-shadow:0 0 6px #acfa0080}.activity-weeks .activity-cell:not(.future){cursor:pointer}.activity-cell.future{background:0 0}.activity-cell.today{outline-offset:1px;outline:2px solid #fff}.activity-cell.active{outline:2px solid var(--green);outline-offset:1px}.activity-footer{color:#8f9a93;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-family:monospace;font-size:12px;display:flex}.activity-legend{align-items:center;gap:4px;display:flex}.activity-legend span:first-child{margin-right:4px}.activity-legend span:last-child{margin-left:4px}.activity-tip{z-index:50;color:#fff;text-align:center;pointer-events:none;background:#0a0e0cf5;border:1px solid #acfa0073;border-radius:6px;width:max-content;max-width:min(260px,100vw - 24px);padding:7px 11px;font-family:monospace;font-size:12px;position:fixed;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 0 18px #acfa0026}@media (width<=700px){.activity-numbers{grid-template-columns:repeat(2,1fr)}}.announcements{flex-direction:column;gap:12px;display:flex}.announcement{background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #acfa004d;border-radius:12px;align-items:flex-start;gap:16px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.announcement:before{content:"";background:var(--green);width:3px;box-shadow:0 0 12px var(--green);position:absolute;top:0;bottom:0;left:0}.announcement-icon{width:40px;height:40px;color:var(--green);background:#acfa001f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.announcement-icon svg{width:22px;height:22px}.announcement-text{flex:1;min-width:0}.announcement-meta{color:var(--terminal);flex-wrap:wrap;gap:8px;font-family:monospace;font-size:12px;display:flex}.announcement-group{background:#acfa001a;border-radius:999px;padding:0 8px}.announcement h2{margin:6px 0;font-size:18px}.announcement p{color:#c9d1cc;white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.announcement-ok{color:var(--green);cursor:pointer;background:0 0;border:1px solid #acfa0073;border-radius:8px;flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:600}.announcement-ok:hover{background:#acfa001a}@media (width<=600px){.announcement{flex-wrap:wrap}.announcement-ok{width:100%}}.review-card{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;margin-bottom:32px;padding:22px 24px;position:relative;overflow:hidden}.review-card:before{content:"";background:linear-gradient(90deg, transparent, var(--green), transparent);opacity:.8;height:3px;position:absolute;top:0;left:0;right:0}.review-card-top{justify-content:space-between;align-items:center;gap:18px;display:flex}.review-eyebrow{color:var(--terminal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-family:monospace;font-size:11px;display:block}.review-card-top h3{color:#e8ece9;margin:0 0 4px;font-size:20px}.review-card-top p{color:#a8b3ac;margin:0;font-size:14px}.review-card-list{flex-direction:column;gap:8px;margin-top:18px;display:flex}.review-card-item{border:1px solid var(--glass-border);background:#ffffff05;border-radius:10px;align-items:baseline;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.review-card-item:hover{border-color:#acfa0066}.review-card-room{color:var(--terminal);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-family:monospace;font-size:11px}.review-card-question{color:#e8ece9;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.dashboard{flex-direction:column;gap:20px;display:flex}.dashboard .welcome-banner{max-width:none}.dashboard .stats-grid{gap:20px;max-width:none;margin:0;transform:none}.dashboard-section{margin-top:10px}.dashboard-section>h2{margin:0 0 16px;font-size:22px}.dashboard .challenge-grid{gap:20px;max-width:none}.continue-card{background:#282828;border:1px solid #333;border-radius:12px;align-items:center;gap:24px;padding:26px 30px;display:flex}.continue-icon{width:60px;height:60px;color:var(--green);background:#acfa002e;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;display:flex}.continue-info{flex:1}.continue-info h3{margin:0 0 6px;font-size:22px}.continue-info p{color:var(--white-o);margin:0;font-size:15px}.continue-progress{align-items:center;gap:14px;max-width:500px;margin-top:14px;display:flex}.continue-progress span{color:var(--white-o);font-size:14px;font-weight:600}.continue-bar{background:#373737;border-radius:4px;flex:1;height:8px;overflow:hidden}.continue-bar-fill{background:var(--green);height:100%;transition:width .4s}.dashboard .card-top{align-items:center;gap:14px;margin-bottom:18px;display:flex}.dashboard .card-top .challenge-category{margin:0}.dashboard .stat-card{transition:all .2s}.dashboard .stat-card:hover{background:#303030;border-color:#acfa0059;transform:translateY(-4px)}.welcome-top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.clock{flex-direction:column;align-items:flex-end;gap:4px;font-family:monospace;display:flex}.clock strong{color:var(--green);letter-spacing:1px;text-shadow:0 0 12px #acfa0059;font-size:22px}.clock span{color:var(--terminal);font-size:13px}.dashboard .stat-card{border-radius:12px;flex-direction:column;justify-content:space-between;align-items:stretch;gap:18px;min-height:0;padding:24px}.dashboard .stat-solved{--cat:#3ec6fd;--cat-rgb:62, 198, 253}.dashboard .stat-points{--cat:#acfa00;--cat-rgb:172, 250, 0}.dashboard .stat-rank{--cat:#ff9f1c;--cat-rgb:255, 159, 28}.stat-top{justify-content:space-between;align-items:center;display:flex}.stat-svg{width:28px;height:28px;color:var(--cat);filter:drop-shadow(0 0 6px rgba(var(--cat-rgb), .5))}.stat-top strong{color:var(--cat);text-shadow:0 0 14px rgba(var(--cat-rgb), .35);font-family:monospace;font-size:34px;line-height:1}.stat-label{color:#8f9a93;letter-spacing:1.5px;text-transform:uppercase;font-family:monospace;font-size:13px}.not-found{background:#282828;border:1px solid #333;border-radius:12px;flex-direction:column;align-items:flex-start;padding:40px;display:flex}.not-found-code{color:var(--green);font-size:80px;font-weight:700;line-height:1}.not-found h1{margin:20px 0 10px;font-size:36px}.not-found p{color:var(--white-o);margin:0 0 30px;font-size:16px}.not-found-actions{align-items:center;gap:24px;display:flex}.not-found-link{color:var(--white-o);font-weight:600}.not-found-link:hover{color:#fff}.paths-page h1{margin:0 0 12px;font-size:46px}.paths-description{color:#a8adbb;margin:0 0 35px;font-size:17px}.paths-list{flex-direction:column;gap:20px;display:flex}.path-card{background:var(--dark);border:1px solid #0000;border-radius:12px;align-items:center;gap:26px;padding:28px 30px;transition:all .2s;display:flex}.path-card:hover{background:#303030;border-color:#acfa0059;transform:translateY(-4px)}.path-info{flex:1}.path-info h2{margin:0 0 8px;font-size:24px}.path-info p{color:var(--white-o);margin:0 0 16px;font-size:15px}.path-meta{gap:10px;margin-bottom:16px;display:flex}.path-meta span{color:var(--white-o);background:#373737;border-radius:6px;padding:5px 12px;font-size:13px}.path-progress{align-items:center;gap:14px;display:flex}.path-progress strong{color:var(--white-o);white-space:nowrap;font-size:14px}.path-bar{background:#373737;border-radius:4px;flex:1;height:8px;overflow:hidden}.path-bar-fill{background:var(--green);height:100%;transition:width .4s}.path-button{background:var(--green);color:var(--dark);white-space:nowrap;border-radius:8px;padding:12px 22px;font-weight:700}.path-button.done{border:1px solid var(--green);color:var(--green);background:0 0}.path-detail{margin-top:30px}.path-header{align-items:center;gap:22px;margin-bottom:20px;display:flex}.path-header h1{margin:6px 0 0}.path-summary{flex-direction:column;gap:20px;margin-bottom:35px;display:flex}.path-completed{color:var(--green);background:#acfa0014;border:1px solid #acfa0066;border-radius:10px;padding:16px 20px;font-weight:700}.path-steps{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.path-step{align-items:center;gap:20px;display:flex;position:relative}.path-step:not(:last-child):after{content:"";background:#555b6b;width:2px;height:calc(100% + 20px);position:absolute;top:50%;left:21px}.path-step.done:not(:last-child):after{background:var(--green)}.path-step-number{z-index:1;color:#a8adbb;background:#252936;border:2px solid #555b6b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:flex;position:relative}.path-step.done .path-step-number{background:var(--green);border-color:var(--green);color:var(--dark)}.path-step.next .path-step-number{border-color:var(--green);color:var(--green)}.path-room{background:var(--dark);border:1px solid #0000;border-radius:12px;flex:1;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;transition:all .2s;display:flex}.path-room:hover{background:#303030;border-color:#acfa0059}.path-step.next .path-room{border-color:#acfa0059}.path-room-info h3{margin:0 0 6px;font-size:19px}.path-room-info p{color:var(--white-o);margin:0;font-size:14px}.path-up-next{background:var(--green);color:var(--dark);text-transform:uppercase;border-radius:20px;margin-bottom:8px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.path-room-meta{color:var(--white-o);white-space:nowrap;align-items:center;gap:18px;font-size:14px;display:flex}.path-room-meta strong.done{color:var(--green)}.path-detail .path-bar{background:var(--dark)}.path-waiting{background:var(--glass);border:1px solid var(--glass-border);border-left:3px solid var(--green);color:#a8b3ac;border-radius:12px;margin:0;padding:22px 24px;font-size:15px;line-height:1.6}.path-waiting a{color:var(--green)}.achievements-page h1{margin:0 0 12px;font-size:46px}.achievements-description{color:#a8adbb;margin:0 0 30px;font-size:17px}.achievements-summary{background:var(--glass);border:1px solid var(--lime-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;margin-bottom:26px;padding:20px 24px}.achievements-summary-top{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.achievements-summary-top span{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:13px}.achievements-summary-top strong{color:var(--green);text-shadow:0 0 12px #acfa0059;font-family:monospace;font-size:26px}.achievements-bar{background:var(--track);border-radius:4px;height:8px;overflow:hidden}.achievements-bar-fill{background:var(--green);height:100%;transition:width .6s;box-shadow:0 0 10px #acfa0099}.achievements-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.achievement{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;flex-direction:column;align-items:flex-start;padding:24px;animation:.45s ease-out backwards card-in;display:flex;position:relative;overflow:hidden}.achievement:first-child{animation-delay:50ms}.achievement:nth-child(2){animation-delay:.1s}.achievement:nth-child(3){animation-delay:.15s}.achievement:nth-child(4){animation-delay:.2s}.achievement:nth-child(5){animation-delay:.25s}.achievement:nth-child(6){animation-delay:.3s}.achievement:nth-child(n+7){animation-delay:.35s}.achievement-icon{color:#5b6560;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;display:flex}.achievement-icon svg{width:26px;height:26px}.achievement h2{color:#8f9a93;margin:0 0 8px;font-size:18px}.achievement p{color:#6f7a73;margin:0;font-size:13px;line-height:1.5}.achievement.unlocked{border-color:color-mix(in srgb, var(--badge) 45%, transparent);box-shadow:0 0 24px color-mix(in srgb, var(--badge) 12%, transparent)}.achievement.unlocked:before{content:"";background:var(--badge);height:3px;box-shadow:0 0 14px var(--badge);position:absolute;top:0;left:0;right:0}.achievement.unlocked .achievement-icon{background:color-mix(in srgb, var(--badge) 14%, transparent);border-color:color-mix(in srgb, var(--badge) 55%, transparent);color:var(--badge);box-shadow:0 0 18px color-mix(in srgb, var(--badge) 35%, transparent)}.achievement.unlocked h2{color:#fff}.achievement.unlocked p{color:var(--white-o)}.achievement-status{color:var(--badge);margin-top:auto;padding-top:18px;font-size:13px;font-weight:700}.achievement-progress{align-items:center;gap:12px;width:100%;margin-top:auto;padding-top:18px;display:flex}.achievement-progress-bar{background:var(--track);border-radius:4px;flex:1;height:6px;overflow:hidden}.achievement-progress-fill{background:color-mix(in srgb, var(--badge) 60%, transparent);height:100%}.achievement-progress span{color:#8f9a93;white-space:nowrap;font-family:monospace;font-size:12px}.achievement.highlight{animation:.45s ease-out backwards card-in,2.8s ease-out .45s achievement-flash}@keyframes achievement-flash{0%,60%{--badge:#fecb00;background:#fecb001a;outline:2px solid #fecb00}0%{outline-offset:4px;box-shadow:0 0 #fecb0000}25%{outline-offset:10px;box-shadow:0 0 44px #fecb0080}50%{outline-offset:4px}75%{outline-offset:10px;outline:2px solid #fecb0066}to{outline-offset:4px;outline:2px solid #0000}}@media (width<=1100px){.achievements-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.achievements-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.achievement{animation:none}}.ctf-page h1{margin:0 0 12px;font-size:46px}.ctf-description{color:#a8adbb;margin:0 0 30px;font-size:17px}.ctf-eyebrow{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:13px}.ctf-lobby{background:var(--glass);border:1px solid var(--lime-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;max-width:820px;padding:34px;position:relative;overflow:hidden}.ctf-lobby:before{content:"";background:var(--green);height:3px;box-shadow:0 0 14px var(--green);position:absolute;top:0;left:0;right:0}.ctf-lobby h2{margin:10px 0;font-size:34px}.ctf-lobby>p{color:#a8adbb;margin:0 0 22px}.ctf-pills{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.ctf-pills span{color:#c9d1cc;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;padding:6px 12px;font-size:14px}.ctf-rules{margin:0 0 26px;padding:0;list-style:none}.ctf-rules li{color:#c9d1cc;margin-bottom:10px;padding-left:22px;line-height:1.5;position:relative}.ctf-rules li:before{content:">";color:var(--green);font-family:monospace;position:absolute;left:0}.ctf-layout .ctf-lobby{max-width:none}.ctf-note{color:#8f9a93;margin:12px 10px 0;font-size:13px;line-height:1.5}.ctf-result.record{background:#fecb0012;border-color:#fecb0080;box-shadow:0 0 28px #fecb001f}.ctf-record-badge{color:#fecb00;vertical-align:middle;background:#fecb0026;border:1px solid #fecb0099;border-radius:999px;margin-left:14px;padding:4px 12px;font-size:14px;display:inline-block}.ctf-best{color:#a8adbb;margin:0 0 20px}.ctf-best strong{color:var(--green)}.ctf-start{background:var(--green);border:1px solid var(--green);color:#151a10;white-space:nowrap;cursor:pointer;border-radius:8px;padding:12px 26px;font-size:16px;font-weight:700;transition:box-shadow .2s;display:inline-block}.ctf-login{align-items:center;gap:16px;display:flex}.ctf-login span{color:#8f9a93;font-size:14px}.ctf-start:hover{box-shadow:0 0 22px #acfa0066}.ctf-status{background:var(--glass);border:1px solid var(--lime-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;grid-template-columns:1.4fr repeat(3,1fr);margin-bottom:24px;display:grid;position:relative;overflow:hidden}.ctf-status>div:not(.ctf-timebar){flex-direction:column;gap:6px;padding:20px 24px;display:flex}.ctf-status>div:not(.ctf-timebar)+div:not(.ctf-timebar){border-left:1px solid var(--glass-border)}.ctf-status span{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:12px}.ctf-status strong{color:#fff;font-family:monospace;font-size:28px;position:relative}.ctf-status small{color:#6f7a73;font-size:16px}.ctf-clock strong{color:var(--green);letter-spacing:2px;text-shadow:0 0 16px #acfa0066;font-size:40px}.ctf-status.warning .ctf-clock strong{color:#ff4d5e;text-shadow:0 0 16px #ff4d5e80;animation:1s steps(2,end) infinite ctf-blink}.ctf-timebar{background:var(--track);height:4px;position:absolute;bottom:0;left:0;right:0}.ctf-timebar div{background:var(--green);height:100%;transition:width .2s linear;box-shadow:0 0 10px #acfa0099}.ctf-status.warning .ctf-timebar div{background:#ff4d5e;box-shadow:0 0 10px #ff4d5e99}.ctf-gain{color:var(--green);white-space:nowrap;margin-left:10px;font-size:18px;font-style:normal;animation:1s ease-out forwards ctf-gain;position:absolute;top:-4px;left:100%}@keyframes ctf-blink{50%{opacity:.55}}@keyframes ctf-gain{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}.ctf-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.ctf-question{background:var(--glass);border:1px solid color-mix(in srgb, var(--cat) 35%, transparent);box-shadow:0 0 30px color-mix(in srgb, var(--cat) 10%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;padding:30px;animation:.25s ease-out ctf-next;position:relative;overflow:hidden}.ctf-question:before{content:"";background:var(--cat);height:3px;box-shadow:0 0 14px var(--cat);position:absolute;top:0;left:0;right:0}.ctf-question-top{align-items:center;gap:14px;margin-bottom:16px;display:flex}.ctf-question-category{color:var(--cat);letter-spacing:2px;text-transform:uppercase;font-family:monospace;font-size:13px}.ctf-question-number{color:#6f7a73;font-size:13px}.ctf-question-points{color:var(--green);background:#acfa001a;border-radius:999px;margin-left:auto;padding:4px 10px;font-family:monospace;font-size:13px;font-weight:700}.ctf-question h2{margin:0 0 18px;font-size:24px;line-height:1.35}.ctf-question-data{border:1px solid var(--lime-border);color:#fff;white-space:pre-wrap;word-break:break-all;background:#080b09e6;border-radius:8px;margin:0 0 20px;padding:16px 18px;font-family:monospace;font-size:18px;line-height:1.5}.ctf-answer-row{gap:12px;display:flex}.ctf-answer-row .flag-input{flex:1;font-family:monospace;font-size:16px}.ctf-skip{color:#c9d1cc;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:0 18px;font-size:14px;font-weight:600;transition:all .2s}.ctf-skip:hover{color:#ff9f1c;border-color:#ff9f1c99}.ctf-wrong{color:tomato;visibility:hidden;margin:10px 0 0;font-size:14px;font-weight:700}.ctf-wrong.visible{visibility:visible}@keyframes ctf-next{0%{opacity:0;transform:translate(16px)}}.ctf-result{background:#acfa0012;border:1px solid #acfa0066;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:22px 26px;display:flex;box-shadow:0 0 24px #acfa0014}.ctf-result h2{margin:6px 0;font-size:30px}.ctf-result p{color:#c9d1cc;margin:0}.ctf-result p strong{color:var(--green)}.ctf-panel{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:20px}.ctf-panel h2{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;margin:0 0 14px;font-family:monospace;font-size:13px}.ctf-panel h2:before{content:"> ";color:var(--green)}.ctf-empty{color:#6f7a73;margin:0;font-size:13px}.ctf-player{border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.ctf-player:first-of-type .ctf-player-rank{color:#fecb00}.ctf-player:nth-of-type(2) .ctf-player-rank{color:#c9d1d9}.ctf-player:nth-of-type(3) .ctf-player-rank{color:#ff9f5a}.ctf-player-rank{color:#6f7a73;width:32px;font-family:monospace;font-weight:700}.ctf-player-name{color:#d6e0d9;flex:1}.ctf-player strong{color:#fff;font-family:monospace}.ctf-player.is-you{box-shadow:inset 3px 0 0 var(--green);background:#acfa0014}.ctf-player.is-you .ctf-player-name,.ctf-player.is-you strong{color:var(--green)}.ctf-review{border-top:1px solid var(--glass-border);align-items:flex-start;gap:14px;padding:12px 0;display:flex}.ctf-review:first-of-type{border-top:none}.ctf-review>div{flex:1}.ctf-review p{color:#d6e0d9;margin:0 0 4px;font-size:14px}.ctf-review code{color:#c9d1cc;background:#ffffff0f;border-radius:4px;margin-left:8px;padding:2px 6px;font-family:monospace}.ctf-review span{color:#8f9a93;font-size:13px}.ctf-review span strong{color:#fff;font-family:monospace}.ctf-review-mark{color:#6f7a73;text-align:center;width:22px;font-weight:700}.ctf-review.correct .ctf-review-mark,.ctf-review.correct .ctf-review-points{color:var(--green)}.ctf-review-points{color:#6f7a73;font-family:monospace}@media (width<=1200px){.ctf-layout{grid-template-columns:1fr}}@media (width<=800px){.ctf-status{grid-template-columns:1fr 1fr}.ctf-result,.ctf-answer-row{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.ctf-question,.ctf-status.warning .ctf-clock strong{animation:none}.ctf-gain{display:none}}.ctf-question-end{border-top:1px solid var(--glass-border);color:#a9b3ac;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:22px;padding-top:18px;font-size:14px;display:flex}.ctf-end{border:1px solid var(--green);color:var(--green);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:#acfa001a;border-radius:8px;padding:9px 20px;font-family:monospace;font-size:14px;transition:background .15s}.ctf-end:hover{background:#acfa0033}.ctf-end-yes{background:var(--green);border:1px solid var(--green);color:#0b0f0c;cursor:pointer;letter-spacing:1px;text-transform:uppercase;border-radius:8px;padding:9px 20px;font-family:monospace;font-size:14px;font-weight:700}.ctf-end-yes:hover{background:#c2ff2b}.ctf-end-no{border:1px solid var(--glass-border);color:#a9b3ac;cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:8px;padding:9px 16px;font-family:monospace;font-size:14px}.ctf-end-no:hover{color:#fff;border-color:#fff}.ctf-start-row{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.ctf-practice-link-big{color:var(--green);letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:14px;text-decoration:none}.ctf-practice-link-big:hover{text-decoration:underline}.review-page{max-width:900px}.review-page h1{margin:0 0 10px}.review-description{color:#a8b3ac;max-width:70ch;margin:0 0 28px;font-size:15px;line-height:1.6}.review-error{color:#ff6b78}.review-empty,.review-done{color:#a8b3ac;font-size:15px}.review-empty a{color:var(--green)}.review-group{margin-bottom:32px}.review-group h2{letter-spacing:.08em;text-transform:uppercase;color:var(--terminal);margin:0 0 14px;font-family:monospace;font-size:12px}.review-list{flex-direction:column;gap:10px;display:flex}.review-item{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;grid-template-columns:180px 1fr auto;align-items:center;gap:16px;padding:14px 16px;text-decoration:none;display:grid}.review-item:hover{background:var(--glass-hover);border-color:#acfa0066}.review-item.ready{box-shadow:inset 3px 0 0 var(--green)}.review-item-room{color:#a8b3ac;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex;overflow:hidden}.review-item-question{color:#e8ece9;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.review-item-meta{letter-spacing:.05em;text-transform:uppercase;color:#7d8882;align-items:center;gap:14px;font-family:monospace;font-size:11px;display:flex}.review-item.ready .review-item-due{color:var(--green)}.practice-page{max-width:900px}.practice-page h1{margin:0 0 10px}.practice-description{color:#a8b3ac;max-width:70ch;margin:0 0 28px;font-size:15px;line-height:1.6}.practice-page .ctf-practice{margin-top:0}.ctf-practice{margin-top:24px}.ctf-practice h2{margin:8px 0 6px}.ctf-practice-intro{color:#8f9a93;margin:0 0 18px;font-size:14px;line-height:1.6}.ctf-practice-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ctf-practice-list li{border:1px solid var(--glass-border);background:#080b098c;border-radius:10px;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.ctf-practice-cat{color:var(--cat,var(--terminal));letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:12px}.ctf-practice-text{gap:4px;min-width:0;display:grid}.ctf-practice-text strong{color:#fff;overflow-wrap:anywhere;font-size:15px;font-weight:500}.ctf-practice-text span{color:#8f9a93;font-size:13px}.ctf-practice-card{border:1px solid var(--cat,var(--glass-border));background:#080b098c;border-radius:12px;padding:20px}.ctf-practice-card-top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.ctf-practice-tag{color:#6f7a73;letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:12px}.ctf-practice-close{color:#8f9a93;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:13px}.ctf-practice-close:hover{color:var(--terminal)}.ctf-practice-card h3{color:#fff;margin:0 0 16px;font-size:19px;font-weight:500;line-height:1.5}.ctf-practice-actions{flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:18px;display:flex}.ctf-practice-link{border:1px solid var(--green);color:var(--green);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:#acfa001a;border-radius:8px;padding:9px 18px;font-family:monospace;font-size:14px;transition:background .15s}.ctf-practice-link:disabled{border-color:var(--glass-border);color:#6f7a73;cursor:default}.ctf-practice-link:not(:disabled):hover{background:#acfa0033}.ctf-practice-more .ctf-practice-link{white-space:nowrap;padding:7px 18px;font-size:13px}.ctf-practice-tries,.ctf-practice-error{color:#8f9a93;font-size:13px}.ctf-practice-error{color:#ff8a95}.ctf-practice-answer{border:1px solid var(--glass-border);color:#c8d2cb;background:#080b09cc;border-left:3px solid #8f9a93;border-radius:8px;margin:16px 0 0;padding:14px 16px;font-size:15px}.ctf-practice-answer.right{border-left-color:var(--green);color:#fff}.ctf-practice-answer strong{color:var(--green);overflow-wrap:anywhere;font-family:monospace;font-size:17px}.ctf-practice-next{padding:10px 22px;font-size:14px}.ctf-practice-points{color:var(--terminal);white-space:nowrap;margin-left:10px;font-family:monospace;font-size:13px;font-style:normal}.ctf-practice-list li.ctf-practice-more{text-align:center;background:0 0;border:0;padding:4px 14px 0;display:block}.ctf-practice-empty{border:1px solid var(--glass-border);color:#8f9a93;background:#080b098c;border-radius:10px;margin:0;padding:14px 16px;font-size:14px;line-height:1.6}.ctf-practice-empty strong{color:var(--green)}.practice-tabs{flex-wrap:wrap;gap:10px;margin-bottom:26px;display:flex}.practice-tab{background:var(--glass);border:1px solid var(--glass-border);color:#a9b3ac;cursor:pointer;letter-spacing:1px;text-transform:uppercase;border-radius:10px;padding:11px 22px;font-family:monospace;font-size:14px;transition:border-color .15s,color .15s}.practice-tab:hover{color:#fff;border-color:#acfa0066}.practice-tab.active{border-color:var(--green);color:var(--green);background:#acfa001a}.practice-page .review-page{max-width:none}.ctf-practice-list li.ctf-practice-item.open{border-color:#acfa004d}.ctf-practice-wrong{color:#ff8a95;background:#ff4d5e14;border:1px solid #ff4d5e59;border-radius:8px;margin:14px 0 0;padding:12px 16px;font-size:14px}.practice-class-title{color:var(--terminal);letter-spacing:.08em;text-transform:uppercase;margin:26px 0 14px;font-family:monospace;font-size:12px}.ctf-practice .review-list{gap:10px;display:grid}.admin-tabs{gap:8px;margin:-10px 0 24px;display:flex}.admin-tab{border:1px solid var(--glass-border);background:var(--glass);color:#a8adbb;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;text-decoration:none}.admin-tab:hover{color:var(--green);border-color:#acfa0073}.admin-tab.active{border-color:var(--green);color:var(--green);background:#acfa0014}.rooms-row{border-bottom:1px solid var(--glass-border);grid-template-columns:64px minmax(200px,1fr) 86px 56px 56px 86px 300px;align-items:center;gap:12px;padding:14px 20px;font-size:14px;display:grid}.rooms-row:last-child{border-bottom:none}.rooms-row.draft{background:#febc2e08}.rooms-move{gap:4px;display:flex}.admin-page .rooms-arrow{border:1px solid var(--glass-border);color:#d6e0d9;cursor:pointer;background:#ffffff0a;border-radius:6px;width:28px;height:28px;padding:0;font-size:14px}.admin-page .rooms-arrow:hover:not(:disabled){color:var(--green);border-color:#acfa0073}.admin-page .rooms-arrow:disabled{opacity:.25}.rooms-title{align-items:center;gap:12px;min-width:0;display:flex}.rooms-title>div{flex-direction:column;gap:3px;min-width:0;display:flex}.rooms-title a{color:#fff;font-size:15px;font-weight:600;text-decoration:none}.rooms-title a:hover{color:var(--green)}.rooms-title span{color:#a8adbb;font-size:12px}.rooms-terminal{color:var(--green);background:#acfa001f;border-radius:999px;margin-left:8px;padding:1px 7px;font-family:monospace;font-size:11px;font-style:normal;display:inline-block}.rooms-status{color:#febc2e;background:#febc2e26;border-radius:999px;justify-self:start;padding:3px 10px;font-size:12px;font-weight:600}.rooms-status.live{color:var(--green);background:#acfa001f}.admin-page .rooms-link{align-items:center;text-decoration:none;display:inline-flex}.admin-page .rooms-new{border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none}.rooms-help{color:#a8adbb;margin:-6px 0 16px;font-size:13px}.admin-stat .admin-stat-small{font-size:22px;line-height:36px}.room-editor .back-button{margin-bottom:20px;display:inline-block}.editor-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.editor-head h1{word-break:break-word}.editor-head-actions{flex-shrink:0;align-items:center;gap:8px;padding-top:6px;display:flex}.admin-page .editor-save{cursor:pointer;border-radius:8px;height:auto;padding:10px 20px;font-size:14px;font-weight:700}.editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.editor-grid.three{margin-top:14px}.editor-field{flex-direction:column;gap:6px;min-width:0;display:flex}.editor-field.wide{grid-column:1/-1}.editor-label{color:#d6e0d9;font-size:13px;font-weight:600}.editor-hint{color:#6f7a73;font-size:12px;line-height:1.4}.admin-page .editor-field .flag-input{flex:none;width:100%;height:auto;padding:10px 12px;font-family:inherit;font-size:14px}.editor-question .editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .editor-area{resize:vertical;min-height:110px;line-height:1.55}.admin-page .editor-small-area{resize:vertical;min-height:64px;line-height:1.5}.admin-page .editor-field .editor-mono,.admin-page .editor-mono{font-family:Menlo,Monaco,Consolas,monospace;font-size:13px}.admin-page .editor-select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,#a8adbb 50%),linear-gradient(135deg,#a8adbb 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px}.editor-select option{color:#fff;background:#101412}.editor-note{color:#a8adbb;margin:14px 0 0;font-size:13px;line-height:1.5}.editor-note code{color:var(--green);font-family:monospace}.editor-warning{color:#febc2e;background:#febc2e12;border:1px solid #febc2e59;border-radius:8px;margin:12px 0 0;padding:10px 14px;font-size:13px;line-height:1.5}.editor-task-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.editor-task-top h2{margin:0}.editor-order{align-items:center;gap:6px;display:flex}.admin-page .editor-remove{color:#a8adbb;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 10px;font-size:12px}.admin-page .editor-remove:hover:not(:disabled){color:#ff6b78;border-color:#ff6b7866}.admin-page .editor-remove:disabled{opacity:.3;cursor:not-allowed}.editor-question{border:1px solid var(--glass-border);background:#ffffff05;border-left:3px solid #acfa0080;border-radius:10px;margin:18px 0 14px;padding:16px}.editor-question-top{align-items:center;gap:12px;margin-bottom:12px;display:flex}.editor-question-top strong{font-size:14px}.editor-question-top .editor-order{margin-left:auto}.editor-solved{color:#5c9dff;background:#5c9dff26;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.admin-page .editor-add-task{cursor:pointer;border-style:dashed;border-radius:12px;width:100%;height:auto;margin-bottom:20px;padding:14px;font-size:14px;font-weight:600}.editor-footer{border:1px solid var(--glass-border);background:var(--glass);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:18px 24px;display:flex}.editor-footer p{margin:0}.editor-switch{color:#d6e0d9;cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.editor-switch input{opacity:0;pointer-events:none;position:absolute}.editor-switch-track{background:#ffffff0f;border:1px solid #ffffff26;border-radius:999px;width:42px;height:24px;transition:background .2s,border-color .2s;position:relative}.editor-switch-track:after{content:"";background:#a8adbb;border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.editor-switch input:checked+.editor-switch-track{border-color:var(--green);background:#acfa0033}.editor-switch input:checked+.editor-switch-track:after{background:var(--green);transform:translate(18px)}.editor-switch input:focus-visible+.editor-switch-track{box-shadow:0 0 0 3px #acfa0040}.editor-files-top{justify-content:space-between;align-items:center;gap:12px;margin:22px 0 10px;font-size:14px;display:flex}.admin-page .editor-filter{flex:0 0 260px;width:260px;height:auto;padding:8px 12px;font-size:13px}.editor-file{border:1px solid var(--glass-border);background:#ffffff05;border-radius:8px;margin-bottom:8px}.editor-file-top{align-items:center;gap:10px;padding:8px 10px;display:flex}.admin-page .editor-file-top .flag-input{flex:1;min-width:0;height:auto;padding:8px 10px}.editor-file-type{color:#d6e0d9;text-align:center;background:#ffffff12;border-radius:5px;flex-shrink:0;width:40px;padding:3px 0;font-family:monospace;font-size:11px}.editor-file-type.folder{color:#5c9dff;background:#5c9dff26}.editor-file-body{padding:4px 10px 12px}.admin-page .editor-file-body>.flag-input{width:100%;min-height:140px;padding:10px 12px}.editor-buttons{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-page .editor-try{color:var(--green);border-color:#acfa0073}.editor-preview{margin-top:16px}.editor-preview .terminal{margin:0}@media (width<=1300px){.rooms-row{grid-template-columns:64px minmax(180px,1fr) 80px 50px 50px 80px 300px}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-page h1{margin:0 0 12px;font-size:36px;line-height:1.2}.admin-description{color:#a8adbb;margin:0 0 30px;font-size:17px}.admin-stats{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;display:grid}.admin-stat{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:22px 24px;position:relative;overflow:hidden}.admin-stat:before{content:"";background:var(--green);height:3px;box-shadow:0 0 14px var(--green);position:absolute;top:0;left:0;right:0}.admin-stat strong{color:var(--green);margin-bottom:6px;font-size:30px;display:block}.admin-stat span{color:#a8adbb;font-size:14px}.admin-panel{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;margin-bottom:20px;padding:24px}.admin-panel h2{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;margin:0 0 16px;font-family:monospace;font-size:13px}.admin-panel h2:before{content:"> ";color:var(--green)}.admin-add{grid-template-columns:minmax(0,1fr) 320px;gap:20px;display:grid}.admin-page .admin-add textarea{resize:vertical;width:100%;min-height:150px;padding:14px 16px;font-family:monospace;font-size:14px;line-height:1.6}.admin-add-side{flex-direction:column;gap:12px;display:flex}.admin-add-side p{color:#a8adbb;margin:0;font-size:13px;line-height:1.5}.admin-add-side .primary-button{cursor:pointer;width:100%;margin-top:auto}.admin-page button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.admin-error{color:#ff6b78;margin:14px 0 0;font-size:14px}.admin-empty{color:#6f7a73;margin:0;padding:20px 25px;font-size:14px}.admin-result{background:#acfa000a;border:1px solid #acfa0040;border-radius:10px;margin-top:20px;padding:20px;position:relative}.admin-result-top{justify-content:space-between;align-items:center;gap:12px;padding-right:60px;display:flex}.admin-result-top strong{color:var(--green)}.admin-result-actions{gap:8px;display:flex}.admin-warning{color:#febc2e;margin:8px 0 14px;font-size:13px}.admin-passwords{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.admin-password{border:1px solid var(--glass-border);background:#101412e6;border-radius:8px;justify-content:space-between;gap:12px;padding:10px 14px;font-family:monospace;font-size:14px;display:flex}.admin-password code,.admin-notice code{color:var(--green);letter-spacing:1px;font-family:monospace}.admin-skipped{color:#a8adbb;margin-top:16px;font-size:13px;line-height:1.8}.admin-skipped strong{color:#febc2e;display:block}.admin-skipped code{color:#fff}.admin-close{color:#a8adbb;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;position:absolute;top:16px;right:16px}.admin-close:hover{color:var(--green)}.admin-page .admin-small{white-space:nowrap;cursor:pointer;border-radius:8px;height:auto;padding:7px 12px;font-size:13px}.admin-page .admin-delete:hover{color:#ff6b78;background:#ff6b7814;border-color:#ff6b7880}.admin-page .admin-danger{color:#1a0d0f;background:#ff6b78;border:1px solid #ff6b78;font-weight:600}.admin-list-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.admin-list-top h2{margin:0}.admin-page .admin-search{flex:0 0 280px;width:280px;padding:10px 14px;font-size:14px}.admin-notice{background:#acfa000a;border:1px solid #acfa0040;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:14px 50px 14px 16px;font-size:14px;display:flex;position:relative}.admin-notice.error{color:#ff6b78;background:#ff6b780f;border-color:#ff6b7866}.admin-notice .admin-close{font-size:18px;top:50%;transform:translateY(-50%)}.admin-table{border:1px solid var(--glass-border);border-radius:12px;overflow:hidden}.admin-row{border-bottom:1px solid var(--glass-border);grid-template-columns:minmax(180px,1fr) 80px 90px 130px 130px 300px;align-items:center;gap:12px;padding:16px 20px;font-size:14px;display:grid}.admin-row:last-child{border-bottom:none}.admin-row.is-you{background:#acfa000d}.admin-header{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;background:#acfa000a;font-family:monospace;font-size:12px}.admin-user strong{font-size:15px}.admin-tags{flex-wrap:wrap;gap:6px;display:flex}.admin-tags:not(:empty){margin-top:6px}.admin-tag{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.admin-tag.role{color:#5c9dff;background:#5c9dff26}.admin-tag.you{color:var(--green);background:#acfa0026}.admin-tag.outside{color:#a8adbb;background:#a8adbb26}.admin-tag.waiting{color:#febc2e;background:#febc2e26}.admin-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-confirm{color:#febc2e;white-space:nowrap;font-size:13px}@media (width<=1300px){.admin-row{grid-template-columns:minmax(160px,1fr) 70px 80px 120px 120px 260px}.admin-add{grid-template-columns:1fr}}.categories-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:18px;display:grid}.categories-form .editor-field.wide{grid-column:1/-1}.categories-list{gap:10px;display:grid}.categories-row{border:1px solid var(--glass-border);color:#8f9a93;background:#080b098c;border-radius:10px;grid-template-columns:40px minmax(0,1fr) 150px 140px auto;align-items:center;gap:16px;padding:12px 14px;font-size:14px;display:grid}.categories-row.open{border-color:#acfa004d}.categories-dot{vertical-align:-1px;border-radius:50%;width:12px;height:12px;margin-right:8px;display:inline-block}.categories-edit{border-top:1px solid var(--glass-border);grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:6px;padding-top:16px;display:grid}.categories-edit .editor-field.wide{grid-column:1/-1}.categories-preview{border:1px solid var(--glass-border);border-left:3px solid var(--cat);color:#fff;background:#080b09cc;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;display:flex}.categories-edit-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:16px;padding-top:4px;display:flex}.categories-move{color:#8f9a93;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.categories-move .editor-select{min-width:190px}.categories-orphans{border-color:#febc2e59}.categories-orphan-list{gap:8px;display:grid}.categories-orphan{border:1px solid var(--glass-border);color:#8f9a93;background:#080b098c;border-radius:10px;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 14px;font-size:14px;text-decoration:none;display:grid}.categories-orphan:hover{border-color:#febc2e80}.categories-orphan span{color:#febc2e;letter-spacing:.05em;text-transform:uppercase;font-family:monospace;font-size:11px}.categories-orphan strong{color:#fff;font-weight:500}.categories-orphan em{color:var(--green);font-family:monospace;font-size:12px;font-style:normal}.admin-page .group-select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,#a8adbb 50%),linear-gradient(135deg,#a8adbb 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;height:auto;padding:8px 34px 8px 12px;font-size:13px}.admin-page .group-select option{color:#fff;background:#101412}.admin-page .admin-user .group-select{width:170px;margin-top:8px;padding-top:6px;padding-bottom:6px;font-size:12px}.add-group{flex-direction:column;gap:6px;display:flex}.add-group span{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:12px}.admin-page .add-group .group-select{width:100%}.groups-add{gap:12px;display:flex}.admin-page .groups-add .flag-input{flex:1;max-width:420px;padding:10px 14px;font-size:14px}.admin-page .groups-add .primary-button{cursor:pointer}.groups-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:16px;display:grid}.group-row{border:1px solid var(--glass-border);background:#ffffff08;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:12px 14px;display:flex}.group-row .admin-actions{flex-wrap:wrap;margin-left:auto}.group-row .admin-confirm{white-space:normal}.group-info strong{font-size:15px;display:block}.group-info span{white-space:nowrap;color:#8f9a93;font-family:monospace;font-size:12px}.admin-page .group-name-input{flex:1;min-width:0;padding:8px 10px;font-size:14px}.admin-fullname{color:#a8b3ac;margin-top:2px;font-size:13px;display:block}.admin-password .admin-fullname{font-size:12px}.admin-list-tools{align-items:center;gap:12px;display:flex}.admin-page .group-filter{width:200px;padding-top:10px;padding-bottom:10px}@media (width<=700px){.groups-add,.admin-list-tools{flex-direction:column;align-items:stretch}.admin-page .group-filter{width:100%}}.admin-user-top{align-items:center;gap:12px;display:flex}.admin-user-name{min-width:0}.admin-avatar{width:38px;height:38px;color:var(--green);background:#acfa001a;border:1px solid #acfa0073;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.admin-link{color:var(--terminal);cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0;font-size:12px;text-decoration:underline}.admin-link:hover{color:var(--green)}.admin-tag.photo{color:#ff8f99;cursor:pointer;background:#ff6b781a;border:none}.admin-name-edit{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.admin-page .admin-name-edit .flag-input{width:180px;padding:6px 10px;font-size:13px}.admin-name-error{color:#ff6b78;width:100%;font-size:12px}.library-row{border-bottom:1px solid var(--glass-border);grid-template-columns:64px minmax(200px,1fr) 110px 86px 300px;align-items:center;gap:12px;padding:14px 20px;font-size:14px;display:grid}.library-row:last-child{border-bottom:none}.library-row.draft{background:#febc2e08}.library-updated{color:#a8adbb;font-size:13px}.article-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.admin-page .article-text{resize:vertical;min-height:560px;font-family:Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6}.article-preview{border:1px solid var(--glass-border);background:#080b0999;border-radius:10px;max-height:calc(100vh - 40px);padding:24px 26px;position:sticky;top:20px;overflow-y:auto}.article-preview-title{color:#fff;margin:0 0 6px;font-size:26px;line-height:1.25}.article-preview-lead{color:#a8adbb;margin:0 0 22px;font-size:15px;line-height:1.6}.article-preview .markdown{font-size:15px}.admin-panel .article-preview .markdown h2{color:#fff;letter-spacing:normal;text-transform:none;margin:30px 0 12px;font-family:inherit;font-size:21px}.admin-panel .article-preview .markdown h2:before{content:none}.article-help{color:#a8adbb;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 18px;margin:12px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.article-help code{color:var(--green);font-family:monospace}.article-links{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.article-links a{border:1px solid var(--glass-border);color:#d6e0d9;border-radius:999px;padding:4px 10px;font-size:13px;text-decoration:none}.article-links a:hover{color:var(--green);border-color:#acfa0073}.article-picker{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-top:12px;display:grid}.article-pick{border:1px solid var(--glass-border);color:#d6e0d9;cursor:pointer;background:#ffffff05;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:border-color .2s,background .2s;display:flex}.article-pick:hover{border-color:#acfa0059}.article-pick.on{color:#fff;background:#acfa0012;border-color:#acfa008c}.article-pick input{accent-color:var(--green)}.article-pick small{color:#6f7a73;white-space:nowrap;margin-left:auto;font-size:11px}.article-picked{color:#a8adbb;margin:0 0 4px;font-size:13px}@media (width<=1300px){.library-row{grid-template-columns:64px minmax(180px,1fr) 100px 80px 300px}}@media (width<=1100px){.article-editor-grid{grid-template-columns:1fr}.article-preview{max-height:none;position:static}}.paths-row{border-bottom:1px solid var(--glass-border);grid-template-columns:64px minmax(200px,1fr) 70px 70px 220px;align-items:center;gap:12px;padding:14px 20px;font-size:14px;display:grid}.paths-row:last-child{border-bottom:none}.path-rooms-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.path-rooms-item{border:1px solid var(--glass-border);border-radius:10px;grid-template-columns:32px 64px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:grid}.path-rooms-item.draft{background:#febc2e08}.path-rooms-number{color:var(--terminal);font-family:monospace}.path-rooms-add{gap:10px;display:flex}.admin-page .path-rooms-add .flag-input{flex:1}.blitz-row{border-bottom:1px solid var(--glass-border);grid-template-columns:60px minmax(240px,1fr) 100px 90px 90px;align-items:center;gap:12px;padding:12px 20px;font-size:14px;display:grid}.blitz-row:last-child{border-bottom:none}.blitz-row.off{opacity:.55}.blitz-example{flex-direction:column;gap:3px;min-width:0;display:flex}.blitz-example strong{color:#fff;font-family:monospace;font-size:13px}.blitz-example span{color:#a8adbb;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-page .blitz-row .flag-input{width:72px;height:34px;padding:4px 10px}@media (width<=900px){.paths-row,.blitz-row{grid-template-columns:1fr}.path-rooms-item{grid-template-columns:32px minmax(0,1fr) auto}.path-rooms-item>:nth-child(2),.path-rooms-item>:nth-child(4){display:none}}.paths-hidden{color:#febc2e;letter-spacing:.05em;text-transform:uppercase;vertical-align:1px;white-space:nowrap;background:#febc2e1f;border:1px solid #febc2e66;border-radius:999px;margin-left:10px;padding:2px 8px;font-family:monospace;font-size:10px;font-style:normal;display:inline-block}.blitz-custom-row{border-bottom:1px solid var(--glass-border);grid-template-columns:60px minmax(240px,1fr) 100px 70px 200px;align-items:center;gap:12px;padding:12px 20px;font-size:14px;display:grid}.blitz-custom-row:last-child{border-bottom:none}.blitz-custom-row.off{opacity:.55}.blitz-custom-row .blitz-example a{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none;overflow:hidden}.blitz-custom-row .blitz-example a:hover{color:var(--green)}.blitz-variant{border:1px solid var(--glass-border);background:#ffffff05;border-left:3px solid #acfa0080;border-radius:10px;margin-bottom:12px;padding:16px}.blitz-variant-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.blitz-variant-top strong{font-size:14px}.blitz-variant .editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blitz-preview{margin-bottom:20px}.blitz-preview-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.blitz-preview-top span{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:13px}.blitz-preview .ctf-question{margin:0}.blitz-preview-answer{color:#a8adbb;margin:14px 0 0;font-size:14px}.blitz-preview-answer code{color:var(--green);font-family:monospace}@media (width<=900px){.blitz-custom-row,.blitz-variant .editor-grid{grid-template-columns:1fr}}.library-count{color:#6f7a73;margin-left:6px;font-family:monospace;font-size:11px}.filter-bar-option.active .library-count{color:inherit;opacity:.7}.library-page .library-card{min-height:210px}.library-page .library-card h2{font-size:20px}.library-draft{color:#febc2e;background:#febc2e26;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:12px;font-weight:600}.article-page .room-meta{flex-wrap:wrap;margin-bottom:20px}.article-page .room-meta .library-draft{border:none;margin-left:0}.article-lead{color:#a8adbb;margin:0 0 26px;font-size:18px;line-height:1.6}.article-body{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;margin-bottom:30px;padding:34px 36px}.article-rooms h2{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;margin:0 0 14px;font-family:monospace;font-size:13px}.article-rooms h2:before{content:"> ";color:var(--green)}.article-rooms>p{color:#a8adbb;margin:-6px 0 14px;font-size:14px}.article-room{background:var(--glass);border:1px solid var(--glass-border);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;align-items:center;gap:14px;margin-bottom:10px;padding:14px 18px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.article-room:hover{background:var(--glass-hover);border-color:#acfa0066}.article-room strong{flex:1;min-width:0;font-size:15px}.article-room-arrow{color:var(--green);font-size:18px}@media (width<=700px){.article-body{padding:22px 18px}}:root{--viz-right:#72a800;--viz-wrong:#e0607e;--viz-text:#e8ece9;--viz-text-2:#a8b3ac;--viz-muted:#7d8882;--viz-grid:#ffffff12}.chart-grid-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px;display:grid}.chart-card{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;min-width:0;padding:20px 22px}.chart-card.wide{grid-column:1/-1}.chart-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.chart-card h3{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;margin:0;font-family:monospace;font-size:13px}.chart-card h3:before{content:"> ";color:var(--green)}.chart-card-top p{color:var(--viz-muted);margin:6px 0 0;font-size:12px}.chart-toggle{border:1px solid var(--glass-border);color:var(--viz-text-2);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:5px 10px;font-size:12px}.chart-toggle:hover{color:var(--green);border-color:#acfa0073}.chart-legend{color:var(--viz-text-2);flex-wrap:wrap;gap:16px;margin-bottom:8px;font-size:12px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.chart-legend i.line{width:14px;height:2px}.chart-area{width:100%;position:relative}.chart-area svg{display:block;overflow:visible}.chart-grid,.chart-baseline{stroke:var(--viz-grid);stroke-width:1px}.chart-baseline{stroke:#ffffff24}.chart-axis{fill:var(--viz-muted);font-family:monospace;font-size:10px}.chart-value{fill:var(--viz-text);font-family:monospace;font-size:11px}.chart-hit{fill:#0000;cursor:pointer;outline:none}.chart-col.hover .chart-hit{fill:#ffffff0a}.chart-crosshair{stroke:#ffffff4d;stroke-width:1px}.chart-dot{stroke:#111513;stroke-width:2px}.chart-tip{z-index:5;pointer-events:none;white-space:nowrap;background:#0a0e0cf7;border:1px solid #acfa0059;border-radius:8px;flex-direction:column;gap:4px;min-width:140px;padding:8px 10px;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 6px 18px #00000073}.chart-tip-title{color:var(--viz-text-2);font-size:11px}.chart-tip-row{align-items:center;gap:6px;font-size:12px;display:flex}.chart-tip-row i{border-radius:1px;width:12px;height:2px;display:inline-block}.chart-tip-row strong{color:var(--viz-text);font-family:monospace}.chart-tip-row em{color:var(--viz-text-2);font-style:normal}.chart-bars{flex-direction:column;gap:12px;padding-top:4px;display:flex}.chart-bar-row{border-radius:6px;outline:none;grid-template-columns:130px minmax(0,1fr) 54px;align-items:center;gap:12px;padding:4px 6px;display:grid;position:relative}.chart-bar-row.hover{background:#ffffff08}.chart-bar-label{color:var(--viz-text);align-items:center;gap:8px;font-size:13px;display:flex}.chart-bar-svg{width:100%;height:14px}.chart-bar-track{fill:#ffffff0d}.chart-bar-value{color:var(--viz-text);text-align:right;font-family:monospace;font-size:13px}.chart-bar-tip{z-index:5;color:var(--viz-text);pointer-events:none;white-space:nowrap;background:#0a0e0cf7;border:1px solid #acfa0059;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;bottom:calc(100% + 2px);right:66px}.chart-heat-scroll{overflow-x:auto}.chart-heat-grid{grid-template-columns:34px repeat(24,minmax(14px,1fr));gap:3px;min-width:460px;display:grid}.chart-heat-row{display:contents}.chart-heat-hour,.chart-heat-day{color:var(--viz-muted);font-family:monospace;font-size:10px}.chart-heat-day{align-self:center}.chart-heat-cell{cursor:pointer;border-radius:3px;outline:none;height:18px;display:block}.chart-heat-cell.l0{background:#ffffff0d}.chart-heat-cell.l1{background:#acfa0038}.chart-heat-cell.l2{background:#acfa006b}.chart-heat-cell.l3{background:#acfa00a8}.chart-heat-cell.l4{background:var(--green)}.chart-heat-cell.hover,.chart-heat-cell:focus-visible{box-shadow:0 0 0 2px #fff}.chart-heat-footer{color:var(--viz-text-2);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;display:flex}.chart-heat-legend{color:var(--viz-muted);align-items:center;gap:4px;display:inline-flex}.chart-heat-legend .chart-heat-cell{cursor:default;width:12px;height:12px}.chart-table{max-height:320px;overflow:auto}.chart-table table{border-collapse:collapse;width:100%;font-size:13px}.chart-table th{color:var(--terminal);letter-spacing:1px;text-align:left;text-transform:uppercase;background:#121714;padding:8px 10px;font-family:monospace;font-size:11px;font-weight:400;position:sticky;top:0}.chart-table td{border-top:1px solid var(--glass-border);color:var(--viz-text);font-variant-numeric:tabular-nums;padding:7px 10px}.analytics-periods{background:#0c100ed9;border:1px solid #acfa0024;border-radius:10px;gap:4px;padding:4px;display:flex}.analytics-periods button{color:#c9d1cc;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:7px 12px;font-size:13px}.analytics-periods button.active{color:var(--green);background:#acfa001f;border-color:#acfa0073}@media (width<=1000px){.chart-grid-layout{grid-template-columns:1fr}.chart-bar-row{grid-template-columns:100px minmax(0,1fr) 48px}}.progress-page{max-width:1100px}.progress-description{color:#a8b3ac;max-width:72ch;margin:0 0 20px;font-size:15px;line-height:1.6}.progress-error{color:#ff6b78}.progress-note{color:#a8b3ac;font-size:14px}.progress-note a{color:var(--green)}.progress-periods{gap:8px;margin-bottom:24px;display:flex}.progress-periods button{border:1px solid var(--glass-border);background:var(--glass);color:#a8b3ac;cursor:pointer;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:13px}.progress-periods button:hover{border-color:#acfa0059}.progress-periods button.active{border-color:var(--green);color:var(--green)}.progress-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.progress-stats>div{text-align:center;background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:18px 14px}.progress-stats strong{color:var(--green);margin-bottom:4px;font-family:monospace;font-size:22px;display:block}.progress-stats span{color:#a8b3ac;font-size:12px}.progress-compare{margin-top:8px}.progress-compare-rows{flex-direction:column;gap:22px;margin-top:18px;display:flex}.progress-compare-name{color:#e8ece9;margin-bottom:10px;font-size:15px;display:block}.progress-compare-bars{flex-direction:column;gap:8px;display:flex}.progress-compare-bar{grid-template-columns:90px 1fr 60px;align-items:center;gap:12px;display:grid}.progress-compare-bar span{color:#a8b3ac;letter-spacing:.05em;text-transform:uppercase;font-family:monospace;font-size:11px}.progress-compare-bar div{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.progress-compare-bar i{background:var(--green);border-radius:999px;height:100%;display:block}.progress-compare-bar.group i{background:#5ea0ff}.progress-compare-bar.all i{background:#7d8882}.progress-compare-bar strong{color:#e8ece9;text-align:right;font-family:monospace;font-size:13px}.student-view{max-width:1000px}.student-loading,.student-empty{color:#a8b3ac}.student-error{color:#ff6b78}.student-header{align-items:center;gap:18px;margin-top:8px;margin-bottom:26px;display:flex}.student-avatar{background:var(--green);color:#0f1117;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:24px;font-weight:700;display:flex}.student-avatar img{border-radius:50%}.student-who{flex:1;min-width:0}.student-who h1{margin:0 0 4px}.student-who p{color:#a8b3ac;margin:0;font-size:14px}.student-readonly{border:1px solid var(--glass-border);color:#7d8882;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 12px;font-family:monospace;font-size:11px}.student-stats{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:32px;display:grid}.student-stat{text-align:center;background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:18px 14px}.student-stat strong{color:var(--green);margin-bottom:4px;font-family:monospace;font-size:22px;display:block}.student-stat span{color:#a8b3ac;font-size:12px}.student-title{letter-spacing:.08em;text-transform:uppercase;color:var(--terminal);margin:0 0 14px;font-family:monospace;font-size:12px}.student-skills{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;grid-template-columns:330px 1fr;align-items:center;gap:28px;margin-bottom:32px;padding:22px 24px;display:grid}.student-skill-list{flex-direction:column;gap:10px;min-width:0;display:flex}.student-skill{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:14px;padding-bottom:10px;display:flex}.student-skill-name{color:#e8ece9;align-items:center;gap:8px;font-size:14px;display:flex}.student-skill-numbers{color:#a8b3ac;text-align:right;font-family:monospace;font-size:12px}.student-skill-numbers em{color:var(--green);font-style:normal}.student-skill-next{color:#a8b3ac;margin:4px 0 0;font-size:14px}.student-skill-next strong{color:#e8ece9}.student-stuck{flex-direction:column;gap:10px;margin-bottom:32px;display:flex}.student-stuck-item{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:14px 16px}.student-stuck-top{justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.student-stuck-room{color:#a8b3ac;align-items:center;gap:8px;font-size:13px;display:flex}.student-stuck-count{color:#7d8882;letter-spacing:.05em;text-transform:uppercase;font-family:monospace;font-size:11px}.student-stuck-question{color:#e8ece9;margin:0 0 8px;font-size:14px}.student-stuck-answers{color:#7d8882;margin:0;font-size:12px}.student-stuck-answers code{color:#e0607e;background:#e0607e1f;border-radius:6px;margin-left:6px;padding:2px 7px;font-family:monospace}.student-rooms{flex-direction:column;gap:8px;display:flex}.student-room{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;grid-template-columns:260px 1fr 70px;align-items:center;gap:16px;padding:12px 16px;display:grid}.student-room-title{color:#e8ece9;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex;overflow:hidden}.student-room-bar{background:var(--track);border-radius:999px;height:8px;overflow:hidden}.student-room-bar div{background:var(--green);border-radius:999px;height:100%}.student-room-count{color:#a8b3ac;text-align:right;font-family:monospace;font-size:12px}.student-stuck-state{color:#ff9f43;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#ff9f431f;border:1px solid #ff9f4366;border-radius:999px;margin-left:10px;padding:2px 8px;font-family:monospace;font-size:10px;font-style:normal}.student-stuck-state.done{color:var(--green);background:#acfa001a;border-color:#acfa0066}.student-stuck-room.blitz{color:var(--cat,var(--green));letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:13px}.student-profile{max-width:900px}.student-profile-error{color:#ff6b78}.student-profile-empty{color:#a8b3ac}.student-profile-empty a{color:var(--green)}.student-profile-header{align-items:center;gap:18px;margin:8px 0 26px;display:flex}.student-profile-avatar img{border-radius:50%}.student-profile-avatar{background:var(--green);color:#0f1117;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:24px;font-weight:700;display:flex}.student-profile-header h1{margin:0 0 4px}.student-profile-header h1 em{color:var(--green);letter-spacing:.06em;text-transform:uppercase;font-family:monospace;font-size:15px;font-style:normal}.student-profile-header p{color:#a8b3ac;margin:0;font-size:14px}.student-profile-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px;display:grid}.student-profile-stats>div{text-align:center;background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:18px 14px}.student-profile-stats strong{color:var(--green);margin-bottom:4px;font-family:monospace;font-size:22px;display:block}.student-profile-stats span{color:#a8b3ac;font-size:12px}.student-profile-title{color:var(--terminal);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-family:monospace;font-size:12px}.student-profile-rooms{flex-direction:column;gap:8px;display:flex}.student-profile-room{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;grid-template-columns:1fr auto 70px;align-items:center;gap:16px;padding:12px 16px;text-decoration:none;display:grid}.student-profile-room:hover{background:var(--glass-hover);border-color:#acfa0066}.student-profile-room-title{color:#e8ece9;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex;overflow:hidden}.student-profile-room strong{color:var(--green);text-align:right;font-family:monospace;font-size:13px}.student-profile-note{color:#7d8882;margin-top:28px;font-size:13px}.student-profile-skills{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;grid-template-columns:330px 1fr;align-items:center;gap:28px;margin-bottom:32px;padding:22px 24px;display:grid}.student-profile-skill-list{flex-direction:column;gap:10px;min-width:0;display:flex}.student-profile-skill{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:14px;padding-bottom:10px;display:flex}.student-profile-skill-name{color:#e8ece9;align-items:center;gap:8px;font-size:14px;display:flex}.student-profile-skill-numbers{color:#a8b3ac;text-align:right;font-family:monospace;font-size:12px}.student-profile-admin{background:var(--glass);border:1px solid var(--glass-border);border-left:3px solid var(--green);color:#a8b3ac;border-radius:10px;margin:0 0 22px;padding:14px 18px;font-size:14px;line-height:1.6}.student-profile-admin a{color:var(--green)}.markdown{color:#c9d1cc;overflow-wrap:break-word;font-size:16px;line-height:1.7}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 16px}.markdown h2{color:#fff;margin:38px 0 14px;font-size:24px;line-height:1.3}.markdown h3{color:#fff;margin:28px 0 10px;font-size:18px;line-height:1.35}.markdown strong{color:#fff}.markdown a{color:var(--green);border-bottom:1px solid #acfa0059;text-decoration:none}.markdown a:hover{border-bottom-color:var(--green)}.markdown code{color:#d6f5c0;background:#acfa0014;border-radius:5px;padding:2px 6px;font-family:Menlo,Monaco,Consolas,monospace;font-size:.88em}.markdown ul,.markdown ol{margin:0 0 16px;padding-left:24px}.markdown li{margin-bottom:6px}.markdown li::marker{color:var(--green)}.markdown hr{border:none;border-top:1px solid var(--glass-border);margin:30px 0}.markdown .markdown-code{border:1px solid var(--lime-border);background:#080b09e6;border-radius:8px;margin:0 0 18px;padding:16px;overflow-x:auto}.markdown .markdown-code code{color:#d6f5c0;white-space:pre;background:0 0;border-radius:0;padding:0;font-size:14px;line-height:1.55}.markdown blockquote{border-left:3px solid var(--green);color:#d6e0d9;background:#acfa000d;border-radius:0 8px 8px 0;margin:0 0 18px;padding:14px 18px}.markdown-table{border:1px solid var(--glass-border);border-radius:10px;margin:0 0 18px;overflow-x:auto}.markdown table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.markdown th{color:var(--terminal);letter-spacing:1px;text-align:left;text-transform:uppercase;white-space:nowrap;background:#acfa000a;padding:10px 14px;font-family:monospace;font-size:12px;font-weight:600}.markdown td{border-top:1px solid var(--glass-border);vertical-align:top;padding:10px 14px}.sidebar{background:#0f1311;border-right:1px solid #acfa001f}.sidebar-logo{color:var(--white);text-shadow:0 0 18px #acfa0040}.sidebar-subtitle{color:#acfa00a6}.sidebar-link{color:#d6e0d9}.sidebar-link:hover{background:#acfa000f}.sidebar-link.active{color:var(--green);background:#acfa0014;box-shadow:inset 0 0 0 1px #acfa0047,0 0 18px #acfa0014}.sidebar-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.sidebar-icon svg{width:20px;height:20px}.sidebar-link.active .sidebar-icon svg{filter:drop-shadow(0 0 4px #acfa0080)}.sidebar-link{white-space:nowrap}.sidebar-live{color:#ff6b78;letter-spacing:1px;text-transform:uppercase;background:#ff4d5e24;border:1px solid #ff4d5e80;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.sidebar-live:before{content:"";background:#ff4d5e;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite sidebar-live;box-shadow:0 0 6px #ff4d5e}@keyframes sidebar-live{50%{opacity:.3}}.sidebar-bottom{border-top:1px solid #acfa001f;padding-top:16px}.sidebar-nav{margin-bottom:40px}.sidebar-logout{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit}.sidebar-logout:hover{color:#ff6b78;background:#ff6b780f}.sidebar-card{color:var(--white);text-align:center;background:#ffffff05;border:1px solid #acfa0024;border-radius:12px;flex-direction:column;align-items:center;gap:10px;margin-top:28px;padding:18px 12px;transition:background .2s,border-color .2s,box-shadow .2s;display:flex}.sidebar-card:hover{background:#acfa000a;border-color:#acfa0059}.sidebar-card.active{background:#acfa000f;border-color:#acfa0073;box-shadow:0 0 18px #acfa0014}.sidebar-avatar{border:2px solid var(--green);width:64px;height:64px;color:var(--green);background:#acfa001a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex;box-shadow:0 0 14px #acfa0040}.sidebar-card-text{flex-direction:column;align-items:center;gap:3px;min-width:0;display:flex}.sidebar-name{overflow-wrap:anywhere;margin-bottom:4px;font-size:15px;line-height:1.3}.sidebar-info{color:#a8b3ac;font-family:monospace;font-size:12px}.sidebar-role{color:#5c9dff;background:#5c9dff26;border-radius:999px;margin-top:4px;padding:2px 8px;font-size:11px;font-weight:600}.sidebar-card+.sidebar-nav{margin-top:28px}@media (prefers-reduced-motion:reduce){.sidebar-live:before{animation:none}}@media (width<=800px){.sidebar{border-bottom:1px solid #acfa001f;border-right:none}.sidebar-bottom{border-top:none;padding-top:0}.sidebar-card{text-align:left;flex-direction:row;margin-top:16px;padding:10px 12px}.sidebar-avatar{width:42px;height:42px;font-size:16px}.sidebar-card-text{align-items:flex-start}.sidebar-card+.sidebar-nav{margin-top:16px}.sidebar-nav{margin-bottom:0}}.mobile-bar,.sidebar-overlay,.sidebar-close{display:none}@media (width<=800px){.mobile-bar{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e0cf0;border-bottom:1px solid #acfa0024;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.mobile-logo{color:var(--white);letter-spacing:-1px;text-shadow:0 0 18px #acfa0040;font-size:24px;font-weight:700}.mobile-menu-button,.sidebar-close{width:42px;height:42px;color:var(--green);cursor:pointer;background:0 0;border:1px solid #acfa0040;border-radius:8px;justify-content:center;align-items:center;display:flex}.app .sidebar{z-index:110;background:#0f1311;border-bottom:none;border-right:1px solid #acfa0024;width:290px;max-width:85vw;height:100%;padding:24px 20px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.app .sidebar.open{transform:none;box-shadow:0 0 40px #0009}.sidebar-close{position:absolute;top:18px;right:16px}.app .sidebar-nav{flex-direction:column;margin-top:20px;margin-bottom:24px;overflow:visible}.app .sidebar-bottom{border-top:1px solid #acfa001f;margin-top:24px;padding-top:16px}.sidebar-overlay{z-index:100;background:#0000008c;display:block;position:fixed;inset:0}}@media (width<=800px) and (prefers-reduced-motion:reduce){.app .sidebar{transition:none}}.content{isolation:isolate;position:relative}.animated-bg{z-index:-1;pointer-events:none;position:fixed;inset:0 0 0 280px;overflow:hidden}.matrix-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.animated-bg-grid{background-image:linear-gradient(#acfa000f 1px,#0000 1px),linear-gradient(90deg,#acfa000f 1px,#0000 1px);background-size:60px 60px;animation:20s linear infinite grid-move;position:absolute;inset:-60px;-webkit-mask-image:radial-gradient(#000 20%,#0000 75%);mask-image:radial-gradient(#000 20%,#0000 75%)}.animated-bg-glow{filter:blur(120px);opacity:.16;border-radius:50%;width:520px;height:520px;position:absolute}.glow-1{background:#acfa00;animation:26s ease-in-out infinite alternate glow-move-1;top:-160px;left:5%}.glow-2{background:#3ec6fd;animation:32s ease-in-out infinite alternate glow-move-2;bottom:-200px;right:-120px}.glow-3{opacity:.12;background:#b084ff;animation:38s ease-in-out infinite alternate glow-move-3;top:35%;left:45%}@keyframes grid-move{to{transform:translate(60px,60px)}}@keyframes glow-move-1{to{transform:translate(260px,180px)}}@keyframes glow-move-2{to{transform:translate(-300px,-160px)}}@keyframes glow-move-3{to{transform:translate(-220px,140px)}}@media (width<=1100px){.animated-bg{left:230px}}@media (width<=800px){.animated-bg{left:0}}@media (prefers-reduced-motion:reduce){.animated-bg-grid,.animated-bg-glow{animation:none}}.page-transition{animation:.35s ease-out backwards page-in}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.page-transition{animation:none}}.toast-stack{z-index:1100;flex-direction:column;gap:10px;width:min(420px,100vw - 320px);display:flex;position:fixed;top:20px;left:calc(50vw + 140px);transform:translate(-50%)}.toast{border:1px solid color-mix(in srgb, var(--badge) 55%, transparent);box-shadow:0 10px 30px #00000073, 0 0 24px color-mix(in srgb, var(--badge) 25%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0c100ef5;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:transform .2s,border-color .2s;animation:.45s cubic-bezier(.2,1.3,.4,1) backwards toast-in;display:flex;position:relative;overflow:hidden}.toast:hover{border-color:var(--badge);transform:translateY(2px)}.toast-medal{background:color-mix(in srgb, var(--badge) 16%, transparent);border:1px solid color-mix(in srgb, var(--badge) 60%, transparent);width:44px;height:44px;color:var(--badge);box-shadow:0 0 16px color-mix(in srgb, var(--badge) 40%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-medal svg{width:22px;height:22px}.toast-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast-label{color:var(--badge);letter-spacing:1px;text-transform:uppercase;font-family:monospace;font-size:11px}.toast-text strong{color:#fff;font-size:16px}.toast-hint{color:#8f9a93;font-size:12px}.toast-close{color:#6f7a73;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0 4px;font-size:20px;line-height:1}.toast-close:hover{color:#fff}.toast-timer{background:var(--badge);transform-origin:0;height:2px;animation:6s linear forwards toast-timer;position:absolute;bottom:0;left:0;right:0}@keyframes toast-in{0%{opacity:0;transform:translateY(-24px)scale(.96)}to{opacity:1;transform:none}}@keyframes toast-timer{to{transform:scaleX(0)}}@media (width<=1100px){.toast-stack{width:min(420px,100vw - 270px);left:calc(50vw + 115px)}}@media (width<=800px){.toast-stack{width:calc(100vw - 32px);left:50%}}@media (prefers-reduced-motion:reduce){.toast{animation:none}.toast-timer{animation:none;display:none}}.escape-warning{z-index:1100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#181408f5;border:1px solid #febc2e8c;border-radius:12px;align-items:center;gap:14px;width:min(440px,100vw - 320px);padding:14px 18px;animation:.35s cubic-bezier(.2,1.3,.4,1) escape-warning-in;display:flex;position:fixed;bottom:24px;left:calc(50vw + 140px);overflow:hidden;transform:translate(-50%);box-shadow:0 10px 30px #00000073,0 0 24px #febc2e2e}.escape-warning-icon{color:#febc2e;background:#febc2e24;border:1px solid #febc2e99;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:flex}.escape-warning-text{flex-direction:column;gap:3px;min-width:0;display:flex}.escape-warning-text strong{color:#febc2e;font-size:14px}.escape-warning-text span{color:#e8dcc0;font-size:13px;line-height:1.45}.escape-warning kbd{color:#febc2e;background:#febc2e1a;border:1px solid #febc2e73;border-radius:4px;padding:1px 6px;font-family:monospace;font-size:12px}.escape-warning-timer{transform-origin:0;height:3px;animation:escape-warning-timer var(--warning-time) linear forwards;background:#febc2e;position:absolute;bottom:0;left:0;right:0}@keyframes escape-warning-in{0%{opacity:0;transform:translate(-50%,12px)}}@keyframes escape-warning-phone-in{0%{opacity:0;transform:translateY(12px)}}@keyframes escape-warning-timer{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.escape-warning,.escape-warning-timer{animation:none}}.site-footer{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e0ce0;border-top:1px solid #acfa0024;padding:44px 40px 26px;position:relative}.site-footer:before{content:"";background:var(--green);width:120px;height:2px;box-shadow:0 0 12px var(--green);position:absolute;top:-1px;left:40px}.footer-top{grid-template-columns:minmax(220px,1.3fr) 3fr;gap:48px;display:grid}.footer-logo{color:var(--white);letter-spacing:-2px;text-shadow:0 0 18px #acfa0040;font-size:32px;font-weight:700;line-height:1;display:block}.footer-subtitle{color:#acfa00a6;letter-spacing:.5px;text-transform:uppercase;margin-top:8px;font-size:11px;font-weight:600;display:block}.footer-brand p{color:#a8b3ac;max-width:300px;margin:18px 0 0;font-size:14px;line-height:1.6}.footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.footer-column h3{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;margin:0 0 16px;font-family:monospace;font-size:13px;font-weight:600}.footer-column h3:before{content:"> ";color:var(--green)}.footer-column ul{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.footer-column a{color:#c9d1cc;font-size:14px;transition:color .2s}.footer-column a:hover{color:var(--green)}.footer-bottom{border-top:1px solid var(--glass-border);color:#8f9a93;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:20px;padding-right:190px;font-family:monospace;font-size:12px;display:flex}@media (width<=900px){.site-footer{padding:36px 20px 22px}.footer-bottom{padding-bottom:56px;padding-right:0}.site-footer:before{left:20px}.footer-top{grid-template-columns:1fr;gap:32px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.analytics-toolbar{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.admin-page .analytics-group{width:240px;padding-top:10px;padding-bottom:10px}.analytics-note{color:#8f9a93;margin:0 0 10px;font-size:13px}.analytics-stats{grid-template-columns:repeat(4,1fr)}.analytics-questions{flex-direction:column;gap:12px;display:flex}.analytics-question{border:1px solid var(--glass-border);background:#ffffff08;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:16px 18px;display:grid}.analytics-room-link{color:#c9d1cc;align-items:center;gap:10px;font-size:13px;font-weight:600;display:inline-flex}.analytics-room-link:hover{color:var(--green)}.analytics-question-main p{margin:8px 0 0;font-size:15px;line-height:1.5}.analytics-wrong{color:#8f9a93;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.analytics-wrong code{color:#ffb3ba;background:#ff6b7814;border:1px solid #ff6b7840;border-radius:6px;padding:2px 8px;font-size:12px}.analytics-wrong em{color:#8f9a93;font-style:normal}.analytics-question-numbers{gap:12px;display:flex}.analytics-question-numbers>div{border:1px solid var(--glass-border);text-align:center;background:#101412b3;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:96px;padding:10px 12px;display:flex}.analytics-question-numbers strong{font-family:monospace;font-size:20px}.analytics-question-numbers span{color:#8f9a93;margin-top:4px;font-size:11px}.analytics-rate.hard strong{color:#ff6b78}.analytics-rate.medium strong{color:#febc2e}.analytics-rate.easy strong{color:var(--green)}.analytics-more{margin-top:14px}.analytics-table{border:1px solid var(--glass-border);border-radius:12px;overflow:hidden}.analytics-row{border-bottom:1px solid var(--glass-border);align-items:center;gap:12px;padding:14px 20px;font-size:14px;display:grid}.analytics-row:last-child{border-bottom:none}.analytics-head{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;background:#acfa000a;font-family:monospace;font-size:12px}.analytics-rooms{grid-template-columns:minmax(200px,1fr) 90px 90px 110px 200px}.analytics-students{grid-template-columns:minmax(200px,1fr) 120px 150px 130px 160px}.analytics-warn{color:#febc2e}.analytics-rate-cell{align-items:center;gap:10px;display:flex}.analytics-rate-cell span{min-width:40px;font-family:monospace}.analytics-bar{background:var(--track);border-radius:4px;flex:1;height:8px;overflow:hidden}.analytics-bar div{background:var(--green);height:100%}@media (width<=1100px){.analytics-stats{grid-template-columns:repeat(2,1fr)}.analytics-question{grid-template-columns:1fr}}.analytics-attention{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;display:grid}.analytics-attention-card{border:1px solid var(--glass-border);background:#ffffff05;border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;text-decoration:none;display:flex}.analytics-attention-card:hover{background:var(--glass-hover);border-color:#acfa0066}.analytics-attention-who strong{color:#e8ece9;font-size:15px;display:block}.analytics-attention-who span{color:#7d8882;font-family:monospace;font-size:11px}.analytics-attention-reason{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:3px 10px;font-family:monospace;font-size:11px}.analytics-attention-reason.hard{color:#e0607e;background:#e0607e24}.analytics-attention-reason.medium{color:#febc2e;background:#febc2e24}.analytics-attention-numbers{color:#a8b3ac;font-family:monospace;font-size:11px}.analytics-more-button{border-radius:12px;width:100%;margin-bottom:24px;padding:14px;font-size:13px;display:block}a.analytics-row{text-decoration:none}a.analytics-row:hover{background:var(--glass-hover)}.analytics-question{padding:14px 16px}.analytics-question-numbers{gap:8px}.analytics-question-numbers>div{min-width:92px;padding:8px 10px}.analytics-question-numbers strong{font-size:17px}.analytics-question-numbers span{font-size:10px}.news-form{flex-direction:column;gap:16px;display:flex}.admin-page .news-form .flag-input{width:100%;padding:10px 14px;font-size:14px}.admin-page .news-form textarea{resize:vertical;line-height:1.5}.news-form-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-page .news-audience-select{width:260px}.admin-page .news-form .primary-button{cursor:pointer}.news-list{flex-direction:column;gap:12px;display:flex}.news-row{border:1px solid var(--glass-border);background:#ffffff08;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.news-row-text{min-width:0}.news-row-meta{color:#8f9a93;flex-wrap:wrap;gap:8px;margin-bottom:6px;font-family:monospace;font-size:12px;display:flex}.news-audience{color:var(--terminal);background:#acfa001a;border-radius:999px;padding:0 8px}.news-row strong{font-size:15px}.news-row p{color:#c9d1cc;white-space:pre-line;overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.5}@media (width<=700px){.news-row{flex-direction:column}.admin-page .news-audience-select,.news-form-bottom .primary-button{width:100%}}.ai-launch{z-index:60;background:var(--green);color:#151a10;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:700;display:inline-flex;position:fixed;bottom:28px;right:28px;box-shadow:0 0 22px #acfa0059,0 8px 20px #0006}.ai-launch:hover{box-shadow:0 0 30px #acfa0080,0 8px 20px #0006}.ai-panel{z-index:60;background:#0c100e;border:1px solid #acfa0059;border-radius:14px;flex-direction:column;width:430px;height:min(680px,100vh - 48px);display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 0 30px #acfa001f,0 18px 40px #0000008c}.ai-panel:before{content:"";background:linear-gradient(90deg, transparent, var(--green), transparent);opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.ai-panel.wide{width:min(820px,100vw - 48px);height:calc(100vh - 48px)}.ai-head{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.ai-title{min-width:0}.ai-title strong{color:var(--green);font-size:15px;display:block}.ai-title>span{color:#8f9a93;letter-spacing:1px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-family:monospace;font-size:11px;display:block;overflow:hidden}.ai-head-actions{flex-shrink:0;gap:6px;display:flex}.ai-icon-button{border:1px solid var(--glass-border);color:#c9d1cc;cursor:pointer;background:0 0;border-radius:8px;width:32px;height:32px;font-size:16px;line-height:1}.ai-icon-button:hover:not(:disabled){color:var(--green);border-color:#acfa0073}.ai-icon-button:disabled{opacity:.35;cursor:default}.ai-focus{border-bottom:1px solid var(--glass-border);color:#8f9a93;letter-spacing:1px;text-transform:uppercase;align-items:center;gap:10px;padding:10px 16px;font-family:monospace;font-size:11px;display:flex}.ai-focus select{border:1px solid var(--glass-border);color:#e8ece9;letter-spacing:0;text-transform:none;background:#ffffff0a;border-radius:6px;flex:1;min-width:0;padding:6px 8px;font-family:inherit;font-size:12px}.ai-focus option{background:#101412}.ai-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.ai-welcome p{color:#c9d1cc;margin:0 0 14px;font-size:14px;line-height:1.6}.ai-welcome strong{color:var(--green)}.ai-suggestions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.ai-suggestions button{color:#dfe5e1;text-align:left;cursor:pointer;background:#acfa000f;border:1px solid #acfa0040;border-radius:10px;padding:8px 12px;font-size:13px}.ai-suggestions button:hover:not(:disabled){color:var(--green);border-color:#acfa008c}.ai-message{overflow-wrap:anywhere;border-radius:12px;max-width:92%;padding:10px 13px;font-size:14px;line-height:1.55;position:relative}.ai-message.user{color:#f1f5f2;white-space:pre-wrap;background:#acfa001f;border:1px solid #acfa004d;border-bottom-right-radius:4px;align-self:flex-end}.ai-message.assistant{border:1px solid var(--glass-border);color:#dfe5e1;background:#ffffff0a;border-bottom-left-radius:4px;align-self:flex-start;width:92%}.ai-markdown.markdown{color:#dfe5e1;font-size:14px;line-height:1.6}.ai-markdown.markdown p,.ai-markdown.markdown ul,.ai-markdown.markdown ol{margin:0 0 10px}.ai-markdown.markdown ul,.ai-markdown.markdown ol{padding-left:20px}.ai-markdown.markdown li{margin-bottom:4px}.ai-markdown.markdown h2,.ai-markdown.markdown h3{margin:14px 0 8px;font-size:15px}.ai-markdown.markdown .markdown-code{margin:0 0 10px;padding:10px 12px;font-size:12.5px}.ai-markdown.markdown hr{margin:14px 0}.ai-markdown.markdown .markdown-table{margin-bottom:10px;font-size:13px}.ai-markdown.markdown>:first-child{margin-top:0}.ai-markdown.markdown>:last-child{margin-bottom:0}.ai-cursor{background:var(--green);vertical-align:text-bottom;width:8px;height:15px;margin-top:4px;animation:1s steps(2,end) infinite ai-blink;display:inline-block}@keyframes ai-blink{50%{opacity:0}}.ai-note{color:#8f9a93;text-transform:uppercase;margin-top:6px;font-family:monospace;font-size:11px;display:block}.ai-copy{border:1px solid var(--glass-border);color:#8f9a93;cursor:pointer;opacity:0;background:0 0;border-radius:6px;margin-top:8px;padding:2px 8px;font-family:monospace;font-size:11px;transition:opacity .15s}.ai-message:hover .ai-copy,.ai-copy:focus-visible{opacity:1}.ai-copy:hover{color:var(--green);border-color:#acfa0073}.ai-thinking{gap:5px;width:auto;padding:14px 16px;display:flex}.ai-thinking span{background:var(--green);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite ai-dot}.ai-thinking span:nth-child(2){animation-delay:.15s}.ai-thinking span:nth-child(3){animation-delay:.3s}@keyframes ai-dot{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-error{color:#ff6b78;margin:0;padding:8px 16px;font-size:13px}.ai-form{border-top:1px solid var(--glass-border);align-items:flex-end;gap:8px;padding:12px 16px 6px;display:flex}.ai-form textarea{border:1px solid var(--glass-border);color:#fff;resize:none;background:#ffffff0a;border-radius:10px;flex:1;min-width:0;max-height:150px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.4}.ai-form textarea:focus{border-color:#acfa0080;outline:none}.ai-send{background:var(--green);color:#151a10;cursor:pointer;border:none;border-radius:10px;height:40px;padding:0 16px;font-weight:700}.ai-send:disabled{opacity:.45;cursor:not-allowed}.ai-send.ai-stop{color:var(--green);background:0 0;border:1px solid #acfa0073}.ai-left{color:#8f9a93;margin:0;padding:0 16px 12px;font-family:monospace;font-size:11px}@media (width<=800px){.ai-launch{padding:11px 15px;bottom:16px;right:16px}.ai-panel,.ai-panel.wide{z-index:120;border:none;border-radius:0;width:auto;height:auto;inset:0}.ai-wide-button{display:none}.ai-copy{opacity:1}.ai-form textarea{font-size:16px}}:root{--glass:#101412e0;--glass-hover:#141a17f2;--glass-border:#ffffff12;--lime-border:#acfa0024;--track:#ffffff14;--terminal:#acfa00b3}.welcome-banner,.stat-card,.continue-card,.challenge-card,.path-card,.path-room,.task,.top-player-card,.scoreboard-table,.profile-stat,.profile-category,.profile-room,.not-found{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.welcome-banner,.stat-card,.challenge-card,.path-card,.top-player-card,.profile-stat,.not-found{--cat:var(--green);--cat-rgb:172, 250, 0;position:relative;overflow:hidden}.welcome-banner:before,.stat-card:before,.challenge-card:before,.path-card:before,.top-player-card:before,.profile-stat:before,.not-found:before{content:"";background:var(--cat);height:3px;box-shadow:0 0 14px var(--cat);position:absolute;top:0;left:0;right:0}:is(.challenge-card:has(.category-icon.web),.path-card:has(.category-icon.web)){--cat:#3ec6fd;--cat-rgb:62, 198, 253}:is(.challenge-card:has(.category-icon.networking),.path-card:has(.category-icon.networking)){--cat:#b084ff;--cat-rgb:176, 132, 255}:is(.challenge-card:has(.category-icon.linux),.path-card:has(.category-icon.linux)){--cat:#fecb00;--cat-rgb:254, 203, 0}.challenge-card .challenge-category,.path-card .challenge-category{color:var(--cat)}.dashboard .stat-card:hover,.challenge-card:hover,.path-card:hover,.path-room:hover,.profile-room:hover{background:var(--glass-hover);border-color:rgba(var(--cat-rgb,172, 250, 0), .5);box-shadow:0 0 24px rgba(var(--cat-rgb,172, 250, 0), .15)}.eyebrow,.room-header .challenge-category,.path-header .challenge-category{color:var(--terminal);letter-spacing:1px;font-family:monospace}.dashboard-section>h2:before,.profile-title:before{content:"> ";color:var(--green);font-family:monospace}.challenge-footer strong{color:var(--green);background:#acfa001a;border-radius:999px;padding:4px 10px;font-size:12px}.challenge-footer .difficulty-badge{font-size:12px}.path-meta span,.room-meta span{color:#c9d1cc;background:#ffffff0a;border:1px solid #ffffff1a}.continue-bar,.path-bar,.path-detail .path-bar,.room-progress-bar,.profile-bar{background:var(--track);border:none}.primary-button,.path-button,.room-next,.submit-button,.auth-button{background:var(--green);color:#151a10;border:1px solid var(--green);transition:box-shadow .2s,transform .2s}.primary-button:hover,.path-button:hover,.room-next:hover,.submit-button:hover,.auth-button:hover{background:var(--green);color:#151a10;box-shadow:0 0 18px #acfa0059}.path-button.done{color:var(--green);background:0 0}.clear-button{background:var(--glass);color:#d6e0d9;border:1px solid #ffffff1a}.clear-button:hover{color:var(--green);background:#acfa000f;border-color:#acfa0073}.flag-input,.auth-form input{color:#fff;background:#101412e6;border:1px solid #ffffff1a;border-radius:8px}.flag-input:focus,.auth-form input:focus{background:#101412f2;border-color:#acfa0080;outline:none;box-shadow:0 0 0 3px #acfa001a}.question.solved .flag-input{color:var(--green);border-color:#acfa0080}.task-header:hover{background:#acfa000a}.task-label{background:#ffffff0f;font-family:monospace}.task-header.done .task-label{background:var(--green);color:#151a10}.task-body,.question{border-top-color:var(--glass-border)}.task-code{border:1px solid var(--lime-border);color:#d6f5c0;background:#080b09e6}.room-completed,.path-completed{background:#acfa0014;border:1px solid #acfa0066;box-shadow:0 0 24px #acfa001a}.path-step-number{background:var(--glass);border-color:#ffffff26}.path-step:not(:last-child):after{background:#ffffff1f}.path-step.done .path-step-number{box-shadow:0 0 12px #acfa0073}.path-step.next .path-room{border-color:#acfa0073;box-shadow:0 0 20px #acfa0014}.top-player-card:first-child{--cat:#fecb00;--cat-rgb:254, 203, 0}.top-player-card:nth-child(2){--cat:#c9d1d9;--cat-rgb:201, 209, 217}.top-player-card:nth-child(3){--cat:#ff9f5a;--cat-rgb:255, 159, 90}.top-player-card strong{color:var(--cat)}.top-player-card.is-you{border-color:#acfa0080}.scoreboard-table{border-radius:12px;overflow:hidden}.scoreboard-row{border-bottom-color:var(--glass-border)}.scoreboard-header{color:var(--terminal);text-transform:uppercase;letter-spacing:1px;background:#acfa000a;font-family:monospace}.scoreboard-row.is-you{box-shadow:inset 3px 0 0 var(--green);background:#acfa0014}.profile-avatar{box-shadow:0 0 24px #acfa0059}.profile-stat strong{color:var(--green)}.profile-category:first-child .profile-bar-fill{background:#3ec6fd}.profile-category:nth-child(2) .profile-bar-fill{background:#b084ff}.profile-category:nth-child(3) .profile-bar-fill{background:#fecb00}.auth-form{background:var(--glass);border:1px solid var(--lime-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;padding:30px}.auth-form label{color:var(--terminal);letter-spacing:1px;text-transform:uppercase;font-family:monospace}.not-found-code{text-shadow:0 0 24px #acfa0073;font-family:monospace}.challenge-grid>*,.stats-grid>*,.paths-list>*,.path-steps>*,.top-players>*,.profile-stats>*,.profile-categories>*,.profile-rooms>*{animation:.45s ease-out backwards card-in}:is(.challenge-grid,.stats-grid,.paths-list,.path-steps,.top-players,.profile-stats,.profile-categories,.profile-rooms)>:first-child{animation-delay:50ms}:is(.challenge-grid,.stats-grid,.paths-list,.path-steps,.top-players,.profile-stats,.profile-categories,.profile-rooms)>:nth-child(2){animation-delay:.1s}:is(.challenge-grid,.stats-grid,.paths-list,.path-steps,.top-players,.profile-stats,.profile-categories,.profile-rooms)>:nth-child(3){animation-delay:.15s}:is(.challenge-grid,.stats-grid,.paths-list,.path-steps,.top-players,.profile-stats,.profile-categories,.profile-rooms)>:nth-child(4){animation-delay:.2s}:is(.challenge-grid,.stats-grid,.paths-list,.path-steps,.top-players,.profile-stats,.profile-categories,.profile-rooms)>:nth-child(5){animation-delay:.25s}:is(.challenge-grid,.stats-grid,.paths-list,.path-steps,.top-players,.profile-stats,.profile-categories,.profile-rooms)>:nth-child(6){animation-delay:.3s}:is(.challenge-grid,.stats-grid,.paths-list,.path-steps,.top-players,.profile-stats,.profile-categories,.profile-rooms)>:nth-child(n+7){animation-delay:.35s}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.challenge-grid>*,.stats-grid>*,.paths-list>*,.path-steps>*,.top-players>*,.profile-stats>*,.profile-categories>*,.profile-rooms>*{animation:none}}@media (width>=1101px) and (width<=1450px){.admin-row{grid-template-columns:minmax(150px,1fr) 60px 70px 110px 110px 150px}.rooms-row{grid-template-columns:56px minmax(170px,1fr) 80px 50px 50px 80px 150px}.library-row{grid-template-columns:56px minmax(170px,1fr) 100px 80px 150px}.paths-row{grid-template-columns:56px minmax(170px,1fr) 70px 70px 150px}.admin-actions{flex-wrap:wrap}}@media (width<=1100px){.admin-row,.rooms-row,.paths-row,.library-row,.blitz-custom-row,.categories-row,.analytics-row{flex-direction:column;align-items:stretch;gap:10px;padding:16px;display:flex}.admin-row.admin-header,.rooms-row.admin-header,.paths-row.admin-header,.library-row.admin-header,.blitz-custom-row.admin-header,.analytics-row.analytics-head{display:none}.admin-row [data-label],.rooms-row [data-label],.paths-row [data-label],.library-row [data-label],.blitz-custom-row [data-label],.categories-row [data-label],.analytics-row [data-label]{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.admin-row [data-label]:before,.rooms-row [data-label]:before,.paths-row [data-label]:before,.library-row [data-label]:before,.blitz-custom-row [data-label]:before,.categories-row [data-label]:before,.analytics-row [data-label]:before{content:attr(data-label);color:#7d8882;letter-spacing:.06em;text-transform:uppercase;font-family:monospace;font-size:11px}.rooms-row .rooms-move,.paths-row .rooms-move,.library-row .rooms-move{flex-direction:row;gap:8px}.admin-actions{flex-wrap:wrap;margin-left:0}.analytics-rate-cell{width:100%}.admin-small,.admin-tag,.admin-link,.filter-bar-option{min-height:34px}.admin-actions{gap:8px}.admin-page .rooms-arrow{width:34px;height:34px}}@media (width<=800px){.welcome-banner{padding:22px}.welcome-banner h1{font-size:30px}.clock strong{white-space:nowrap;font-size:16px}.clock span{font-size:11px}.footer-column li{display:flex}.footer-column a{width:100%;padding:6px 0;display:block}.continue-card{flex-wrap:wrap;gap:16px;padding:20px}.continue-card .primary-button{text-align:center;width:100%}.activity-calendar{margin:0}.profile-header{flex-wrap:wrap;gap:16px}.profile-avatar{width:64px;height:64px;font-size:22px}.profile-info h1{font-size:26px}.profile-header-actions{width:100%}.profile-header-actions button{flex:1}.profile-stats{gap:10px}.profile-stat{padding:16px 8px}.profile-stat strong{font-size:20px}.profile-skills{grid-template-columns:1fr;justify-items:center;gap:18px;padding:18px 16px}.profile-skill-list{width:100%}.profile-skill{flex-wrap:wrap;gap:4px}.profile-skill-numbers{text-align:left;width:100%;font-size:11px}.escape-warning{width:auto;animation-name:escape-warning-phone-in;bottom:16px;left:16px;right:16px;transform:none}.progress-stats{grid-template-columns:repeat(2,1fr);gap:10px}.progress-periods button{flex:1;padding:9px 6px;font-size:12px}.progress-compare-bar{grid-template-columns:74px 1fr 46px;gap:8px}.review-item{grid-template-columns:1fr;gap:8px}.review-item-question{white-space:normal}.review-item-meta{flex-wrap:wrap;gap:10px}.review-card{padding:18px 16px}.review-card-top{flex-direction:column;align-items:flex-start;gap:12px}.review-card-item{flex-direction:column;gap:4px}.review-card-question{white-space:normal}.student-header{flex-wrap:wrap;gap:12px}.student-avatar{width:56px;height:56px;font-size:19px}.student-who{flex:60%}.student-who h1{font-size:24px}.student-readonly{order:3}.student-stats{grid-template-columns:repeat(2,1fr);gap:10px}.student-stat strong{font-size:19px}.student-skills{grid-template-columns:1fr;justify-items:center;gap:18px;padding:18px 16px}.student-skill-list{width:100%}.student-skill{flex-wrap:wrap;gap:4px}.student-skill-numbers{text-align:left;width:100%;font-size:11px}.student-stuck-top{flex-direction:column;align-items:flex-start;gap:4px}.student-room{grid-template-columns:1fr auto;gap:8px 12px}.student-room-bar{grid-column:1/-1}.student-profile-header{flex-wrap:wrap;gap:12px}.student-profile-avatar{width:56px;height:56px;font-size:19px}.student-profile-stats{grid-template-columns:repeat(2,1fr);gap:10px}.student-profile-room{grid-template-columns:1fr auto;gap:8px 12px}.student-profile-skills{grid-template-columns:1fr;justify-items:center;gap:18px;padding:18px 16px}.student-profile-skill-list{width:100%}.student-profile-skill{flex-wrap:wrap;gap:4px}.student-profile-skill-numbers{text-align:left;width:100%;font-size:11px}.scoreboard-page .top-players{grid-template-columns:1fr;gap:12px}.scoreboard-page .top-player-card{order:0;margin-top:0;padding:18px}.top-player-rank{margin-bottom:6px;font-size:44px}.top-player-name{font-size:19px}.scoreboard-header,.scoreboard-row{grid-template-columns:44px minmax(0,1fr) 62px 54px;gap:8px;padding:14px}.scoreboard-header{font-size:11px}.scoreboard-row strong{overflow-wrap:anywhere;font-size:14px}.scoreboard-row span{font-size:14px}.scoreboard-group{margin:2px 0 0;display:block}.admin-tabs{flex-wrap:wrap}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.admin-stat{padding:18px}.admin-stat strong{font-size:24px}.admin-panel{padding:18px}.admin-list-top,.analytics-toolbar{flex-direction:column;align-items:stretch}.admin-page .admin-search{flex:auto;width:100%}.admin-page .analytics-group{width:100%}.analytics-question-numbers{flex-wrap:wrap}.analytics-question-numbers>div{flex:90px}.editor-grid,.editor-question .editor-grid,.blitz-variant .editor-grid,.article-editor-grid{grid-template-columns:1fr}.editor-head{flex-direction:column;gap:12px}.editor-head h1{word-break:normal;overflow-wrap:anywhere;font-size:30px}.editor-head-actions{flex-wrap:wrap;flex-shrink:1;padding-top:0}.path-card{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 20px}.path-info{width:100%;min-width:0}.path-meta{flex-wrap:wrap}.path-button{text-align:center;align-self:stretch}.ctf-layout>*,.ctf-review>div{min-width:0}.ctf-review code,.ctf-question-data{overflow-wrap:anywhere;word-break:break-all}.ctf-answer-row{flex-wrap:wrap}.ctf-practice-list li{grid-template-columns:minmax(0,1fr);gap:8px}.ctf-practice-list li>button{justify-self:start}.ctf-practice-close{margin-left:0}.ctf-practice-card{padding:16px}.room-header h1{font-size:30px}}@media (width<=400px){.content{overflow-x:hidden}.analytics-attention{grid-template-columns:1fr}.group-row{flex-direction:column;align-items:stretch}.group-row .admin-actions{margin-left:0}.page{padding:20px 14px}}@media (width<=1100px){.categories-form{grid-template-columns:minmax(0,1fr)}}
