:root{--bg: #f4efe4;--panel: rgba(255, 251, 245, .86);--panel-strong: rgba(255, 255, 255, .94);--line: rgba(62, 47, 22, .12);--text: #17120b;--muted: #675a49;--accent: #ba5a31;--accent-deep: #4f2417;--glow: rgba(215, 126, 83, .28);--shadow: 0 28px 90px rgba(71, 45, 17, .12);--radius-xl: 32px;--radius-lg: 24px;--radius-md: 18px;--sans: "Avenir Next", "Segoe UI", sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(255,176,79,.24),transparent 26%),radial-gradient(circle at top right,rgba(196,95,59,.18),transparent 30%),linear-gradient(180deg,#fbf8f2 0%,var(--bg) 100%);color:var(--text);font-family:var(--sans)}a,button,textarea,input{color:inherit;font:inherit}.site-shell{max-width:1280px;margin:0 auto;padding:24px}.topbar,.nav,.hero-actions,.builder-actions,.panel-header,.footer,.course-card-head,.game-card-head,.section-heading{display:flex;align-items:center}.hero,.workspace-grid,.course-grid,.roadmap-grid{display:grid;gap:24px}.topbar{justify-content:space-between;gap:24px;margin-bottom:28px}.brand,.nav a,.ghost-button,.primary-button,.text-link{text-decoration:none}.brand{font:700 1.5rem/1 var(--serif);letter-spacing:-.04em}.nav{gap:18px}.nav a,.text-link,.ghost-button{color:var(--muted)}.ghost-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:0;cursor:pointer}.ghost-button{border:1px solid var(--line);background:#ffffff85}.primary-button{background:linear-gradient(135deg,#d86b45 0%,var(--accent-deep) 100%);color:#fff8f2;box-shadow:0 16px 34px #7e361b38}.ghost-button:disabled,.primary-button:disabled{cursor:wait;opacity:.68}.hero,.section-grid,.roadmap{margin-bottom:30px}.hero{grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);align-items:start}.hero-single{grid-template-columns:1fr}.hero-copy,.hero-panel,.workspace-panel,.section-grid,.roadmap{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-copy,.hero-panel,.workspace-panel,.section-grid,.roadmap{padding:clamp(24px,4vw,42px)}.hero-copy h1,.section-heading h2,.workspace-panel h2{margin:0;font-family:var(--serif);letter-spacing:-.05em}.hero-copy h1{font-size:clamp(2.8rem,6vw,5.2rem);line-height:.92}.section-heading h2,.workspace-panel h2{font-size:clamp(1.8rem,4vw,3rem);line-height:.98}.workspace-panel:focus-visible{outline:3px solid rgba(186,90,49,.28);outline-offset:6px}.eyebrow,.roadmap-card span{margin:0 0 14px;font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.lede,.summary-card p,.course-card p,.game-card p,.roadmap-card p,.empty-state,.status-text,.error-text{color:var(--muted);font-size:1.02rem;line-height:1.6}.error-text{color:#9d2b14}.hero-actions,.builder-actions,.footer{gap:14px;flex-wrap:wrap}.steps-list{display:grid;gap:14px;margin:28px 0 0;padding:0;list-style:none}.steps-list li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.steps-list span,.mini-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.steps-list span{width:34px;height:34px;background:#ffffffc7;border:1px solid var(--line);font-weight:700}.steps-list p{margin:0}.panel-header{justify-content:space-between;margin-bottom:16px;color:var(--muted);font-size:.9rem}.builder-card,.summary-card,.course-card,.game-card,.roadmap-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-strong)}.builder-card,.summary-card,.course-card,.game-card{padding:20px}.builder-card{display:grid;gap:16px;background:radial-gradient(circle at top right,rgba(255,224,190,.85),transparent 34%),var(--panel-strong)}.field{display:grid;gap:8px}.field span{font-size:.92rem;font-weight:700}.field textarea,.field input{width:100%;border:1px solid rgba(62,47,22,.14);border-radius:18px;padding:14px 16px;background:#ffffffeb}.field textarea{min-height:180px;resize:vertical}.file-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.file-list li{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#ffffffb8;font-size:.9rem}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:30px}.section-heading{justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2{margin-top:4px}.summary-card h3,.course-card h3,.game-card h3,.roadmap-card h3{margin:0;font-family:var(--serif);letter-spacing:-.03em;font-size:1.5rem}.summary-card p,.course-card p,.game-card p{margin:10px 0 0}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.metric-grid dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.metric-grid dd{margin:4px 0 0;font-size:1.22rem;font-weight:700}.metric-grid dd.metric-text,.metric-text{font-size:.92rem;line-height:1.4;word-break:break-word}.course-grid,.game-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.course-card,.game-card{display:grid;gap:16px}.course-card.selected{border-color:#ba5a316b;box-shadow:0 18px 40px var(--glow);transform:translateY(-2px)}.game-card.selected{border-color:#ba5a316b;box-shadow:0 18px 40px var(--glow)}.course-card-head,.game-card-head{justify-content:space-between;gap:16px;align-items:start}.mini-pill{padding:8px 12px;background:#ffffffd1;border:1px solid var(--line);color:var(--muted);font-size:.84rem;white-space:nowrap}.game-list{display:grid;gap:16px}.roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap-card{padding:22px}.roadmap-card.active{background:radial-gradient(circle at top left,rgba(255,224,190,.7),transparent 40%),var(--panel-strong)}.footer{justify-content:space-between;padding:8px 4px 24px;color:var(--muted)}.page-shell{display:grid;gap:24px}.summary-card-wide{display:grid;gap:18px}.metric-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.player-workspace-grid{grid-template-columns:1fr}.player-card-grid{display:grid;gap:16px}.player-score-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-strong);padding:20px}.player-score-card.mastered{border-color:#48835d57;box-shadow:0 18px 40px #48835d1f}.player-score-card-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.player-score-card-head h3,.question-panel h2,.completion-panel h2{margin:0;font-family:var(--serif);letter-spacing:-.03em;font-size:1.5rem}.player-question-shell{display:grid;gap:20px}.compact-play-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.question-panel,.completion-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-strong);padding:24px}.question-panel-loading{background:radial-gradient(circle at top right,rgba(255,224,190,.6),transparent 40%),var(--panel-strong)}.question-meta{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:14px}.question-meta p{margin:0;color:var(--muted)}.choice-list{display:grid;gap:14px;margin-top:24px}.choice-button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;width:100%;border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:#ffffffeb;cursor:pointer;text-align:left}.choice-button.selected{border-color:#ba5a3166;box-shadow:0 14px 30px var(--glow)}.choice-button.correct{border-color:#48835d57;background:#e7f6ede6}.choice-button.incorrect{border-color:#ba5a3157;background:#fff1eceb}.choice-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:#ffffffd6;font-weight:700}.answer-panel{display:grid;gap:14px;margin-top:22px;padding:20px;border-radius:22px;border:1px solid rgba(186,90,49,.18);background:#fff4efeb}.answer-panel.success{border-color:#48835d38;background:#ecf6efeb}.answer-panel h3,.answer-panel p{margin:0}.score-graph-panel{min-height:78vh;padding:0;overflow:hidden}.score-graph-viewport{position:relative;min-height:78vh;overflow:hidden;border-radius:inherit;background:radial-gradient(circle at top right,rgba(132,214,93,.14),transparent 25%),linear-gradient(180deg,#fffffff5,#f2f8eaf5);cursor:grab;touch-action:none}.score-graph-viewport:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(40,59,29,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(40,59,29,.05) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.9),transparent 94%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.9),transparent 94%);pointer-events:none}.score-graph-canvas{position:absolute;inset:0;z-index:1}.score-graph-canvas canvas{display:block;width:100%;height:100%}.score-graph-hud{position:absolute;z-index:3;display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(34,46,24,.1);border-radius:22px;background:#ffffffd1;box-shadow:0 16px 36px #2d3c1f14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.score-graph-hud-top{top:16px;left:16px;right:16px;justify-content:space-between}.score-graph-hud-bottom{left:16px;bottom:16px;flex-wrap:wrap;max-width:min(860px,calc(100% - 32px))}.score-graph-heading h3{margin:0;font-size:1.1rem}.score-graph-toolbar{display:inline-flex;align-items:center;gap:8px}.score-graph-toolbar-label{min-width:58px;color:var(--muted);font-size:.86rem;font-weight:700;text-align:center}.score-graph-legend{display:flex;flex-direction:column;gap:6px;min-width:220px;padding:8px 12px;border:1px solid rgba(34,46,24,.08);border-radius:16px;background:#ffffffb8}.score-graph-legend-header,.score-graph-legend-scale{display:flex;align-items:center;justify-content:space-between;gap:10px}.score-graph-legend-title{color:var(--text);font-size:.8rem;font-weight:700}.score-graph-legend-range,.score-graph-legend-scale span{color:var(--muted);font-size:.72rem;font-weight:600}.score-graph-legend-bar{flex:1 1 auto;height:10px;border:1px solid rgba(66,92,50,.18);border-radius:999px;background:linear-gradient(90deg,#f4c1b9,#f8e5c4,#a6ddb5)}.score-graph-hint{color:var(--muted);font-size:.84rem;line-height:1.5}.score-graph-empty{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffffd1;color:var(--muted);font-size:.92rem}.score-graph-loading{display:grid;place-items:center;min-height:68vh;padding:52px 20px;color:var(--muted)}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:.9rem .75rem;border-top:1px solid rgba(23,32,19,.08);vertical-align:top;text-align:left}.data-table thead th{border-top:0;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.data-table tbody tr:hover{background:#ffffff94}.table-subtext{margin-top:.25rem;color:var(--muted);font-size:.82rem}.table-mono{font-family:IBM Plex Mono,SFMono-Regular,ui-monospace,monospace;font-size:.84rem}.table-actions{width:1%;white-space:nowrap}.table-button{padding:.6rem .95rem}.macroquad-shell{min-height:calc(100vh - 8rem)}.macroquad-frame{width:100%;min-height:calc(100vh - 8rem);border:0;border-radius:28px;background:#ffffffd1;box-shadow:0 22px 44px #17201314}@media(max-width:980px){.hero,.workspace-grid,.roadmap-grid{grid-template-columns:1fr}.metric-grid-wide,.compact-play-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.score-graph-hud-top{flex-direction:column;align-items:stretch}}@media(max-width:720px){.site-shell{padding:18px}.topbar{flex-direction:column;align-items:start}.nav{flex-wrap:wrap}.metric-grid,.metric-grid-wide,.compact-play-metrics{grid-template-columns:1fr}.score-graph-panel,.score-graph-viewport{min-height:68vh}.score-graph-hud-bottom{right:16px}.builder-actions{display:grid;grid-template-columns:1fr}.footer{flex-direction:column;align-items:start}}
