:root{color:#2c2017;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#f7c1844d,#0000 36%),linear-gradient(#f6eee2 0%,#efe1cd 100%);font-family:Trebuchet MS,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{font-family:inherit}h1,h2{color:#20170f;margin:0;line-height:1.1}h1{font-size:clamp(2.4rem,6vw,4.8rem)}h2{font-size:clamp(1.35rem,4vw,2rem)}p,li{font-size:1rem}#root{min-height:100vh}.app-shell{width:min(1360px,100% - 2rem);margin:0 auto;padding:1.5rem 0 4rem}.app-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.topbar-left{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.topbar-right{justify-content:flex-end;display:flex;position:relative}.eyebrow{color:#c55d2d;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.88rem;font-weight:700}.view-tabs{background:#fffbf4e0;border:1px solid #d7cab2;border-radius:999px;gap:.35rem;padding:.28rem;display:inline-flex}.view-tab{color:#5a4839;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:.52rem .95rem;font-weight:700}.view-tab.active{color:#fff9f2;background:#2c5d50}.view-tab:disabled{cursor:not-allowed;opacity:.56}.play-layout{gap:1rem;display:grid}.workspace-grid{grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);align-items:start;gap:1rem;display:grid}.board-column{align-content:start;display:grid}.objective-bar,.editor-toolbar{background:#fffbf4eb;border:1px solid #d7cab2;border-radius:1.35rem;box-shadow:0 18px 40px #37271414}.objective-bar{background:radial-gradient(circle at 100% 0,#d8662f1f,#0000 36%),#fffbf4f2;gap:.65rem;padding:.8rem .9rem .85rem;display:grid}.objective-main{justify-content:space-between;align-items:flex-start;gap:.9rem;display:flex}.objective-copy{gap:.22rem;display:grid}.objective-meta{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.objective-stage{color:#235246;background:#2c5d501a;border-radius:999px;align-items:center;padding:.32rem .66rem;font-size:.8rem;font-weight:700;display:inline-flex}.objective-title{color:#22170f;margin:0;font-size:clamp(1.1rem,2.2vw,1.45rem)}.objective-body{color:#5a4839;max-width:62ch;margin:0;line-height:1.45}.objective-side{gap:.55rem;min-width:210px;display:grid}.objective-progress{gap:.42rem;display:grid}.objective-progress-head{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;gap:.8rem;font-size:.78rem;font-weight:700;display:flex}.objective-progress-head strong{color:#2c2017}.objective-progress-track{background:#d7cab273;border-radius:999px;height:.52rem;overflow:hidden}.objective-progress-fill{border-radius:inherit;background:linear-gradient(135deg,#d8662f 0%,#f1aa4f 100%);height:100%;display:block}.objective-action{justify-self:end}.objective-toggle-row{flex-wrap:wrap;gap:.45rem;display:flex}.objective-toggle{padding:.48rem .8rem}.objective-detail-row{gap:.65rem;display:grid}.objective-spotlight-strip{scrollbar-width:thin;gap:.65rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.objective-detail-card{background:#ffffffb8;border-radius:1rem;gap:.45rem;padding:.9rem .95rem;display:grid}.objective-detail-card span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.76rem;font-weight:700}.objective-detail-card p{color:#4f3e31;margin:0;line-height:1.55}.objective-primer-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.objective-primer-card{background:#fffbf4eb;border:1px solid #d7cab2b8;border-radius:.95rem;gap:.5rem;padding:.8rem .85rem;display:grid}.objective-primer-card strong{color:#2c2017}.objective-primer-card p{color:#5a4839;margin:0;line-height:1.5}.objective-primer-syntax{gap:.28rem;display:grid}.objective-primer-syntax code{color:#fff7ec;background:#2e3038eb;border-radius:.8rem;padding:.55rem .65rem;overflow-x:auto}.objective-spotlight-card{background:#fffbf4db;border:1px solid #d7cab2b3;border-radius:1rem;flex:0 0 min(18rem,78vw);gap:.3rem;padding:.72rem .8rem;display:grid}.objective-spotlight-card code{color:#2c2017;font-weight:700}.objective-spotlight-card p{color:#5a4839;margin:0;font-size:.94rem;line-height:1.4}.objective-spotlight-example{color:#7a6452;font-family:Consolas,Courier New,monospace;font-size:.78rem;line-height:1.35}.next-step-card{background:radial-gradient(circle at 100% 0,#d8662f1f,#0000 38%),#fffbf4eb;border:1px solid #d7cab2;border-radius:1.35rem;gap:.9rem;padding:1.15rem 1.2rem;display:grid;box-shadow:0 18px 40px #37271414}.next-step-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.next-step-title{color:#22170f;margin:.35rem 0 0;font-size:clamp(1.2rem,2vw,1.65rem)}.next-step-stage{color:#a24a20;background:#d8662f1f;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}.next-step-body{color:#5a4839;margin:0;line-height:1.6}.next-step-progress{gap:.5rem;display:grid}.next-step-progress-header{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;font-size:.82rem;font-weight:700;display:flex}.next-step-progress-header strong{color:#2c2017}.next-step-progress-track{background:#d7cab273;border-radius:999px;width:100%;height:.56rem;overflow:hidden}.next-step-progress-fill{border-radius:inherit;background:linear-gradient(135deg,#d8662f 0%,#f1aa4f 100%);height:100%;display:block}.next-step-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.next-step-detail-card,.next-step-snippet{background:#ffffffb8;border-radius:1rem;gap:.45rem;padding:.95rem 1rem;display:grid}.next-step-detail-card span,.next-step-snippet span,.intro-checklist span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.next-step-detail-card p{color:#4f3e31;margin:0;line-height:1.6}.next-step-snippet pre{color:#fdf6ea;background:linear-gradient(#362b23 0%,#221914 100%);border-radius:.95rem;margin:0;padding:.95rem 1rem;overflow-x:auto}.next-step-action{justify-self:start}.points-chip{color:#4b3728;background:#fffbf4eb;border:1px solid #d7cab2;border-radius:999px;align-items:center;gap:.55rem;padding:.58rem .9rem;display:inline-flex}.points-chip-icon{background:radial-gradient(circle at 35% 35%,#ffd9a8 0%,#d8662f 70%,#a8421f 100%);border-radius:999px;width:.72rem;height:.72rem;box-shadow:0 0 0 3px #d8662f1f}.points-chip strong{color:#20170f;font-size:1rem}.points-chip-secondary{color:#6a5544;box-shadow:none;background:#fffbf4b8}.points-chip-secondary .points-chip-icon{filter:saturate(.82);box-shadow:0 0 0 3px #d8662f14}.point-mark{vertical-align:middle;background:radial-gradient(circle at 35% 35%,#ffd9a8 0%,#d8662f 70%,#a8421f 100%);border-radius:999px;width:.72rem;height:.72rem;margin-left:.24rem;display:inline-block;box-shadow:0 0 0 2px #d8662f1f}.point-cost-text{align-items:center;gap:.18rem;display:inline-flex}.point-cost-value{color:#2c2017;align-items:center;font-weight:700;display:inline-flex}.language-switcher{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.language-label{color:#6a5544;font-size:.92rem}.language-button{color:#4b3728;cursor:pointer;background:#fffbf4e6;border:1px solid #d7cab2;border-radius:999px;padding:.45rem .9rem;transition:background .18s,color .18s,border-color .18s}.language-button.active{color:#fff9f2;background:#2c5d50;border-color:#2c5d50}.settings-button,.settings-toggle{color:#4b3728;cursor:pointer;font:inherit;background:#fffbf4eb;border:1px solid #d7cab2;border-radius:999px;padding:.45rem .9rem;transition:background .18s,color .18s,border-color .18s,transform .18s}.settings-button{min-width:7.75rem;font-weight:700}.settings-button.active,.settings-toggle.active{color:#fff9f2;background:#2c5d50;border-color:#2c5d50}.settings-panel{z-index:25;background:radial-gradient(circle at 100% 0,#d8662f24,#0000 34%),#fffaf4fa;border:1px solid #d7cab2;border-radius:1.2rem;gap:.9rem;width:min(360px,100vw - 1rem);padding:1rem;display:grid;position:absolute;top:calc(100% + .7rem);right:0;box-shadow:0 22px 60px #20170f2e}.settings-header,.settings-row{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.settings-close,.settings-reset{white-space:nowrap;padding:.5rem .8rem}.settings-section{border-top:1px solid #d7cab2b3;gap:.55rem;padding-top:.9rem;display:grid}.settings-section:first-of-type{border-top:0;padding-top:0}.settings-section-label{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.settings-section-body{color:#5a4839;max-width:28ch;margin:.25rem 0 0;line-height:1.5}.settings-toggle{justify-items:center;gap:.1rem;min-width:7.25rem;display:grid}.settings-toggle span{letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:700}.settings-toggle strong{font-size:.96rem}.view-tab:focus-visible,.language-button:focus-visible,.settings-button:focus-visible,.settings-toggle:focus-visible,.run-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.help-fab:focus-visible,.help-entry-button:focus-visible,.reference-summary:focus-visible,.task-code-entry:focus-visible{outline-offset:3px;outline:3px solid #2c5d5052}.goal-band,.editor-shell,.controls,.activity-feed,.shop-shell,.syntax-card,.board-shell{background:#fffbf4e6;border:1px solid #d7cab2;border-radius:1.5rem;box-shadow:0 18px 40px #37271414}.goal-band{background:radial-gradient(circle at 100% 0,#d8662f24,#0000 32%),linear-gradient(#fffaf4 0%,#f7eee0 100%);grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:1.15rem 1.4rem;margin-bottom:1.2rem;padding:1.3rem 1.45rem 1.4rem;display:grid}.goal-band-main{gap:.4rem;display:grid}.goal-band-order{color:#8f6b52;margin:0;font-size:.92rem;font-weight:700}.goal-band-title{color:#22170f;margin:0;font-size:clamp(2rem,4.2vw,3rem);line-height:.96}.goal-band-module{flex-wrap:wrap;align-items:center;gap:.55rem;margin:.2rem 0 0;display:inline-flex}.goal-band-module span{color:#8f6b52;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:700}.goal-band-module strong{color:#2c2017}.goal-band-meta{align-content:start;gap:.8rem;display:grid}.goal-band-chip,.goal-band-meter{background:#ffffffb8;border-radius:1rem;padding:.95rem 1rem}.goal-band-chip span,.goal-band-meter span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700;display:block}.goal-band-chip strong,.goal-band-meter strong{color:#2c2017;font-size:1rem}.goal-band-meter{gap:.55rem;display:grid}.goal-band-meter-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.goal-band-meter-track{background:#d5bfa37a;border-radius:999px;width:100%;height:.52rem;overflow:hidden}.goal-band-meter-fill{border-radius:inherit;background:linear-gradient(135deg,#d8662f 0%,#a8421f 100%);height:100%;display:block}.goal-band-details{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:0;display:grid}.goal-band-details div,.goal-band-values,.goal-band-snippet{background:#ffffffa8;border-radius:1rem;padding:.95rem 1rem}.goal-band-details dt,.goal-band-values span,.goal-band-snippet span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.goal-band-details dd{color:#2c2017;margin:.3rem 0 0;line-height:1.55}.goal-band-values,.goal-band-snippet,.goal-band-actions{grid-column:1/-1}.goal-band-value-list{flex-wrap:wrap;gap:.55rem;margin-top:.8rem;display:flex}.goal-band-value{color:#2c2017;background:#2c5d5014;border-radius:999px;padding:.42rem .75rem}.goal-band-snippet pre{color:#fdf6ea;background:linear-gradient(#362b23 0%,#221914 100%);border-radius:1rem;margin:.8rem 0 0;padding:1rem 1.05rem;overflow-x:auto}.goal-band-snippet code{font-family:Consolas,Courier New,monospace;font-size:.95rem;line-height:1.55}.goal-band-actions{flex-wrap:wrap;gap:.75rem;display:flex}.editor-column,.utility-column{align-content:start;gap:1rem;display:grid}.editor-shell{overflow:hidden}.terminal-bar{background:#2d241d;gap:.4rem;padding:.9rem 1rem;display:flex}.terminal-bar span{background:#f2d2a2;border-radius:999px;width:.7rem;height:.7rem}.terminal-bar span:nth-child(2){background:#f0b07a}.terminal-bar span:nth-child(3){background:#d67a4e}.editor-header{border-bottom:1px solid #d7cab2b3;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.2rem .9rem;display:flex}.editor-title-group{gap:.35rem;display:grid}.editor-title-group h2{margin:0}.editor-badges{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.editor-lock-badge,.editor-line-badge{border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.88rem;font-weight:700;display:inline-flex}.editor-lock-badge{color:#a24a20;background:#d8662f26}.editor-lock-badge.unlocked{color:#1d6a35;background:#357e4b24}.editor-lock-badge.readonly{color:#1f5f8f;background:#215f8f24}.editor-line-badge{color:#235246;background:#2c5d501f}.editor-help{color:#5a4839;margin:0}.code-editor{overflow:hidden}.code-editor .cm-editor{min-height:236px;font-size:1rem}.editor-shell.helper-editor .code-editor .cm-editor{min-height:148px}.code-editor .cm-focused{outline-offset:-3px;outline:3px solid #2c5d5052}.code-editor .cm-scroller{min-height:236px;font-family:Consolas,Courier New,monospace}.editor-shell.helper-editor .code-editor .cm-scroller{min-height:148px;max-height:148px}.code-editor .cm-line.cm-executing-line{background:#d8662f2e;box-shadow:inset 3px 0 #d8662f}.editor-feedback{border-top:1px solid #d7cab2b3;margin:0;padding:.95rem 1.2rem 1.15rem;font-weight:600}.editor-feedback.success{color:#174b2d;background:#e7f6ed}.editor-feedback.warning{color:#8c4b16;background:#fff1dd}.editor-feedback.error{color:#7a271e;background:#fdeceb}.panel-kicker{color:#8f6b52;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.84rem;font-weight:700}.controls,.shop-shell{background:linear-gradient(#fff7ec 0%,#f7ede1 100%);gap:1rem;padding:1.25rem 1.3rem;display:grid}.controls{gap:.8rem}.editor-toolbar{justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.editor-toolbar-main{gap:.6rem;display:grid}.editor-toolbar-stats{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.editor-stat,.auto-run-toggle{color:#2c2017;background:#2c5d5014;border-radius:999px;align-items:center;gap:.38rem;padding:.42rem .75rem;display:inline-flex}.editor-stat strong,.auto-run-toggle strong{color:#22170f}.auto-run-toggle{cursor:pointer;font:inherit;border:1px solid #0000;font-weight:700}.auto-run-toggle.active{background:#2c5d5029;border-color:#2c5d5033}.editor-toolbar-actions{justify-items:end;gap:.75rem;display:grid}.run-summary{color:#5a4839;text-align:right;margin:0;line-height:1.45}.run-summary span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.76rem;font-weight:700;display:block}.control-stats{gap:.8rem;margin:0;display:grid}.control-stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.control-stats div{background:#ffffffa3;border-radius:1rem;padding:.9rem .95rem}.control-stats dt{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.82rem;font-weight:700}.control-stats dd{color:#2c2017;margin:.35rem 0 0;font-weight:700}.run-button,.secondary-button,.ghost-button{font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.95rem 1.2rem;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .18s}.run-button{color:#fff9f2;background:linear-gradient(135deg,#d8662f 0%,#a8421f 100%);width:100%;box-shadow:0 14px 24px #a8421f47}.run-button.compact{width:auto;min-width:220px}.secondary-button{color:#fff9f2;background:#2c5d50;justify-self:start;box-shadow:0 14px 24px #2c5d5038}.ghost-button{color:#5a4839;box-shadow:none;background:#ffffffa3}.run-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.run-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.syntax-card{gap:1rem;padding:1rem 1.1rem;display:grid}.reference-section{background:#ffffff8f;border-radius:1rem}.reference-section+.reference-section{margin-top:-.15rem}.reference-summary{cursor:pointer;color:#5a4839;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;font-weight:700;list-style:none;display:flex}.reference-summary::-webkit-details-marker{display:none}.reference-summary:after{content:"+";color:#a24a20;font-size:1.05rem}.reference-section[open] .reference-summary:after{content:"-"}.reference-content{gap:.85rem;padding:0 1rem 1rem;display:grid}.syntax-group{gap:.55rem;display:grid}.syntax-group-label{color:#8f6b52;letter-spacing:.08em;text-transform:uppercase;font-size:.84rem;font-weight:700}.syntax-chip-list{flex-wrap:wrap;gap:.55rem;display:flex}.syntax-chip{color:#2c2017;background:#2c5d5014;border-radius:999px;padding:.38rem .72rem}.syntax-empty{color:#5a4839;margin:0}.reference-value-list,.reference-example-list{gap:.75rem;display:grid}.reference-value-card,.reference-example-card{background:#fffbf4d1;border-radius:.9rem;gap:.45rem;padding:.85rem .9rem;display:grid}.reference-value-header{align-items:center;gap:.55rem;display:flex}.reference-value-header code{color:#2c2017;background:#2c5d5014;border-radius:999px;padding:.32rem .68rem}.reference-value-card p{color:#5a4839;margin:0;line-height:1.55}.reference-value-card.tone-center_ball,.objective-spotlight-card.tone-center_ball{background:radial-gradient(circle at 100% 0,#69d6802e,#0000 48%),#fffbf4db}.reference-value-card.tone-portal_ball,.objective-spotlight-card.tone-portal_ball{background:radial-gradient(circle at 100% 0,#62b7ff29,#0000 48%),#fffbf4db}.reference-value-card.tone-blue_portal,.objective-spotlight-card.tone-blue_portal{background:radial-gradient(circle at 100% 0,#42a3ff33,#0000 48%),#f6fbffe6;border-color:#78b6ebb8}.reference-value-card.tone-negative_ball,.objective-spotlight-card.tone-negative_ball{background:radial-gradient(circle at 100% 0,#e3605c26,#0000 48%),#fffbf4db}.reference-inline-example,.reference-example-code{color:#fff7ec;background:#2e3038eb;border-radius:.85rem;margin:0;padding:.62rem .74rem;font-size:.88rem;overflow-x:auto}.board-shell{gap:1rem;padding:1.15rem 1.2rem 1.2rem;display:grid}.board-info-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:.8rem;display:grid}.board-info-row.split{grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr)}.board-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.board-subtitle{color:#5a4839;margin:.45rem 0 0;line-height:1.6}.board-explainer-list{gap:.32rem;margin-top:.7rem;display:grid}.board-explainer{color:#6a5545;margin:0;font-size:.92rem;line-height:1.5}.board-explainer-gate{color:#1f5f8f;font-weight:700}.board-header-chips{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;display:flex}.board-preview-strip{background:#ffffffa8;border-radius:1rem;align-content:start;gap:.8rem;padding:.85rem .95rem;display:grid}.board-preview-copy{gap:.28rem;display:grid}.board-preview-label{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.board-preview-meaning{color:#5a4839;margin:0;line-height:1.45}.board-preview-meaning.type-center{color:#2f7a41}.board-preview-meaning.type-plain{color:#6a6259}.board-preview-meaning.type-portal{color:#225f96}.board-preview-meaning.type-negative{color:#b6403c;font-weight:700}.board-preview-list{flex-wrap:wrap;gap:.55rem;display:flex}.board-preview-pill{color:#2c2017;background:#2c5d5014;border-radius:999px;align-items:center;gap:.45rem;padding:.38rem .72rem;display:inline-flex}.board-preview-dot{background:#62b7ff;border-radius:999px;width:.68rem;height:.68rem}.board-preview-pill.type-center{background:#69d68029}.board-preview-pill.type-plain{background:#939aa62e}.board-preview-pill.type-plain .board-preview-dot{background:#8f98a6}.board-preview-pill.type-center .board-preview-dot{background:#69d680}.board-preview-pill.type-portal{background:#62b7ff24}.board-preview-pill.type-portal .board-preview-dot{background:#62b7ff}.board-preview-pill.type-negative{background:#e3605c26}.board-preview-pill.type-negative .board-preview-dot{background:#e3605c}.board-risk{background:#ffffffb3;border-radius:1rem;align-content:start;gap:.2rem;min-width:0;padding:.8rem .9rem;display:grid}.board-risk span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.board-risk strong{color:#2c2017}.board-risk small,.board-preview-code{color:#7d6451;font-size:.84rem;line-height:1.4}.board-ball-guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.board-ball-guide-card{background:#ffffffb8;border:1px solid #d7cab2d1;border-radius:.95rem;gap:.34rem;padding:.68rem .78rem;display:grid}.board-ball-guide-card code{color:#2c2017;font-size:.92rem;font-weight:700}.board-ball-guide-card p{color:#5a4839;margin:0;font-size:.94rem;line-height:1.4}.board-ball-guide-card.type-negative{background:radial-gradient(circle at 100% 0,#e3605c29,#0000 48%),#fffbf4e6}.board-ball-guide-card.type-portal{background:radial-gradient(circle at 100% 0,#62b7ff29,#0000 48%),#f6fbffeb;border-color:#78b6eb6b}.board-ball-guide-card.type-center{background:radial-gradient(circle at 100% 0,#69d6802e,#0000 48%),#f7fff9eb;border-color:#69d68057}.board-stage{background:radial-gradient(circle at top,#ffc47a2e,#0000 38%),linear-gradient(#2f261f 0%,#1f1813 100%);border-radius:1.3rem;padding:.65rem;overflow:hidden;box-shadow:inset 0 0 0 1px #ffe3c214,inset 0 24px 40px #ffc47a0d}.board-svg{width:100%;height:auto;display:block}.board-overlay-label{fill:#ffe4c6d1;letter-spacing:.08em;text-transform:uppercase;font-size:.56rem;font-weight:700}.board-zone{fill:#ffffff0a}.board-zone.active{fill:#ffca8814}.board-launcher-cap{fill:#fff4e524;stroke:#ffddb985;stroke-width:1.5px}.board-launcher-label{fill:#fff0dd;font-size:.78rem;font-weight:700}.board-portal-ring,.board-portal-aura,.board-portal-core,.board-portal-burst{fill:none;stroke-linecap:round;stroke-linejoin:round}.board-portal-aura{fill:#49baff2e;filter:drop-shadow(0 0 12px #49baff47)}.board-portal-ring{stroke:#b5e5ffeb;stroke-width:2.2px}.board-portal-core{fill:#1f6090e0;stroke:#dcf5fff2;stroke-width:1.35px}.board-portal.active .board-portal-ring{stroke:#7ad3fff5;filter:drop-shadow(0 0 12px #6fc8ff66)}.board-portal.active .board-portal-core{stroke:#def7ffeb;filter:drop-shadow(0 0 10px #3f95d073)}.board-portal.active .board-portal-aura{filter:drop-shadow(0 0 12px #6fc8ff57)}.board-pin{fill:#d8b38b;filter:drop-shadow(0 0 3px #ffddb824)}.board-bucket-shape{fill:#ffffff05;stroke:#ffb07d;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.board-bucket-shape.highlighted{stroke:#ffd28d;filter:drop-shadow(0 0 7px #ffd28d47)}.board-bucket-points{fill:#fff2de;font-size:1.4rem;font-weight:700}.board-ball{stroke-width:.9px;transition:fill .16s,filter .16s,stroke .16s}.board-ball.type-center,.board-ball-inner.type-center{fill:#69d680;filter:drop-shadow(0 0 10px #69d6804d)}.board-ball.type-plain,.board-ball-inner.type-plain{fill:#9aa3b1;filter:drop-shadow(0 0 9px #9aa3b138)}.board-ball.type-portal,.board-ball-inner.type-portal{fill:#62b7ff;filter:drop-shadow(0 0 11px #62b7ff57)}.board-ball.type-portal{stroke:#def2ffad}.board-ball.type-negative,.board-ball-inner.type-negative{fill:#e3605c;filter:drop-shadow(0 0 11px #e3605c52)}.board-ball.portal-child{fill:none;stroke:#6fc8ffeb;stroke-width:2.1px;filter:drop-shadow(0 0 12px #6fc8ff75)}.board-ball.source-main,.board-ball-inner.source-main{stroke:#ffffff57}.board-ball.source-helper,.board-ball-inner.source-helper{stroke:#f5ffffeb;stroke-width:1.45px}.board-ball-inner{transition:fill .16s,filter .16s,stroke .16s}.board-score-breakdown rect{fill:#fffaf3f0;stroke:#d0a7787a;stroke-width:1px;box-shadow:0 8px 18px #0000002e}.board-score-line{fill:#493323;font-size:.56rem;font-weight:700}.board-score-line.total{fill:#a24a20}.board-score-line.center_bonus{fill:#9a6114}.board-score-line.negative_penalty{fill:#9d392d}.board-score-breakdown text:last-of-type{letter-spacing:.02em}.board-portal-popup text{fill:#d7f3ff;letter-spacing:.03em;font-size:.56rem;font-weight:700}.board-portal-burst{stroke:#6fc8ffa8;stroke-width:2.2px;stroke-dasharray:3 4;filter:drop-shadow(0 0 8px #6fc8ff57)}.activity-feed{gap:.9rem;padding:1.15rem 1.2rem;display:grid}.activity-empty{color:#5a4839;margin:0}.activity-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.activity-entry{background:#ffffffa8;border-radius:1rem;padding:.9rem .95rem}.activity-category{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.activity-message{color:#2c2017;margin:.35rem 0 0}.shop-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.shop-heading{margin:.45rem 0 0}.shop-score-card{background:#ffffffb8;border-radius:1rem;gap:.2rem;min-width:140px;padding:.9rem 1rem;display:grid}.shop-score-card span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.82rem;font-weight:700}.shop-score-meta{color:#5a4839;margin:0;font-size:.92rem}.skill-tree{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.skill-node{background:#ffffffb8;border-radius:1.2rem;gap:.8rem;padding:1rem;display:grid}.skill-node.locked{opacity:.74}.skill-node.completed{border:1px solid #2c5d5038}.skill-node-top,.skill-node-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.skill-node-status,.skill-node-cost,.skill-node-hint{color:#8f6b52;font-size:.82rem}.skill-node h3,.skill-node p{margin:0}.skill-node-footer{align-items:flex-start}.skill-node-cost .point-cost-value,.skill-node-footer .point-cost-value{color:inherit}.task-case-summary{background:radial-gradient(circle at 100% 0,#6fc8ff26,#0000 54%),#f4faffeb;border-color:#78b6eb85}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30;background:#241b156b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{overscroll-behavior:contain;background:#fffaf4;border-radius:1.5rem;gap:1rem;width:min(760px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:1.35rem 1.4rem 1.45rem;display:grid;overflow-y:auto;box-shadow:0 28px 70px #20170f3d}.task-sheet-wrap{z-index:32;width:min(500px,100vw - 2rem);position:fixed;bottom:1rem;right:1rem}.task-sheet{overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf3f5;border:1px solid #d7cab2eb;border-radius:1.35rem;gap:.9rem;max-height:min(68vh,620px);padding:1.1rem 1.15rem 1.2rem;display:grid;overflow-y:auto;box-shadow:0 24px 60px #20170f3d}.intro-backdrop{z-index:40}.intro-modal{overscroll-behavior:contain;background:radial-gradient(circle at 100% 0,#d8662f26,#0000 34%),linear-gradient(#fffaf4 0%,#f8efe2 100%);gap:1.2rem;width:min(720px,100vw - 2rem)}.intro-modal h2{color:#22170f;margin:.35rem 0 0;font-size:clamp(1.6rem,3vw,2.45rem);line-height:1.08}.intro-body{color:#4f3e31;max-width:58ch;margin:0;line-height:1.75}.intro-checklist{background:#ffffffc2;border-radius:1.15rem;gap:.7rem;padding:1rem 1.05rem;display:grid}.intro-checklist ul{color:#2c2017;gap:.55rem;margin:0;padding-left:1.2rem;display:grid}.intro-start-button{justify-self:start}.task-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.task-modal-header h2{margin:.35rem 0 0}.modal-kicker{color:#c55d2d;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}.task-modal-badges{flex-wrap:wrap;gap:.45rem;display:flex}.task-modal-badge{color:#235246;background:#2c5d501f;border-radius:999px;padding:.38rem .68rem;font-size:.82rem;font-weight:700}.task-modal-badge.subdued{color:#a24a20;background:#d8662f1f}.modal-question{color:#2c2017;margin:0}.modal-code{color:#fdf6ea;background:linear-gradient(#3c3127 0%,#241b15 100%);border-radius:1rem;margin:0;padding:1.15rem;font-size:1rem;line-height:1.6;overflow-x:auto}.task-guidance{grid-template-columns:minmax(0,1fr);gap:.8rem;display:grid}.task-context-block,.task-write-block{gap:.45rem;display:grid}.task-case-list{gap:.7rem;display:grid}.task-cases-label{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.76rem;font-weight:700}.task-case-grid{gap:.7rem;display:grid}.task-case-card{background:#ffffffbd;border:1px solid #d7cab2b8;border-radius:1rem;gap:.45rem;padding:.85rem .9rem;display:grid}.task-case-card strong{color:#22170f}.task-case-card p{color:#4f3e31;margin:0;line-height:1.55}.task-case-state-list{flex-wrap:wrap;gap:.55rem;display:flex}.task-case-state-list span{color:#2c2017;background:#2c5d5014;border-radius:999px;padding:.32rem .68rem;font-size:.9rem}.task-context-block span,.task-answer-header span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.76rem;font-weight:700}.task-answer-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.task-answer-header strong{color:#2c2017;font-size:.9rem}.task-code-entry{resize:vertical;color:#fdf6ea;background:linear-gradient(#3c3127 0%,#241b15 100%);border:1px solid #d7cab2eb;border-radius:1rem;width:100%;min-height:180px;padding:.95rem 1rem;font:.96rem/1.55 Consolas,Courier New,monospace}.task-hint-toggle-row{margin-top:1rem}.task-hint-toggle{padding-inline:1rem}.task-guidance-card,.feedback-box{border-radius:1rem;padding:.95rem 1rem}.task-guidance-card{background:#2c5d500f}.task-guidance-card span{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.task-guidance-card p{color:#2c2017;margin:.35rem 0 0}.options-list{gap:.7rem;display:grid}.option-card{cursor:pointer;background:#ffffffb8;border:1px solid #d7cab2db;border-radius:1rem;align-items:flex-start;gap:.75rem;padding:.9rem .95rem;display:flex}.option-card.selected{background:#2c5d5014;border-color:#2c5d506b}.option-card:focus-within{border-color:#2c5d506b;box-shadow:0 0 0 3px #2c5d501f}.option-card input{margin-top:.15rem}.option-code{white-space:pre-wrap;margin:0;font:.93rem/1.5 Consolas,Courier New,monospace}.feedback-box.success{color:#174b2d;background:#e7f6ed}.feedback-box.error{color:#7a271e;background:#fdeceb}.feedback-box p{margin:.35rem 0 .9rem}.help-fab{z-index:30;color:#fff9f2;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transform-origin:100% 100%;background:linear-gradient(135deg,#2c5d50 0%,#173830 100%);border:0;border-radius:999px;min-width:5.75rem;min-height:3.4rem;padding:.8rem 1.1rem;font-size:.96rem;font-weight:800;transition:transform .22s,box-shadow .22s,opacity .22s;position:fixed;bottom:1.4rem;right:1.4rem;box-shadow:0 18px 34px #17383047}.help-fab:hover{transform:translateY(-2px);box-shadow:0 22px 38px #17383052}.help-fab.unread:after{content:"";background:#d8662f;border-radius:999px;width:.72rem;height:.72rem;position:absolute;top:.45rem;right:.45rem;box-shadow:0 0 0 3px #fffbf4eb}.help-center-backdrop{z-index:25;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:#18120e85;justify-content:flex-end;align-items:flex-end;padding:1rem 1rem 5.6rem;transition:opacity .22s;display:flex;position:fixed;inset:0}.help-center-backdrop.open{opacity:1}.help-center-backdrop.closing{opacity:0}.help-center{overscroll-behavior:contain;transform-origin:100% 100%;opacity:0;background:radial-gradient(circle at 100% 0,#d8662f1f,#0000 34%),#fffaf2;border-radius:1.4rem;width:min(960px,100vw - 2rem);max-height:min(76vh,780px);padding:1.3rem;transition:opacity .22s,transform .22s;overflow-y:auto;transform:translate(1.1rem,1rem)scale(.84);box-shadow:0 28px 60px #0000003d}.help-center.open{opacity:1;transform:translate(0)scale(1)}.help-center.closing{opacity:0;transform:translate(1.1rem,1rem)scale(.84)}.help-center-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.help-center-title{color:#22170f;margin:.35rem 0 0;font-size:clamp(1.3rem,2vw,1.85rem)}.help-center-layout{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:1rem;display:grid}.help-center-sidebar,.help-center-body{background:#fffbf4d1;border-radius:1rem;padding:1rem}.help-center-sidebar-label{color:#8f6b52;letter-spacing:.05em;text-transform:uppercase;margin:0 0 .75rem;font-size:.78rem;font-weight:700}.help-entry-list{gap:.65rem;display:grid}.help-entry-button{color:#5a4839;cursor:pointer;text-align:left;background:#ffffffb8;border:1px solid #0000;border-radius:.95rem;gap:.28rem;width:100%;padding:.85rem .9rem;display:grid}.help-entry-button span{color:#8f6b52;letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:700}.help-entry-button strong{color:#22170f;font-size:.98rem}.help-entry-button.active{background:#fff3e9eb;border-color:#d8662f47}.help-center-body{color:#5a4839;gap:.95rem;line-height:1.65;display:grid}.help-center-body p{margin:0}.help-center-empty{color:#6a5544;margin:0}.help-center-snippet{color:#fdf6ea;background:linear-gradient(#362b23 0%,#221914 100%);border-radius:1rem;margin:0;padding:1rem 1.05rem;overflow-x:auto}@media (width<=1180px){.goal-band{grid-template-columns:1fr}.goal-band-details{grid-template-columns:repeat(2,minmax(0,1fr))}.help-center-layout,.workspace-grid,.objective-detail-row{grid-template-columns:1fr}.objective-spotlight-strip{grid-auto-flow:row;display:grid;overflow-x:visible}}@media (width<=1040px){.workspace-grid,.skill-tree{grid-template-columns:1fr}}@media (width<=760px){.app-shell{width:min(100%,100% - 1rem);padding-top:1rem}.topbar-right{justify-content:flex-end;width:100%}.settings-panel{width:min(100vw - 1rem,360px)}.next-step-header,.help-center-header,.board-header,.shop-header,.editor-header{flex-direction:column;align-items:flex-start}.goal-band-details,.next-step-detail-grid,.task-guidance,.board-module-strip,.board-info-row,.help-center-layout,.control-stats.compact,.board-metrics,.board-value-grid,.board-ball-guide{grid-template-columns:1fr}.objective-main,.editor-toolbar,.task-answer-header{flex-direction:column;align-items:flex-start}.editor-toolbar-actions{justify-items:stretch;width:100%}.run-button.compact{width:100%}.task-sheet-wrap{width:auto;bottom:.5rem;left:.5rem;right:.5rem}.help-fab{min-width:5rem;padding-inline:1rem;bottom:1rem;right:1rem}.help-center-backdrop{justify-content:stretch;align-items:flex-end;padding:.5rem .5rem 4.9rem}.help-center{transform-origin:bottom;border-radius:1.35rem 1.35rem 1rem 1rem;width:100%;max-height:min(78vh,100vh - 5.4rem);transform:translateY(1rem)scale(.98)}.help-center.open{transform:translateY(0)scale(1)}.help-center.closing{transform:translateY(1rem)scale(.98)}.goal-band-title{font-size:1.8rem}.task-modal-header,.board-header,.shop-header{grid-template-columns:1fr;display:grid}}@media (prefers-reduced-motion:reduce){.run-button,.secondary-button,.ghost-button,.help-fab,.settings-button,.settings-toggle,.language-button,.view-tab{transition:none}.run-button:hover,.secondary-button:hover,.ghost-button:hover{transform:none}.help-center,.help-center-backdrop{transition:none}}
