@font-face{font-family:JetBrains;src:url('/fonts/JetBrainsMono-Code.woff2')}*{box-sizing:border-box} :root{color-scheme:dark;--bg:#0b0e14;--panel:#11151e;--line:#242833;--muted:#8b91a3;--text:#ececf4;--accent:#75b6ff;--green:#99d5ad}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button,a{transition:background .15s,color .15s,border-color .15s}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent);text-decoration:none}button:hover,a:hover{filter:brightness(1.12)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea{background:#0c1018;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:12px;outline:none;min-width:0}input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:21px;margin:3px 0 0;letter-spacing:-.6px}h2{font-size:26px;line-height:1.2;letter-spacing:-.8px}h3{font-size:16px;margin-bottom:10px;letter-spacing:-.2px}small,.muted{color:var(--muted)}.app-shell{display:grid;grid-template-columns:238px minmax(560px,740px) 310px;max-width:1370px;margin:auto;min-height:100vh;padding:0 24px;gap:0}.sidebar{position:sticky;top:0;height:100vh;padding:36px 23px 20px 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#f2f4f7;font-size:17px;font-weight:850;letter-spacing:1.5px;margin:0 0 43px 9px}.brand-mark{font:900 34px JetBrains;color:var(--accent);letter-spacing:-6px;overflow:hidden;width:42px}.brand small{display:block;font:8px JetBrains;letter-spacing:2.4px;color:#777d92;margin-top:4px}nav{display:flex;flex-direction:column;gap:8px}nav button,.nav-link{display:flex;align-items:center;gap:16px;padding:13px 15px;border-radius:9px;text-align:left;color:#a2a6b6;font-size:15px;font-weight:550;white-space:nowrap}nav button.active{background:#1c2632;color:#b2d5ff}.nav-icon{font-size:25px;width:24px;line-height:1}.new-label{margin-left:auto;font:8px JetBrains;color:#b0d4ff;border:1px solid #3d4f64;border-radius:4px;padding:3px 4px}.primary{background:var(--accent);color:#10171f;border:1px solid var(--accent);border-radius:7px;font-size:12px;font-weight:750;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:25px}.secondary{border:1px solid #373e47;border-radius:7px;padding:9px 15px;color:#d6e2f1;font-size:12px}.post-button{margin-top:30px;width:100%;font-size:14px;padding:13px}.sidebar-bottom{margin-top:auto;padding:40px 3px 0}.tiny-label{font:8px JetBrains;color:#818b97;letter-spacing:1.6px}.sidebar-bottom>p{font-size:11px;color:#626979;margin-top:10px}.account{display:flex;gap:10px;text-align:left;align-items:center;padding:16px 0 0;width:100%;border-top:1px solid var(--line)}.account strong{font-size:11px;display:block}.account small{font-size:10px}.account>span:last-child{margin-left:auto}.avatar{width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font:20px JetBrains;background:#202d3c;color:#a6cfff}.avatar.blue{background:#192b38;color:#9bc9df}.avatar.big{width:76px;height:76px;font-size:37px;border:5px solid var(--bg);margin-top:-58px}main{border-left:1px solid var(--line);border-right:1px solid var(--line);min-width:0}.topbar{height:91px;padding:20px 27px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.eyebrow{font:8px JetBrains;letter-spacing:1.8px;color:#858597}.network{font:9px JetBrains;color:#9ba6a3;display:flex;gap:7px;align-items:center}.network i,.live-dot,.hero-kicker i{width:5px;height:5px;background:#9ed6ae;border-radius:100%;display:inline-block;box-shadow:0 0 8px #8cdfa230}.practice-content{padding:23px 24px}.practice-hero{display:grid;grid-template-columns:1.1fr 1fr;background:linear-gradient(120deg,#151d26,#11151e);border:1px solid #2a3643;border-radius:12px;overflow:hidden;min-height:288px}.hero-copy{padding:28px 0 24px 24px;z-index:1}.hero-kicker{display:flex;gap:7px;align-items:center;font:7px JetBrains;color:#a2b7cf;letter-spacing:1px}.hero-copy h2{font-size:30px;line-height:1.21;letter-spacing:-1.1px;margin:20px -50px 15px 0}.hero-copy h2 span{color:#9dc4f1}.hero-copy p{font-size:11px;line-height:1.8;color:#a0a9b3;margin-bottom:22px}.hero-copy .primary{padding:9px 13px;font-size:10px}.hero-foot{font:7px JetBrains;color:#737c86;margin-top:13px}.hero-art{position:relative;min-width:0;overflow:hidden}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:55% center;opacity:.85;image-rendering:pixelated;mask-image:linear-gradient(to right,transparent,#000 20%)}.art-caption{position:absolute;bottom:16px;left:18px;right:12px;padding:7px 5px;border:1px solid #546b8744;background:#0b0f1cc9;backdrop-filter:blur(6px);font:6px JetBrains;color:#bac9da;white-space:nowrap;display:flex;gap:6px;align-items:center;justify-content:center;border-radius:4px}#desk-sparks{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.practice-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0 26px;border-bottom:1px solid var(--line);gap:14px}.practice-stats>div{display:grid;grid-template-columns:25px 1fr;column-gap:6px}.practice-stats>div+div{border-left:1px solid var(--line);padding-left:17px}.practice-stats span{grid-row:span 2;color:#96afcd;font-size:22px}.practice-stats strong{font-size:10px;font-weight:600}.practice-stats small{font-size:8px;margin-top:3px;color:#71778a}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 19px}.section-title h2{font-size:19px;margin:8px 0 0;letter-spacing:-.4px}.pill{font:7px JetBrains;border:1px solid #334438;color:#9ab8a3;padding:5px 8px;border-radius:20px;white-space:nowrap}.language-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.language-tabs button{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#11141c;text-align:left;padding:15px 11px;min-width:0}.language-tabs button.selected{border-color:#7ea4d1;background:#1b232d}.language-icon{font-size:22px;font-weight:700;width:28px}.language-icon.python{color:#e2b75e}.language-icon.go{color:#72bfcf;font-style:italic;font-size:17px}.language-tabs strong{font-size:12px;display:block}.language-tabs small{font-size:7px;display:block;white-space:nowrap}.radio{width:8px;height:8px;border:1px solid #444b53;border-radius:100%;margin-left:auto}.selected .radio{border:2px solid #a9ccf6;background:#7ca6d7}.difficulty{display:flex;align-items:center;justify-content:space-between;margin:23px 0 13px}.difficulty>div{background:#141720;border-radius:6px;padding:3px;display:flex;gap:2px}.difficulty button{font-size:9px;padding:6px 10px;color:#858a9b}.difficulty button.chosen{background:#262e37;color:#cae2ff;border-radius:4px}.difficulty>span{font:6px JetBrains;letter-spacing:1px;color:#5e6475}.challenge-list{border:1px solid var(--line);border-radius:9px;overflow:hidden}.challenge-row{display:flex;align-items:center;width:100%;text-align:left;gap:14px;padding:18px 16px;background:#10131b}.challenge-row+.challenge-row{border-top:1px solid var(--line)}.challenge-row:hover{background:#192029}.challenge-number{font:11px JetBrains;color:#606f80;width:25px}.challenge-row strong{font-size:11px;font-weight:600;letter-spacing:.1px}.challenge-row p{font-size:9px;color:#777e90;margin:4px 0 0;max-width:290px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.challenge-row>div{flex:1;min-width:0}.challenge-tag{font:6px JetBrains;letter-spacing:.5px;color:#8bbf9d;border:1px solid #2d4035;background:#16241d;padding:4px 5px;border-radius:3px}.arrow{font-size:17px;color:#76808c}.practice-bottom{display:flex;align-items:center;gap:12px;margin-top:24px;border:1px dashed #303841;border-radius:8px;padding:17px 13px;background:#13181e}.practice-bottom img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}.practice-bottom h3{font-size:11px;margin:0 0 4px}.practice-bottom p{font-size:9px;color:#828991;margin:0}.practice-bottom a{font-size:9px;margin-left:auto;white-space:nowrap}.content-credit{font-size:8px;text-align:center;color:#5c6271;margin:18px 0 4px}.rightbar{padding:26px 0 24px 23px}.search{display:flex;gap:8px;background:#151922;border:1px solid #252a36;border-radius:25px;align-items:center;height:41px;padding:0 13px;margin-bottom:24px}.search>span{font-size:22px;color:#80889b}.search input{background:none;border:0;padding:0;font-size:10px;width:100%}.search kbd{font-size:11px;color:#7f8698}.right-card{background:#11151d;border:1px solid var(--line);border-radius:11px;padding:19px;margin-bottom:17px}.right-card p{font-size:11px;color:#8e94a6;line-height:1.8;margin-bottom:16px}.right-card h3{font-size:14px}.fruit-card{background:linear-gradient(145deg,#241d19,#16181a);border-color:#403128}.fruit-logo{display:flex;align-items:center;gap:8px;color:#f1b27a;font-size:27px;margin-bottom:19px}.fruit-logo>span{font-size:17px;font-weight:650;letter-spacing:-.5px;line-height:1.1}.fruit-logo small{display:block;font:6px JetBrains;letter-spacing:1.6px;margin-top:7px;color:#b18d72}.fruit-logo .live-pill{font:6px JetBrains;letter-spacing:1px;border:1px solid #5c4331;color:#ddb488;padding:4px 5px;margin-left:auto;border-radius:3px}.fruit-card h3{font-size:18px;line-height:1.4;letter-spacing:-.5px}.fruit-cta{display:flex;justify-content:space-between;background:#ebbd94;color:#281b15;font-size:11px;font-weight:700;padding:10px 12px;border-radius:6px}.fruit-card>small{display:block;font-size:8px;text-align:center;margin-top:10px;color:#987d6d}.card-heading{display:flex;justify-content:space-between}.card-heading>span{color:#c8b18f}.week{display:flex;justify-content:space-between;margin:19px 0 17px}.week span{text-align:center;font:8px JetBrains;color:#666e83}.week i{display:flex;align-items:center;justify-content:center;font-style:normal;width:23px;height:25px;background:#1d2230;border:1px solid #2c3243;border-radius:5px;margin-bottom:8px;color:#6b7189}.text-button{font-size:10px;padding:0;color:var(--accent)}.community{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:12px 0;border-bottom:1px solid #20242e}.community-icon{width:33px;height:33px;border-radius:8px;background:#1e252d;display:flex;align-items:center;justify-content:center;font-size:18px;color:#a9cbf2}.community strong{display:block;font-size:10px;font-weight:600}.community small{font-size:8px}.community>span:last-child{margin-left:auto;color:#828e9d}.right-card>.text-button{margin-top:14px}.manifesto{padding:5px 17px;color:#656d80}.manifesto>span{font:20px JetBrains;color:#454b5c}.manifesto p{font-size:10px;margin:7px 0 4px}.manifesto small{font-size:8px}.manifesto .footer-links{font-size:8px;margin-top:19px}.footer-links a{color:#858ca0}.feed-tabs{display:flex;border-bottom:1px solid var(--line)}.feed-tabs button{width:50%;padding:17px;color:var(--muted)}.feed-tabs .chosen{color:#cae2ff;border-bottom:2px solid var(--accent)}.composer{display:flex;gap:15px;padding:24px;border-bottom:1px solid var(--line)}.composer>div{flex:1;min-width:0}.composer textarea{background:none;border:0;width:100%;min-height:90px;font-size:16px;padding:5px}.composer-actions{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.composer-actions>span{font-size:10px;color:var(--muted)}.empty{padding:65px 35px;text-align:center;color:var(--muted)}.empty h2{font-size:22px;color:var(--text)}.empty p{font-size:13px;max-width:390px;margin:15px auto 25px}.empty-icon{font-size:40px;color:var(--accent);display:block;margin-bottom:18px}.empty .secondary{display:block;margin:20px auto}.post{display:flex;padding:23px;gap:12px;border-bottom:1px solid var(--line)}.post-content{flex:1;min-width:0}.post-byline{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.post-byline button{font-size:12px;font-weight:700;padding:0}.post-byline span{font-size:10px;color:var(--muted)}.board-tag{font-size:9px;color:#92aecf}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 17px;font-size:13px}.post-actions{display:flex;justify-content:space-between;gap:8px}.post-actions button{font-size:10px;color:#8a90a2;padding:3px}.post-actions .liked{color:#ed9ebd}.replies{margin-top:20px;border-left:2px solid #2b3744;padding-left:15px}.replies p{font-size:12px}.replies textarea{width:100%;margin-bottom:10px}.page-padding{padding:27px}.page-padding>.eyebrow+h2{margin-top:15px}.board-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.board-card{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:23px}.board-card>span{font:27px JetBrains;color:var(--accent)}.board-card h3{margin:15px 0 8px}.board-card p{font-size:12px;color:var(--muted);min-height:40px}.board-card small{color:var(--accent);font-size:10px}.editor-card{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--line);border-radius:9px;margin:20px 0}.profile-cover{height:150px;background:linear-gradient(120deg,#2e4056,#142e36);display:flex;align-items:center;justify-content:center;font:11px JetBrains;letter-spacing:2px;color:#a4b9d2}.profile-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mono{font-family:JetBrains;overflow-wrap:anywhere;font-size:10px}.profile-tags{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.profile-tags span,.profile-tags a{border:1px solid var(--line);border-radius:15px;font-size:10px;padding:5px 10px}.lookup{display:flex;gap:10px;margin:20px 0}.lookup input{flex:1;font-size:11px}.workbench{border:1px solid #36424f;border-radius:9px;overflow:hidden;background:#0b0f17}.window-bar{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#20272f;padding:11px 15px;font:10px JetBrains}.window-dots{color:#77899f;letter-spacing:4px;font-size:8px}.challenge-brief{padding:20px}.challenge-brief pre{font:11px/1.8 JetBrains;white-space:pre-wrap;color:#b3b6c6}.quiz-choices{display:grid;gap:8px;margin:15px 0}.quiz-choices button{display:flex;align-items:center;text-align:left;gap:10px;padding:10px;border:1px solid var(--line);border-radius:5px;font-size:10px;overflow:auto}.quiz-choices button.chosen{border-color:var(--accent);background:#1e2a38}.quiz-choices span{color:var(--accent)}.file-tab{font:10px JetBrains;background:#191b27;padding:12px 20px}.file-tab>span:first-child{color:#8aacd5;margin-right:9px}.code-editor{display:block;width:100%;border:0;border-radius:0;background:#0c1019;color:#b5cde9;min-height:300px;font:12px/1.9 JetBrains;padding:20px;tab-size:4}.run-toolbar{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.run-toolbar>div{display:flex;gap:8px}.hint{padding:16px;font:11px/1.8 JetBrains;background:#202a35;color:#bed3ec}.stdin-label{display:block;font:8px JetBrains;padding:15px;color:#8c91a3}.stdin-label textarea{display:block;width:100%;margin-top:10px;font:11px JetBrains;min-height:55px}.terminal{background:#080c12;padding:16px}.terminal>div{display:flex;justify-content:space-between;font:7px JetBrains;letter-spacing:1px;color:#657381}.terminal pre{font:11px/1.8 JetBrains;white-space:pre-wrap;overflow-wrap:anywhere;color:#a5d8b4;min-height:70px;margin-top:20px}.share-row{padding:14px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:14px 20px;background:#232e3b;border:1px solid #506277;box-shadow:0 12px 50px #0008;z-index:20;border-radius:10px;max-width:min(620px,90vw);font-size:12px;overflow-wrap:anywhere}.toast button{margin-left:15px}.modal-backdrop{position:fixed;inset:0;background:#020409bb;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:30;padding:20px}.modal{position:relative;width:440px;max-height:90vh;overflow:auto;border:1px solid #3b4c60;background:#13181e;border-radius:16px;padding:32px}.modal h2{margin-top:18px}.modal p{font-size:12px;color:var(--muted)}.modal label{display:block;font-size:11px;margin:15px 0}.modal input,.modal textarea{width:100%;margin-top:7px}.modal textarea{min-height:95px;font:12px/1.8 JetBrains}.modal>.primary,.modal>.secondary{width:100%;margin:8px 0}.modal small{display:block;font-size:9px;margin-top:10px}.close{position:absolute;right:14px;top:10px;font-size:24px;color:var(--muted)}.modal .checkbox{display:flex;gap:10px;align-items:center}.checkbox input{width:auto;margin:0}.upload{padding:15px;border:1px solid var(--line);border-radius:6px;margin-top:12px;display:grid;gap:10px}.upload p{font-size:10px;overflow-wrap:anywhere}.upload input{font-size:10px;width:100%}
@media(min-width:1450px){.app-shell{padding:0 30px;grid-template-columns:250px minmax(560px,740px) 320px}.hero-copy h2{font-size:33px}.practice-content{padding:27px 28px}.practice-hero{min-height:310px}.hero-copy{padding-top:32px}.hero-copy p{font-size:12px}.hero-kicker{font-size:8px}.language-tabs small{font-size:8px}.challenge-row p{max-width:330px}}
@media(max-width:1190px){.app-shell{grid-template-columns:200px minmax(490px,1fr) 270px;padding:0 18px}.sidebar{padding-right:15px}.brand{font-size:14px;margin-left:4px}.brand small{font-size:7px}.nav-link,nav button{font-size:13px;gap:12px;padding-left:10px}.rightbar{padding-left:17px}.right-card{padding:15px}.practice-content{padding:20px}.hero-copy h2{font-size:27px}.hero-copy{padding-left:19px}.language-tabs button{gap:7px;padding:13px 8px}.language-tabs small{font-size:6px}.new-label{display:none}}
@media(max-width:1010px){.app-shell{grid-template-columns:76px minmax(470px,1fr) 260px;padding:0 16px}.sidebar{padding-right:12px;align-items:center}.brand{margin:0 0 40px}.brand>span:last-child{display:none}nav button,.nav-link{font-size:0;gap:0;padding:14px;width:52px}nav .nav-icon{font-size:24px}.nav-link .live-dot{margin-left:4px}.post-button{font-size:0;width:50px;padding:10px}.post-button:before{content:'＋';font-size:22px}.sidebar-bottom{width:100%;padding:20px 0}.sidebar-bottom>p,.sidebar-bottom>.tiny-label,.account>span:not(:first-child){display:none}.account{justify-content:center}.hero-copy h2{font-size:29px}.right-card h3{font-size:14px}.fruit-card h3{font-size:17px}}
@media(max-width:850px){.app-shell{grid-template-columns:76px minmax(0,1fr);max-width:800px}.rightbar{display:none}.hero-copy h2{font-size:35px}.hero-copy p{font-size:13px}.practice-hero{min-height:315px}.language-tabs small{font-size:8px}.hero-copy{padding-top:30px}}
@media(max-width:550px){.app-shell{display:block;padding:0 0 74px}.sidebar{position:fixed;top:auto;bottom:0;height:63px;width:100%;background:#10131df5;z-index:15;border-top:1px solid var(--line);padding:4px 7px;display:block}.brand,.sidebar-bottom,.post-button{display:none}nav{flex-direction:row;justify-content:space-around;gap:0}nav button,.nav-link{width:42px;padding:10px;justify-content:center}nav button:nth-child(4),nav button:nth-child(5),nav button:nth-child(6){display:none}main{border:0}.topbar{height:77px;padding:15px 20px}.eyebrow{font-size:7px}.network{font-size:8px}.practice-content{padding:16px}.practice-hero{min-height:265px;grid-template-columns:1.15fr 1fr}.hero-copy{padding:25px 0 20px 17px}.hero-copy h2{font-size:25px;letter-spacing:-.8px;margin-top:20px;position:relative;z-index:1}.hero-copy p{font-size:10px}.hero-kicker{font-size:6px;letter-spacing:.2px}.hero-foot{font-size:6px}.art-caption{font-size:4px;left:5px;right:7px;gap:3px}.hero-copy .primary{font-size:9px;padding:8px 12px;gap:15px}.practice-stats{gap:5px;padding:20px 0}.practice-stats>div+div{padding-left:8px}.practice-stats>div{column-gap:4px;grid-template-columns:17px 1fr}.practice-stats strong{font-size:8px}.practice-stats small{font-size:6px}.practice-stats span{font-size:17px}.section-title h2{font-size:17px}.section-title .pill{font-size:6px;padding:4px 6px}.language-tabs{gap:6px}.language-tabs button{padding:11px 7px;gap:5px;flex-wrap:wrap}.language-tabs small{font-size:6px}.language-icon{font-size:18px;width:22px}.language-tabs strong{font-size:10px}.radio{display:none}.difficulty>span{display:none}.difficulty{margin-top:18px}.difficulty button{font-size:8px}.challenge-row{padding:15px 12px;gap:8px}.challenge-row strong{font-size:10px}.challenge-row p{font-size:8px;max-width:190px}.challenge-tag{font-size:5px;padding:3px}.challenge-number{font-size:9px;width:20px}.practice-bottom{padding:12px 10px;gap:8px;flex-wrap:wrap}.practice-bottom a{width:100%;margin:3px 0 0 50px}.practice-bottom h3{font-size:11px}.content-credit{font-size:7px}.board-grid{grid-template-columns:1fr}.post-byline span{font-size:8px}.post-actions button{font-size:9px}.page-padding{padding:22px}.modal{padding:26px 22px}.profile-cover{font-size:8px}.run-toolbar{padding:10px}.run-toolbar .primary,.run-toolbar .secondary{font-size:10px;padding:8px 10px}.share-row{flex-direction:column;gap:8px}.share-row button{text-align:left}.code-editor{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.runtime-note{font-size:8px;color:#70788b;line-height:1.7;margin:12px 0}.builder-search{width:100%;margin-top:15px}
/* Locales: always available on desktop and mobile; no wallet/editor remount. */
.topbar-tools{display:flex;align-items:center;gap:14px}.locale-picker{display:flex;align-items:center;gap:5px;color:var(--accent)}.locale-picker select{font-family:inherit;font-size:11px;line-height:1.4;background:#161c22;color:#d5e0ed;border:1px solid #394656;border-radius:7px;max-width:146px;padding:7px 9px;cursor:pointer}.locale-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
html:not([lang="en"]) .hero-copy h2{font-size:27px;margin-right:-25px}html:not([lang="en"]) .hero-kicker{letter-spacing:.5px}html:not([lang="en"]) .hero-foot{font-size:9px;line-height:1.6}html:not([lang="en"]) .art-caption{font-size:7px;white-space:normal;text-align:center}html:not([lang="en"]) .language-tabs small{white-space:normal;font-size:8px}html:not([lang="en"]) .new-label{display:none}html:not([lang="en"]) .practice-stats small{font-size:9px}html:not([lang="en"]) .runtime-note{font-size:10px}html:not([lang="en"]) .section-title{gap:12px}html:not([lang="en"]) .hero-copy p{font-size:12px}
@media(max-width:650px){.topbar-tools .network{display:none}.locale-picker select{max-width:128px;font-size:11px}.topbar{gap:8px}html:not([lang="en"]) .hero-copy h2{font-size:23px}html:not([lang="en"]) .hero-copy p{font-size:10px}html:not([lang="en"]) .hero-foot{font-size:8px}html:not([lang="en"]) .practice-stats strong{font-size:9px}html:not([lang="en"]) .practice-stats small{font-size:8px}html:not([lang="en"]) .hero-kicker{font-size:7px;white-space:normal}html:not([lang="en"]) .art-caption{font-size:5px}html:not([lang="en"]) .practice-bottom a{white-space:normal}html:not([lang="en"]) .language-tabs small{font-size:7px}html:not([lang="en"]) .difficulty button{font-size:9px;padding:6px 8px}}
/* Theme controls share the same persistent header in either orientation. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);font-size:11px;white-space:nowrap}.theme-toggle>span:first-child{font-size:18px;line-height:1}.topbar-tools{gap:8px}.topbar>div:first-child{min-width:0}.topbar-tools{flex-shrink:0}.topbar .network{display:none}
html[data-theme="light"]{color-scheme:light;--bg:#f0f2f5;--panel:#fff;--line:#d7dee7;--muted:#5e6772;--text:#202934;--accent:#4278b8;--green:#267147}
html[data-theme="light"] :is(input,textarea,.language-tabs button,.challenge-row,.workbench,.code-editor,.terminal,.search,.right-card,.modal,.locale-picker select,.difficulty>div,.file-tab,.week i){background:#fff;color:var(--text);border-color:var(--line)}
html[data-theme="light"] :is(.brand,.secondary,.feed-tabs .chosen){color:var(--text)}
html[data-theme="light"] :is(nav button,.nav-link,.eyebrow,.hero-kicker,.hero-foot,.hero-copy p,.practice-stats small,.challenge-row p,.challenge-number,.practice-bottom p,.content-credit,.right-card p,.runtime-note,.manifesto,.manifesto small,.manifesto>span,.footer-links a,.tiny-label,.sidebar-bottom>p,.brand small,.community small,.post-actions button,.terminal>div,.stdin-label,.difficulty button,.difficulty>span,.week span){color:var(--muted)}
html[data-theme="light"] :is(nav button.active,.language-tabs button.selected,.difficulty button.chosen,.quiz-choices button.chosen,.community-icon,.avatar,.window-bar,.hint,.toast){background:#e7f3ff;color:#0866ff;border-color:#8abaff}
html[data-theme="light"] .primary{color:#fff}
html[data-theme="light"] .secondary{border-color:#afbbc9}
html[data-theme="light"] .practice-hero{background:linear-gradient(120deg,#eaf1fa,#e7eaf5);border-color:#c7d5e5}
html[data-theme="light"] .hero-copy h2 span{color:#4278b8}
html[data-theme="light"] .hero-art img{opacity:1}
html[data-theme="light"] .practice-bottom{background:#eaf1fa;border-color:#b6c8dd}
html[data-theme="light"] .challenge-row:hover{background:#eaf1fa}
html[data-theme="light"] .challenge-tag{background:#e3f3e8;border-color:#b3d5be;color:#27613b}
html[data-theme="light"] .challenge-brief pre{color:#404b57}
html[data-theme="light"] .code-editor{color:#163c6a;background:#f8fbff}
html[data-theme="light"] .terminal{background:#eff5f0}
html[data-theme="light"] .terminal pre{color:#245535}
html[data-theme="light"] .fruit-card{background:linear-gradient(145deg,#fff1df,#fffaf4);border-color:#e5cdb3}
html[data-theme="light"] :is(.fruit-logo,.fruit-logo small,.fruit-card>small,.fruit-logo .live-pill){color:#7e4823}
html[data-theme="light"] .fruit-cta{background:#80502c;color:#fff}
html[data-theme="light"] .avatar.blue{background:#e0eff6;color:#285b70}
html[data-theme="light"] .post-actions .liked{color:#a52c66}
html[data-theme="light"] .board-tag{color:#4278b8}
html[data-theme="light"] .sidebar{background:var(--bg)}
/* Fluid widths, safe areas, and short-screen navigation support device rotation. */
body{min-width:320px}.app-shell{min-height:100dvh}.sidebar{height:100dvh}.hero-copy h2{overflow-wrap:break-word;word-break:keep-all}.modal{max-height:calc(100dvh - 32px)}.run-toolbar,.run-toolbar>div,.composer-actions,.profile-row,.lookup{flex-wrap:wrap;gap:8px}.lookup input{min-width:140px}.challenge-brief pre{overflow-wrap:anywhere}.board-card,.rightbar{min-width:0}
@media(min-width:851px) and (max-width:1100px){.app-shell{grid-template-columns:76px minmax(0,1fr);max-width:1000px}.rightbar{display:none}}
@media(max-width:650px){.theme-name{display:none}.locale-picker>span{display:none}.locale-picker select{max-width:112px}.topbar{padding-left:16px;padding-right:16px}.topbar h1{font-size:18px}.topbar .eyebrow{letter-spacing:.5px}.section-title{flex-wrap:wrap}.language-tabs small{overflow-wrap:anywhere}.hero-copy h2{margin-right:-16px}.practice-stats{align-items:start}}
@media(max-width:550px){.sidebar{height:calc(63px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.app-shell{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.toast{bottom:calc(80px + env(safe-area-inset-bottom))}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}}
@media(orientation:landscape) and (max-height:600px){.app-shell{display:grid;grid-template-columns:64px minmax(0,1fr);max-width:1100px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.sidebar{position:sticky;top:0;bottom:auto;width:auto;height:100dvh;overflow-y:auto;padding:8px 8px 8px 0;display:flex;border:0;align-items:center}.sidebar .brand,.sidebar-bottom,.post-button{display:none}.sidebar nav{flex-direction:column;gap:2px}.sidebar nav button,.sidebar .nav-link{width:44px;min-height:40px;padding:8px;font-size:0;justify-content:center}.sidebar nav .nav-icon{font-size:22px}.sidebar nav button:nth-child(4),.sidebar nav button:nth-child(5),.sidebar nav button:nth-child(6){display:none}.rightbar{display:none}.topbar{height:67px;padding-top:10px;padding-bottom:10px}.practice-content{padding:16px}.practice-hero{min-height:230px}.hero-copy{padding-top:20px}.hero-copy h2{font-size:27px;margin-top:12px}.hero-copy p{margin-bottom:12px}.practice-stats{padding:16px 0}.code-editor{min-height:180px}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}.toast{bottom:12px}.theme-name{display:inline}}
/* Explicit layout preferences override orientation; auto retains responsive defaults. */
.layout-picker select{line-height:1.4;font-family:inherit;font-size:11px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:8px;max-width:135px;min-height:36px;cursor:pointer}.layout-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar{height:auto;min-height:91px;flex-wrap:wrap;gap:10px}.topbar-tools{flex-wrap:wrap}
html[data-layout="horizontal"] .app-shell{display:grid;grid-template-columns:64px minmax(0,1fr);max-width:1200px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}
html[data-layout="horizontal"] .sidebar{position:sticky;top:0;bottom:auto;width:auto;height:100dvh;overflow-y:auto;padding:12px 8px 12px 0;display:flex;border:0;align-items:center}
html[data-layout="horizontal"] :is(.brand,.sidebar-bottom,.post-button,.rightbar){display:none}
html[data-layout="horizontal"] .sidebar nav{flex-direction:column;gap:4px}
html[data-layout="horizontal"] .sidebar :is(nav button,.nav-link){display:flex;width:44px;min-height:40px;padding:8px;font-size:0;justify-content:center}
html[data-layout="horizontal"] .sidebar .nav-icon{font-size:22px}
html[data-layout="horizontal"] .toast{bottom:16px}
html[data-layout="vertical"] .app-shell{display:block;max-width:740px;padding:0 0 calc(80px + env(safe-area-inset-bottom))}
html[data-layout="vertical"] .rightbar{display:none}
html[data-layout="vertical"] .sidebar{position:fixed;top:auto;bottom:0;left:50%;transform:translateX(-50%);height:calc(63px + env(safe-area-inset-bottom));width:100%;max-width:740px;background:var(--bg);z-index:15;border-top:1px solid var(--line);padding:4px 7px env(safe-area-inset-bottom);display:block;overflow:visible}
html[data-layout="vertical"] :is(.brand,.sidebar-bottom,.post-button){display:none}
html[data-layout="vertical"] .sidebar nav{flex-direction:row;justify-content:space-around;gap:0}
html[data-layout="vertical"] .sidebar :is(nav button,.nav-link){display:flex;width:42px;padding:10px;justify-content:center;font-size:0;gap:0}
html[data-layout="vertical"] .sidebar nav button:nth-child(4),html[data-layout="vertical"] .sidebar nav button:nth-child(5),html[data-layout="vertical"] .sidebar nav button:nth-child(6){display:none}
html[data-layout="vertical"] .sidebar .nav-icon{font-size:24px}
html[data-layout="vertical"] .toast{bottom:calc(80px + env(safe-area-inset-bottom))}
@media(max-width:650px){.topbar-tools{width:100%;justify-content:flex-end}.topbar{padding:12px 16px;gap:8px}.layout-picker select{max-width:130px}.theme-name{display:none}}
@media(max-width:550px){html[data-layout="horizontal"] .practice-content{padding:12px}html[data-layout="horizontal"] .practice-hero{grid-template-columns:1fr}html[data-layout="horizontal"] .hero-copy{padding:20px}html[data-layout="horizontal"] .hero-copy h2{margin-right:0}html[data-layout="horizontal"] .hero-art{height:160px}html[data-layout="horizontal"] .language-tabs{grid-template-columns:1fr}html[data-layout="horizontal"] .practice-stats{grid-template-columns:1fr}html[data-layout="horizontal"] .practice-stats>div+div{border:0;padding-left:0}html[data-layout="horizontal"] .challenge-tag{display:none}html[data-layout="horizontal"] .topbar-tools{justify-content:flex-start;gap:5px}html[data-layout="horizontal"] .topbar{padding:12px}.layout-picker select{max-width:115px}}

.recovery-field{display:flex;align-items:center;gap:8px}.modal .recovery-field input{flex:1;width:0;margin:0;font-family:JetBrains,monospace}.recovery-field button{flex-shrink:0;min-height:44px}.modal label[for="recovery-phrase"]{margin-bottom:7px}

.login-required{padding:20px;border-bottom:1px solid var(--line);background:var(--panel)}.login-required p{color:var(--muted);font-size:12px;margin-bottom:10px}.code-editor[readonly]{cursor:default}

.editor-login-note{margin:0;padding:12px 16px;background:var(--panel);color:var(--accent);font-size:12px;border-top:1px solid var(--line)}
.quiz-feedback{color:var(--accent);font-size:13px;min-height:24px;margin-top:12px}.auth-button{min-height:36px;white-space:nowrap}.topbar-tools{flex-shrink:1}.practice-content>.secondary{margin-top:12px}.practice-content>.workbench{margin-top:20px}
/* Keep Practice, Playground, Profile and Home reachable on compact navigation. */
@media(max-width:550px){nav button:nth-child(4),nav button:nth-child(5),nav button:nth-child(6),nav button:nth-child(7){display:none}}
html[data-layout="vertical"] .sidebar nav button:nth-child(7){display:none}

/* Blue social desktop, Causeway Bay pixel friends. */
:root{--accent:#75b6ff;--bg:#101820;--panel:#19232e;--line:#304353;--muted:#a6b5c4}
html[data-theme="light"]{--accent:#0866ff;--bg:#f0f2f5;--panel:#fff;--line:#d4dfeb;--text:#182b40;--muted:#596b80}
.brand-icon{width:48px;height:48px;object-fit:cover;border-radius:12px;box-shadow:3px 3px 0 #0866ff}
.language-mascot{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.board-mascot{width:80px;height:80px;object-fit:contain;image-rendering:pixelated}
.primary,.post-button{background:#0866ff;color:#fff;box-shadow:0 3px 0 #003fa3}
:is(nav button.active,.language-tabs button.selected,.difficulty button.chosen,.quiz-choices button.chosen,.community-icon,.window-bar,.hint,.toast){background:#163453;color:#a6d2ff;border-color:#326596}
html[data-theme="light"] :is(nav button.active,.language-tabs button.selected,.difficulty button.chosen,.quiz-choices button.chosen,.community-icon,.window-bar,.hint,.toast){background:#e7f3ff;color:#0866ff;border-color:#8abaff}
.code-editor{color:#d9eaff}.editor-options{display:flex;flex-wrap:wrap;gap:12px 20px;padding:14px 20px;border-top:1px solid var(--line);background:var(--panel)}
.editor-options label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;min-height:32px}.editor-options input{accent-color:#0866ff;width:18px;height:18px}.editor-options small{width:100%;font-size:11px}
.run-toolbar{flex-wrap:wrap;gap:10px}.news-masthead{padding:32px;border-bottom:4px solid #0866ff;background:linear-gradient(120deg,var(--panel),#163453)}
html[data-theme="light"] .news-masthead{background:linear-gradient(120deg,#fff,#e7f3ff)}
.news-masthead h2{font-size:clamp(30px,4vw,48px);font-weight:900;letter-spacing:-1.8px;margin:12px 0}.news-masthead p{max-width:440px;color:var(--muted)}.news-links{display:flex;flex-wrap:wrap;gap:12px}.news-links button{padding:10px 14px;border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-weight:700}
.board-card{border-radius:12px;position:relative;overflow:hidden;box-shadow:3px 3px 0 #0866ff30;transition:transform .22s,box-shadow .22s}.board-card:hover{transform:translateY(-4px);box-shadow:5px 8px 0 #0866ff40}.board-card:hover .board-mascot{animation:pixel-hop .6s steps(4) infinite alternate}
.hero-art img{object-fit:cover}.post{animation:feed-in .35s ease-out}.manager-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.editor-card input{max-width:100%}
@keyframes pixel-hop{to{transform:translateY(-8px) rotate(4deg)}}@keyframes feed-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:650px){.news-masthead{padding:22px}.language-mascot{width:36px;height:36px}.editor-options{padding:12px}.brand-icon{width:36px;height:36px}}
/* Header controls: one comfortable, consistent control family. */
.topbar-tools{gap:8px;align-items:center}
.topbar-tools :is(button,select){height:42px;min-height:42px;font-size:12px;font-weight:600;letter-spacing:0;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #0001;transition:background .18s,border-color .18s,transform .18s}
.topbar-tools :is(button,select):hover{background:#1c3550;border-color:#5389be;filter:none}
.topbar-tools :is(button,select):focus-visible{outline:3px solid #0866ff66;outline-offset:2px;border-color:#75b6ff}
.topbar-tools :is(.locale-picker,.layout-picker){position:relative;display:flex;align-items:center;background:var(--panel);border-radius:12px}
.topbar-tools .locale-picker>span{display:none}
.topbar-tools :is(.locale-picker,.layout-picker)::after{content:'';position:absolute;right:14px;top:17px;width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);pointer-events:none}
.topbar-tools :is(.locale-picker,.layout-picker) select{appearance:none;-webkit-appearance:none;padding:0 34px 0 14px;max-width:none;background:var(--panel);color:var(--text);cursor:pointer;min-width:104px}
.topbar-tools .theme-toggle{padding:0 14px;gap:8px;background:var(--panel)}
.topbar-tools .theme-toggle>span:first-child{color:var(--accent);font-size:18px}
.topbar-tools .auth-button{padding:0 18px;background:#0866ff;border-color:#0866ff;color:white;box-shadow:0 3px 8px #0866ff22}
.topbar-tools .auth-button:hover{background:#0756d8;border-color:#0756d8}
html[data-theme="light"] .topbar-tools :is(button,select):hover{background:#e7f3ff;border-color:#8abaff}
html[data-theme="light"] .topbar-tools .auth-button:hover{background:#0756d8;color:#fff}
@media(max-width:650px){.topbar-tools{justify-content:flex-start;gap:7px}.topbar-tools :is(.locale-picker,.layout-picker) select{min-width:90px;font-size:11px;padding-left:10px;padding-right:26px}.topbar-tools :is(.locale-picker,.layout-picker)::after{right:11px}.topbar-tools .theme-toggle{width:42px;padding:0}.topbar-tools .auth-button{padding:0 13px}}
/* Soft iOS-inspired surfaces; pixel art remains the app's personality. */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0)}
.topbar{background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
:is(.right-card,.board-card,.workbench,.snippet-card,.editor-card,.modal){border-radius:20px;border:1px solid var(--line);box-shadow:0 8px 32px #00000012}
:is(.primary,.secondary){border-radius:12px;min-height:42px;transition:background .2s var(--ease-out),border-color .2s var(--ease-out)}
.primary,.post-button{box-shadow:0 4px 12px #0866ff24}.post-button{border-radius:15px}
.sidebar nav button,.sidebar .nav-link{border-radius:14px}.feed-tabs{padding:5px;gap:4px;background:var(--panel)}.feed-tabs button{border-radius:10px}.feed-tabs .chosen{background:#0866ff18}
.wallet-badge{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:10px 24px;background:var(--panel);border-bottom:1px solid var(--line);font-size:11px}.wallet-badge>span{font-weight:700;color:var(--accent)}.wallet-badge code{font-size:10px;overflow-wrap:anywhere}.wallet-badge button{margin-left:auto;font-size:11px}
.social-links{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.social-links a,.snippet-tags button{padding:6px 12px;border:1px solid var(--line);background:var(--panel);border-radius:20px;font-size:12px;color:var(--accent)}
.social-links-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-links-editor p{grid-column:1/-1}.social-links-editor label,.snippet-compose label,.tip-panel label{display:flex;flex-direction:column;gap:7px;font-size:12px}.social-links-editor input{width:100%}
.snippet-compose{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--panel);margin:22px 0}.snippet-compose summary{font-weight:700;color:var(--accent);cursor:pointer;min-height:28px}.snippet-compose label{margin:16px 0}.snippet-compose select{padding:12px;border-radius:12px;background:var(--bg);color:var(--text);border:1px solid var(--line)}.snippet-compose textarea{width:100%;min-height:190px}.tag-filter{display:flex;align-items:center;gap:12px;margin:20px 0;font-size:12px}.tag-filter input{max-width:200px}.snippet-card{padding:22px;margin:20px 0;background:var(--panel)}.snippet-byline{display:flex;align-items:center;gap:12px}.snippet-byline h3{margin-bottom:2px}.snippet-byline button{padding:0}.shared-code{overflow:auto;background:var(--bg);padding:18px;border-radius:14px;font:12px/1.7 JetBrains,monospace;max-height:500px;tab-size:4}.snippet-tags,.snippet-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.snippet-actions a{font-size:12px}.tip-panel{margin-top:16px;padding:18px;border:1px solid #0866ff55;border-radius:16px;background:#0866ff0a}.tip-panel code{overflow-wrap:anywhere;font-size:11px}.tip-panel label{margin:12px 0}.tip-panel button{margin:0 8px 8px 0}
@media(max-width:650px){.social-links-editor{grid-template-columns:1fr}.wallet-badge{padding:10px 16px}.wallet-badge code{width:100%;font-size:10px}.snippet-card{padding:16px}.sidebar nav{overflow-x:auto}.sidebar nav button{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:650px){.sidebar nav{overflow-x:auto;justify-content:flex-start;max-width:100%;scrollbar-width:none}.sidebar nav button{display:flex!important;flex-shrink:0;min-width:48px}}
html[data-layout="vertical"] .sidebar nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}html[data-layout="vertical"] .sidebar nav button{display:flex!important;flex-shrink:0;min-width:48px}
.wallet-address{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid transparent;border-radius:10px;text-align:left;cursor:copy;color:var(--text)}
.wallet-address:hover{background:#0866ff14;border-color:#0866ff44;filter:none}.wallet-address code{font-size:11px;overflow-wrap:anywhere;white-space:normal;min-width:0}.wallet-address>span{flex-shrink:0;color:var(--accent);font-size:17px}
.wallet-badge .wallet-address{margin-left:0}.wallet-badge .wallet-address code{width:auto;font-size:11px}
@media(max-width:650px){.wallet-badge .wallet-address{width:100%;padding-left:0;justify-content:space-between}.wallet-badge .wallet-address code{font-size:11px}}
/* iPhone navigation: four labeled destinations plus a full, scrollable menu. */
.mobile-nav,.mobile-menu-trigger{display:none}
.mobile-menu{box-sizing:border-box;width:min(100% - 20px,540px);max-height:min(82dvh,740px);margin:auto auto max(10px,env(safe-area-inset-bottom));padding:24px;border:1px solid var(--line);border-radius:28px;background:var(--panel);color:var(--text);box-shadow:0 20px 80px #0005;overflow:auto;overscroll-behavior:contain}
.mobile-menu::backdrop{background:#08172d66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.mobile-menu:not([open]){display:none}.menu-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.menu-sheet-heading h2{font-size:26px;margin:5px 0 0}.menu-close{width:44px;height:44px;border-radius:50%;font-size:28px;background:var(--bg);color:var(--text)}
.menu-grid{display:grid;gap:5px}.menu-grid :is(button,a){display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:12px;border:0;border-radius:14px;text-align:left;font-size:15px;color:var(--text);background:transparent}.menu-grid :is(button,a)>span:first-child{display:grid;place-items:center;width:32px;color:var(--accent);font-size:23px}.menu-grid strong{flex:1;font-weight:600}.menu-grid :is(button,a)>span:last-child{color:var(--muted)}.menu-grid button.active{background:#0866ff14;color:var(--accent)}
@media(max-width:1000px){
 html body{overflow-x:hidden}.app-shell,html[data-layout="horizontal"] .app-shell,html[data-layout="vertical"] .app-shell{display:block!important;min-width:0!important;width:100%!important;max-width:100%;padding:0!important}.app-shell>.sidebar,.app-shell>.rightbar{display:none!important}.app-shell>main{min-width:0;width:100%;border:0;padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 .mobile-nav{position:fixed;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));bottom:0;left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--line);box-shadow:0 -4px 20px #00000008}
 .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;min-width:0;padding:6px 3px;border-radius:14px;color:var(--muted)}.mobile-nav button>span:first-child{font-size:23px;line-height:25px}.mobile-nav button>span:last-child{font-size:11px;font-weight:650;line-height:1.25;white-space:normal}.mobile-nav button.active{color:var(--accent);background:#0866ff0d}
 .mobile-menu-trigger{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;margin-left:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;font-size:13px;font-weight:650}.mobile-menu-trigger>span{font-size:18px}.topbar{padding:18px 18px 14px;gap:12px}.topbar-tools{width:100%;justify-content:flex-start;gap:8px;flex-wrap:wrap}.topbar h1{font-size:23px}.topbar-tools :is(button,select){min-height:44px;height:44px}.topbar-tools :is(.locale-picker,.layout-picker) select{font-size:13px;min-width:100px}.topbar-tools .auth-button{margin-left:auto;color:#fff!important}.topbar-tools .theme-toggle{width:44px}.practice-content{padding:22px 18px}.practice-content>h2{font-size:25px;line-height:1.25}.practice-content>.muted{font-size:14px;line-height:1.75}.runtime-note{font-size:11px;line-height:1.65}.language-tabs{gap:8px}.language-tabs button{min-height:74px;padding:12px 8px}.language-tabs strong,.practice-content>.language-tabs button{font-size:13px}.language-mascot{width:34px;height:34px}.code-editor{font-size:14px;line-height:1.75;min-height:260px;padding:18px}.run-toolbar{gap:8px;padding:14px}.run-toolbar button{min-height:44px}.toast{bottom:calc(86px + env(safe-area-inset-bottom))}.wallet-badge{padding:12px 18px}.wallet-badge>span{font-size:12px}.wallet-badge .wallet-address code{font-size:11px}
}
/* Light mode: warm-white page, crisp white cards, readable navy and calm blue. */
html[data-theme="light"]{color-scheme:light;--bg:#f6f8fc;--panel:#ffffff;--text:#172b4d;--muted:#5c6d85;--line:#e0e7f0;--accent:#0866df}
html[data-theme="light"] body{background:var(--bg);color:var(--text)}
html[data-theme="light"] .topbar{background:#ffffffed;border-bottom:1px solid var(--line)}
html[data-theme="light"] :is(.workbench,.right-card,.board-card,.snippet-card,.editor-card,.modal){background:#fff;border-color:var(--line);box-shadow:0 5px 24px #203b5b08}
html[data-theme="light"] :is(.primary,.post-button,.topbar-tools .auth-button){background:#0866e8;color:#fff!important;border-color:#0866e8;box-shadow:0 3px 10px #0866e820}
html[data-theme="light"] :is(.secondary,.theme-toggle,.mobile-menu-trigger,.topbar-tools select){background:#fff;color:#26415f;border-color:#dce5f0;box-shadow:0 1px 3px #203b5b06}
html[data-theme="light"] :is(.language-tabs button.selected,.difficulty button.chosen,.quiz-choices button.chosen){background:#eaf3ff;color:#075ac7;border-color:#8fbcf4;box-shadow:inset 0 0 0 1px #b4d2f8}
html[data-theme="light"] .file-tab{background:#edf3fa;color:#415975;border-bottom:1px solid #dce6f1;padding:13px 18px}
html[data-theme="light"] .code-editor{background:#fff;color:#153652;border:0;border-radius:0}
html[data-theme="light"] .terminal{background:#f1f6fc;color:#183a5c;border-color:#dce6f1}
html[data-theme="light"] .terminal pre{color:#183a5c}
html[data-theme="light"] :is(.editor-options,.stdin-label,.run-toolbar){background:#f8faff;border-color:#e0e7f0}
html[data-theme="light"] .wallet-badge{background:#fff;border-color:#e5ebf3}
html[data-theme="light"] .mobile-nav{background:#ffffffed;border-top-color:#e1e8f1}
html[data-theme="light"] .mobile-nav button.active{background:#e9f2ff;color:#0866df}
html[data-theme="light"] .mobile-menu{background:#fff;box-shadow:0 20px 80px #17395b26}
html[data-theme="light"] .menu-close{background:#f0f4fa;color:#26415f}
html[data-theme="light"] .toast{background:#173f72;color:#fff;border-color:#173f72;box-shadow:0 6px 24px #173f7230}
html[data-theme="light"] .news-masthead{background:linear-gradient(120deg,#fff,#edf5ff);border-bottom-color:#0866e8}
html[data-theme="light"] .hero-copy h2 span{color:#0866df}
/* Override legacy icon-only nav rules for the new labeled navigation. */
.mobile-nav button{display:flex!important;width:100%!important;font-size:12px!important}
.mobile-nav button>span:last-child{white-space:nowrap}
.menu-grid button{display:flex!important;width:100%!important;font-size:15px!important}
.menu-grid .nav-icon{font-size:23px}
@media(max-width:1000px){input,textarea{font-size:16px}.code-editor{font-size:16px}}
.menu-grid{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;width:100%;margin:0;padding:0;gap:4px}
.menu-grid :is(button,a){justify-content:flex-start;height:auto;min-height:48px;padding:10px 12px;margin:0}

@media(max-width:1000px){.app-shell>main{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-nav{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.topbar{padding-top:max(18px,env(safe-area-inset-top))}}
@media(max-width:1000px){.topbar-tools>button.secondary:not(.auth-button){display:none}}

@media(min-width:651px) and (max-width:1000px){.topbar-tools .theme-toggle{width:auto;min-width:88px;flex-shrink:0}}

/* Social profiles: readable identity, visible relationships, focused timeline. */
.social-profile-cover{height:210px;position:relative;overflow:hidden;background:#0c345e}.social-profile-cover img{width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.72}.social-profile-cover>span{position:absolute;right:22px;bottom:20px;color:white;font:11px monospace;letter-spacing:2px;text-shadow:0 1px 4px #000}
.social-profile-info{padding:0 26px 24px}.profile-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:-42px;position:relative}.social-profile-avatar{display:grid;place-items:center;width:100px;height:100px;flex-shrink:0;border:5px solid var(--bg);border-radius:50%;background:linear-gradient(135deg,#0866df,#36b5df);color:white;font-size:40px;font-weight:800;box-shadow:0 8px 22px #0002}.profile-toolbar>div{display:flex;gap:8px;padding-bottom:5px}.profile-toolbar button{border-radius:24px;min-height:42px;padding:10px 18px}.social-profile-info h2{font-size:26px;margin:16px 0 4px}.profile-handle{color:var(--muted);margin:0 0 16px;overflow-wrap:anywhere}.profile-bio{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.profile-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:13px}.profile-meta a{overflow-wrap:anywhere}.profile-counts{display:flex;gap:20px;align-items:center;margin:20px 0}.profile-counts button,.profile-counts>span{padding:0;background:transparent;border:0;font-size:14px;color:var(--muted)}.profile-counts strong{color:var(--text)}.profile-counts button:hover{text-decoration:underline}.profile-wallet{font-size:12px;margin:14px 0;color:var(--muted)}.profile-wallet summary{cursor:pointer}.profile-chat{display:inline-block;font-size:13px;margin-top:10px}.profile-content-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:2}.profile-content-tabs button{padding:18px 4px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:14px;border-bottom:3px solid transparent}.profile-content-tabs .chosen{color:var(--accent);font-weight:700;border-bottom-color:var(--accent)}.post-actions{flex-wrap:wrap;gap:8px}.post-actions .reposted{color:#13a579}.profile-connections{padding:20px 26px}.connection-card{display:flex;flex-direction:column;text-align:left;gap:6px;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--line);background:transparent}.connection-card span,.connection-card small{color:var(--muted)}.connection-card:hover strong{color:var(--accent)}.social-profile-info .editor-card label{display:flex;flex-direction:column;gap:8px;margin:12px 0;font-size:13px}
@media(max-width:650px){.social-profile-cover{height:160px}.social-profile-info{padding:0 18px 20px}.social-profile-avatar{width:82px;height:82px;font-size:32px}.profile-toolbar{margin-top:-30px}.profile-toolbar>div{gap:5px;flex-wrap:wrap;justify-content:flex-end}.profile-toolbar button{padding:9px 12px;font-size:12px}.social-profile-info h2{font-size:24px}.profile-counts{gap:16px}.profile-content-tabs button{font-size:12px}.profile-connections{padding:16px 18px}}

.feed-pagination{padding:24px;text-align:center}.feed-pagination button{min-height:44px;padding:12px 28px}

.program-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 12px}.program-toolbar button{min-height:44px;min-width:78px;border-radius:14px}.program-toolbar .program-delete{margin-left:auto;color:#cc4057}.program-file{display:flex;justify-content:space-between;gap:16px;align-items:center}.program-file strong{overflow-wrap:anywhere}.program-file span{color:var(--muted);font-size:11px;white-space:nowrap}.program-library{padding:16px 18px;margin:14px 0;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.program-library summary{font-weight:650;cursor:pointer}.program-library p{font-size:12px}.program-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto;margin-top:12px}.program-list button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:12px}.program-list strong{overflow-wrap:anywhere}.program-list span{font-size:11px;color:var(--muted)}.program-list button.selected{border-color:var(--accent);color:var(--accent)}.program-rename{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:16px;border:1px solid var(--line);border-radius:16px}.program-rename label{display:flex;flex:1;min-width:160px;flex-direction:column;gap:8px;font-size:13px}.program-rename input{width:100%;min-height:44px}.program-rename button{min-height:44px}.program-status{padding:12px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;font-size:13px;overflow-wrap:anywhere}
@media(max-width:650px){.program-toolbar{gap:7px}.program-toolbar button{min-width:0;flex:1;padding:10px 8px;font-size:13px}.program-toolbar .program-delete{margin:0}.program-list{grid-template-columns:1fr}.program-file{align-items:flex-start;flex-direction:column;gap:6px}}

/* Editor fonts reused from CausewaybayHacker; licenses in /fonts. */
@font-face{font-family:DLCIosevka;src:url('/fonts/Iosevka-Code.woff2');font-display:swap}
@font-face{font-family:DLCVictor;src:url('/fonts/VictorMono-Regular.woff2');font-display:swap}
@font-face{font-family:DLCFantasque;src:url('/fonts/FantasqueSansMono-Regular.woff2');font-display:swap}
@font-face{font-family:DLCNeoDGM;src:url('/fonts/neodgm_code.woff2');font-display:swap}
@font-face{font-family:DLCMSX;src:url('/fonts/MSX1-Code.woff2');font-display:swap}
@font-face{font-family:DLCAppleII;src:url('/fonts/PRNumber3.ttf');font-display:swap}
@font-face{font-family:DLCGalmuri;src:url('/fonts/GalmuriMono11.woff2');font-display:swap}
.workbench .code-editor,.workbench .stdin-label textarea,.workbench .terminal pre{font-family:var(--editor-font,JetBrains),monospace;font-size:var(--editor-size,16px);line-height:1.65;font-variant-ligatures:none}
.editor-type-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 18px;background:var(--panel);border-bottom:1px solid var(--line)}
.editor-type-controls button,.editor-type-controls select{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);padding:8px 12px;font-size:14px}
.editor-type-controls label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.editor-type-controls output{min-width:42px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
@media(max-width:650px){.editor-type-controls{padding:12px;gap:6px}.editor-type-controls label{flex:1 1 100%}.editor-type-controls select{flex:1;min-width:0}}
/* The native textarea retains selection/IME/accessibility; its inert mirror supplies syntax ink. */
.syntax-editor{position:relative;min-width:0;background:#0b0e14;color:#d9eaff}
.workbench .syntax-editor .code-editor,.workbench .syntax-editor .syntax-colors{box-sizing:border-box;width:100%;margin:0;border:0;border-radius:0;padding:20px;font-family:var(--editor-font,JetBrains),monospace;font-size:var(--editor-size,16px);font-weight:400;font-style:normal;line-height:1.65;letter-spacing:normal;font-variant-ligatures:none;tab-size:4;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;text-align:left}
.workbench .syntax-editor .syntax-colors{position:absolute;inset:0;height:100%;overflow:hidden;pointer-events:none;color:inherit;background:transparent}
.workbench .syntax-editor .code-editor{position:relative;display:block;min-height:320px;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:#d9eaff;resize:vertical;overflow:auto}
.syntax-editor .code-editor::selection{background:#357bc966}
.syntax-editor .tok-keyword{color:#c792ea}.syntax-editor .tok-string,.syntax-editor .tok-string2{color:#a8d58b}.syntax-editor .tok-comment{color:#8b9bb0}.syntax-editor .tok-number,.syntax-editor .tok-bool,.syntax-editor .tok-atom{color:#f5bc76}.syntax-editor .tok-typeName,.syntax-editor .tok-className{color:#6fd4d0}.syntax-editor .tok-function,.syntax-editor .tok-definition{color:#82baff}.syntax-editor .tok-meta,.syntax-editor .tok-operator{color:#efb6dc}
html[data-theme="light"] .syntax-editor{background:#fff;color:#153652}
html[data-theme="light"] .workbench .syntax-editor .code-editor{color:transparent;background:transparent;caret-color:#153652}
html[data-theme="light"] .syntax-editor .tok-keyword{color:#8540a7}html[data-theme="light"] .syntax-editor .tok-string,html[data-theme="light"] .syntax-editor .tok-string2{color:#26733d}html[data-theme="light"] .syntax-editor .tok-comment{color:#617186}html[data-theme="light"] .syntax-editor .tok-number,html[data-theme="light"] .syntax-editor .tok-bool,html[data-theme="light"] .syntax-editor .tok-atom{color:#9c520a}html[data-theme="light"] .syntax-editor .tok-typeName,html[data-theme="light"] .syntax-editor .tok-className{color:#087a78}html[data-theme="light"] .syntax-editor .tok-function,html[data-theme="light"] .syntax-editor .tok-definition{color:#155db5}html[data-theme="light"] .syntax-editor .tok-meta,html[data-theme="light"] .syntax-editor .tok-operator{color:#9b376b}
@media(forced-colors:active){.syntax-colors{display:none}.workbench .syntax-editor .code-editor{color:CanvasText;-webkit-text-fill-color:CanvasText;caret-color:CanvasText}}
.workbench .syntax-editor .syntax-colors{overflow-y:scroll;scrollbar-color:transparent transparent}
.syntax-colors::-webkit-scrollbar-thumb,.syntax-colors::-webkit-scrollbar-track{background:transparent}
