:root{--bg-1:#fff7ed;--bg-2:#ffedd5;--bg-3:#fed7aa;--accent:#ea580c;--accent-dark:#c2410c;--accent-soft:#fff1e6;--text:#1f2937;--text-soft:#4b5563;--text-muted:#6b7280;--card:#fff;--border:#f3e2cf;--easy:#16a34a;--medium:#d97706;--hard:#dc2626}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Inter,-apple-system,system-ui,sans-serif;color:var(--text);min-height:100vh;background:radial-gradient(circle at 0 0,#ffedd5 0,transparent 45%),radial-gradient(circle at 100% 0,#fed7aa 0,transparent 50%),radial-gradient(circle at 50% 100%,#fde68a 0,transparent 55%),linear-gradient(135deg,#fff7ed,bisque);background-attachment:fixed}button{font-family:inherit;cursor:pointer}a{color:var(--accent-dark)}input,select,textarea{font-family:inherit;font-size:15px}.container{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.app-header{justify-content:space-between;margin-bottom:32px}.app-header,.app-title{display:flex;align-items:center}.app-title{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0;gap:10px}.app-title-icon{font-size:32px}.app-subtitle{color:var(--text-muted);font-size:14px;margin:4px 0 0}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;background:var(--card);color:var(--text);padding:10px 16px;border-radius:10px;font-weight:500;font-size:14px;transition:background .15s,border-color .15s,transform .05s}.btn:hover{background:#fff1e6;border-color:var(--border)}.btn-primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;padding:14px 28px;font-size:16px;font-weight:600;box-shadow:0 4px 14px rgba(234,88,12,.25)}.btn-primary:hover{background:linear-gradient(135deg,#ea580c,#c2410c);transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--text-soft)}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-easy{background:#dcfce7;color:#166534}.badge-medium{background:#fef3c7;color:#92400e}.badge-hard{background:#fee2e2;color:#991b1b}.badge-cat{background:#fff7ed;color:var(--accent-dark);border:1px solid #fed7aa}.warn-box{background:#fef3c7;color:#78350f;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.embedded{color-scheme:dark;--card:var(--sh-surface,#12151c);--border:var(--sh-border,hsla(0,0%,100%,.07));--text:var(--sh-text,#e8eaf0);--text-soft:var(--sh-text-dim,#9aa0b8);--text-muted:var(--sh-text-dim,#9aa0b8);--accent-soft:rgba(234,88,12,.13);--accent-dark:#fb923c;--easy:#34d399;--medium:#fbbf24;--hard:#f87171}.embedded body,html.embedded{background:var(--sh-bg,#0e1117)!important}.embedded body{margin-top:0!important}.embedded #james-banner-stack,.embedded #james-launcher,.embedded .app-header{display:none!important}.embedded .card{box-shadow:0 1px 3px rgba(0,0,0,.18)!important}.embedded .btn:hover{background:hsla(0,0%,100%,.06)!important;border-color:var(--sh-border,hsla(0,0%,100%,.07))!important}.embedded .badge-easy{background:rgba(5,150,105,.15)!important;color:#34d399!important}.embedded .badge-medium{background:rgba(245,158,11,.12)!important;color:#fbbf24!important}.embedded .badge-hard{background:rgba(220,38,38,.12)!important;color:#f87171!important}.embedded .badge-cat{background:rgba(234,88,12,.13)!important;color:#fb923c!important;border-color:rgba(234,88,12,.4)!important}.embedded .app-banner-warn,.embedded .warn-box{background:rgba(245,158,11,.12)!important;color:#fbbf24!important}.embedded .app-banner-warn{border-color:rgba(245,158,11,.45)!important}.embedded .app-banner-error{background:rgba(220,38,38,.12)!important;border-color:rgba(220,38,38,.45)!important;color:#f87171!important}.embedded input:not([type=checkbox]):not([type=radio]),.embedded select,.embedded textarea{background:var(--sh-input,#0e1117)!important;border-color:var(--sh-border,hsla(0,0%,100%,.07))!important;color:var(--sh-text,#e8eaf0)!important}.embedded input::placeholder,.embedded textarea::placeholder{color:var(--sh-text-dim,#9aa0b8)!important;opacity:.7}.embedded input:focus,.embedded select:focus,.embedded textarea:focus{border-color:rgba(234,88,12,.6)!important}.embedded .seg{background:var(--sh-input,#0e1117)!important}.embedded .seg-btn.on{background:hsla(0,0%,100%,.09)!important}.embedded .mode-card{background:var(--sh-surface,#12151c)!important;border-color:var(--sh-border,hsla(0,0%,100%,.07))!important}.embedded .mode-card:hover{border-color:rgba(234,88,12,.5)!important}.embedded .mode-card.on{background:rgba(234,88,12,.13)!important;border-color:var(--accent)!important}.embedded .fpill,.embedded .pill{background:var(--sh-surface,#12151c)!important;border-color:var(--sh-border,hsla(0,0%,100%,.07))!important}.embedded .fpill:hover,.embedded .pill:hover{border-color:rgba(234,88,12,.5)!important}.embedded .pill.on{background:rgba(234,88,12,.13)!important;border-color:var(--accent)!important}.embedded .fpill.on{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.embedded .fpill-count{background:hsla(0,0%,100%,.1)!important}.embedded .stepper{border-color:var(--sh-border,hsla(0,0%,100%,.07))!important}.embedded .step-btn{background:var(--sh-surface,#12151c)!important}.embedded .spinner{border-color:hsla(0,0%,100%,.14)!important;border-top-color:var(--accent,#ea580c)!important}.embedded button:disabled{opacity:.55}.embedded .btn:disabled:not(.btn-primary){background:var(--sh-surface,#12151c)!important;color:var(--sh-text-dim,#9aa0b8)!important;opacity:.6}.embedded .ctx-body,.embedded .opt{background:var(--sh-input,#0e1117)!important;border-color:var(--sh-border,hsla(0,0%,100%,.07))!important}.embedded .answer{background:rgba(5,150,105,.15)!important;border-color:rgba(5,150,105,.45)!important;color:#34d399!important}.embedded .reveal{background:var(--sh-input,#0e1117)!important;border-color:var(--sh-border,hsla(0,0%,100%,.07))!important}.embedded ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.18)}.embedded .container{padding:12px 16px 24px}.embedded .card{padding:16px 20px}.embedded .setup h2{font-size:17px;margin-bottom:0}.embedded .setup-row{margin-top:12px!important}.embedded .setup-actions{margin-top:14px!important}.embedded .mode-card{padding:10px 14px!important}.embedded .mode-icon{font-size:20px!important}