:root{--paper:#f6f4ef;--surface:#ffffff;--surface-sub:#f1eee7;--line:#e2ded4;--line-strong:#cbc5b7;--ink:#23241f;--ink-sub:#6b6a61;--ink-faint:#9a978c;--accent:#1c5b93;--accent-deep:#144a79;--accent-soft:#e8eef4;--accent-line:#b5cade;--ok:#2f7048;--ok-soft:#e7f1e9;--ok-line:#b7d5c1;--warn:#97671a;--warn-soft:#f7eedc;--warn-line:#e0cba3;--bad:#ab3a30;--bad-soft:#fbebe9;--bad-line:#eec4bf;--code-bg:#22252a;--code-fg:#e7e4dc;--code-dim:#8b887e;--code-blue:#8fb9dd;--code-green:#9fc79f;--code-amber:#dcb87a;--code-violet:#b7aada;--r-s:6px;--r-m:10px;--r-l:14px;--shadow-pop:0 12px 40px rgba(35,36,31,0.18);--focus:0 0 0 3px var(--accent-soft);--t-xs:0.75rem;--t-sm:0.875rem;--t-base:1rem;--t-lg:1.125rem;--t-xl:1.375rem;--t-2xl:1.75rem}html{font-size:18px}@media (max-width:480px){html{font-size:16.5px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Hiragino Maru Gothic ProN,BIZ UDPGothic,Yu Gothic,system-ui,sans-serif;background:var(--paper);min-height:100vh;color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{line-height:1.45;font-weight:700}.container{max-width:780px;margin:0 auto;padding:0 16px 32px;display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;margin-bottom:8px;border-bottom:1px solid var(--line)}.logo{font-size:var(--t-lg);font-weight:700;color:var(--ink);letter-spacing:-.01em}.logo span{color:var(--accent)}.logo-btn{border:none;background:none;font-family:inherit;cursor:pointer;padding:0}.toolbar{display:flex;gap:8px;align-items:center}.toolbar select{width:auto;padding:6px 10px;font-size:var(--t-sm)}.username-chip{font-size:var(--t-sm);color:var(--ink-sub);padding:4px 2px;white-space:nowrap}@media (max-width:520px){.logo{white-space:nowrap}.username-chip{display:none}.start-row{flex-wrap:wrap}.start-row .btn{width:100%}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:28px}.login-card{max-width:400px;margin:14vh auto 0}.login-card h1{font-size:var(--t-xl);margin-bottom:4px}.login-card h1 span{color:var(--accent)}.login-card p{font-size:var(--t-sm);color:var(--ink-sub);margin-bottom:24px}.field{margin-bottom:16px}.field label{display:block;font-size:var(--t-sm);font-weight:700;color:var(--ink-sub);margin-bottom:5px}input[type=password],input[type=text],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--r-s);font-size:var(--t-base);font-family:inherit;color:var(--ink);background:var(--surface)}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus)}.btn{display:inline-block;width:100%;padding:11px 16px;border:1px solid var(--accent);border-radius:var(--r-s);background:var(--accent);color:#fff;font-size:var(--t-base);font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{background:var(--surface-sub);border-color:var(--line);color:var(--ink-faint);cursor:default}.btn-small{width:auto;padding:6px 12px;font-size:var(--t-sm);background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-small:hover:not(:disabled){background:var(--surface-sub);border-color:var(--ink-faint);color:var(--ink)}.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--ink-sub)}.btn-ghost:hover:not(:disabled){background:var(--surface-sub);border-color:var(--ink-faint);color:var(--ink)}.error{background:var(--bad-soft);border:1px solid var(--bad-line);color:var(--bad);border-radius:var(--r-s);padding:10px 14px;margin-bottom:16px}.error,.hint{font-size:var(--t-sm)}.hint{color:var(--ink-sub)}.chat-area{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:16px 0}.bubble{max-width:78%;padding:12px 16px;border-radius:var(--r-l);font-size:var(--t-base);line-height:1.8;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.blocked{border-color:var(--warn-line);background:var(--warn-soft)}.empty-hint,.thinking{color:var(--ink-faint)}.empty-hint{text-align:center;margin-top:12vh;font-size:var(--t-sm);line-height:2}.empty-hint.small{margin-top:24px}.composer{display:flex;gap:8px;padding:8px 0 0;align-items:stretch}.composer textarea{flex:1 1;resize:none;height:76px}.composer .btn{width:100px}.home{display:flex;flex-direction:column;gap:32px;padding:8px 0 24px}.start-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px}.start-card h2{font-size:var(--t-xl);margin-bottom:2px}.start-card p{font-size:var(--t-sm);color:var(--ink-sub);margin-bottom:20px}.start-row{display:flex;gap:8px}.start-row input{flex:1 1}.start-row .btn{width:auto;flex:none;padding-left:24px;padding-right:24px}.steps-preview{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.step-pill{font-size:var(--t-xs);color:var(--ink-sub)}.step-pill+.step-pill:before{content:"→";margin-right:6px;color:var(--ink-faint)}.website-start-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.website-start-card h2{font-size:var(--t-lg)}.website-start-card p{margin:0}.website-start-card .btn{width:auto;flex:none}.website-live-badge{margin-left:auto;color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-line);border-radius:999px;padding:3px 12px;font-size:var(--t-sm);font-weight:700}.quick-links{display:grid;grid-gap:8px;gap:8px}.chat-link{position:relative;display:block;width:100%;text-align:left;padding:14px 40px 14px 16px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);font-family:inherit;font-size:var(--t-base);font-weight:700;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}.chat-link small{display:block;font-size:var(--t-sm);font-weight:400;color:var(--ink-sub)}.chat-link:after{content:"→";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--ink-faint)}.chat-link:hover{background:var(--accent-soft);border-color:var(--accent-line)}.section-title{font-size:var(--t-base);font-weight:700;color:var(--ink);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.project-card{position:relative;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;text-align:left;transition:border-color .15s}.project-card:hover{border-color:var(--line-strong)}.project-main{flex:1 1;display:flex;min-width:0;border:none;background:none;text-align:left}.gallery-card,.project-main{flex-direction:column;font-family:inherit;padding:14px;cursor:pointer}.gallery-card{align-items:stretch}.project-title{font-weight:700;font-size:var(--t-base);color:var(--ink);margin-bottom:4px;padding-right:52px;word-break:break-word}.gallery-card .project-title{padding-right:0}.project-meta{font-size:var(--t-sm);color:var(--ink-sub)}.progress-dots{display:flex;gap:3px;margin-top:auto;padding-top:12px}.dot{width:100%;height:3px;border-radius:2px;background:var(--line)}.dot.done{background:var(--accent)}.project-copy,.project-del{position:absolute;top:10px;border:1px solid transparent;background:var(--surface);border-radius:var(--r-s);padding:2px 6px;cursor:pointer;font-size:var(--t-sm);opacity:.4;transition:opacity .15s,border-color .15s}.project-del{right:10px}.project-copy{right:44px}.project-card:hover .project-copy,.project-card:hover .project-del,.project-copy:focus-visible,.project-del:focus-visible{opacity:1;border-color:var(--line)}.remix-note{display:inline-block;color:var(--ink-faint);font-size:var(--t-xs);margin-top:6px}.gallery-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px}.gallery-actions .btn{width:auto}.wizard-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 0 16px}.wizard-title{font-weight:700;font-size:var(--t-lg)}.wizard-genre,.wizard-title .author{font-weight:400;font-size:var(--t-sm);color:var(--ink-sub)}.wizard-genre{margin-right:8px;white-space:nowrap}.stepper{display:flex;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--surface);margin-bottom:8px}.step-item{flex:1 1;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 6px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink-faint);font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.step-item:last-child{border-right:0}.step-item.done{color:var(--ink)}.step-item:hover:not(.current){background:var(--surface-sub)}.step-item.current{background:var(--accent);color:#fff}.step-icon{font-size:.95rem;line-height:1}.step-label{font-size:var(--t-sm);font-weight:700}.step-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 0 8px}.btn-next{width:auto;padding:11px 24px;background:transparent;color:var(--accent)}.btn-next:hover:not(:disabled){background:var(--accent);color:#fff}.save-state{font-size:var(--t-sm);color:var(--ink-faint)}.saved-note{color:var(--ink-sub);background:var(--surface-sub);border-radius:var(--r-s);padding:8px 12px;margin-bottom:8px}.notes,.saved-note{font-size:var(--t-sm)}.notes{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 16px;margin-bottom:12px}.notes summary{cursor:pointer;font-weight:700;color:var(--ink)}.notes pre{white-space:pre-wrap;font-family:inherit;color:var(--ink-sub);margin-top:8px}.publish-step{display:flex;flex-direction:column;gap:16px;flex:1 1}.publish-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:32px 24px}.publish-card.done{border-color:var(--ok-line);background:var(--ok-soft)}.publish-emoji{font-size:2rem;line-height:1}.publish-card h2{font-size:var(--t-xl);margin:10px 0 4px}.publish-card p{font-size:var(--t-sm);color:var(--ink-sub);margin-bottom:20px}.publish-card .btn{max-width:240px;margin:0 auto}.game-preview.small{min-height:300px;flex:0 0 300px}.game-preview.small .game-frame{min-height:300px}.lab-model-row{display:flex;justify-content:flex-end;align-items:center;gap:6px;padding-bottom:10px;font-size:var(--t-sm);color:var(--ink-sub)}.lab-model-row label{display:inline-flex;align-items:center;gap:6px}.lab-model-row select{width:auto;padding:6px 10px;font-size:var(--t-sm)}.lab-composer{display:flex;gap:8px;align-items:stretch;padding-bottom:10px}.lab-composer textarea{flex:1 1;resize:none;height:60px}.lab-composer .btn{width:104px}.ideas{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:12px}.idea-chip{padding:6px 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);font-family:inherit;font-size:var(--t-sm);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}.idea-chip:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-line)}.idea-chip:disabled{color:var(--ink-faint);cursor:default}.play-area{flex:1 1;display:flex;flex-direction:column;gap:10px;min-height:420px;padding-bottom:12px}.play-area[hidden]{display:none}.game-frame{flex:1 1;width:100%;min-height:420px;border:1px solid var(--line-strong);border-radius:var(--r-m);background:#fff}.game-preview{position:relative;flex:1 1;display:flex;min-height:420px;min-width:0}.game-preview .game-frame{height:100%}.game-expand-button{position:absolute;top:10px;right:10px;z-index:1;width:auto;padding:6px 12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-s);background:rgba(35,36,31,.82);color:#fff;font:700 var(--t-xs)/1.4 inherit;cursor:pointer}.game-expand-button:hover,.game-expanded{background:var(--ink)}.game-expanded{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column}.game-expanded-toolbar{min-height:54px;padding:8px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;color:#fff;font-size:var(--t-sm)}.game-expanded-toolbar>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-zoom-controls{display:flex;align-items:center;gap:6px}.game-expanded-close,.game-zoom-controls button{width:auto;min-height:36px;padding:6px 12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-s);background:rgba(255,255,255,.1);color:#fff;font:700 var(--t-xs)/1.4 inherit;cursor:pointer}.game-expanded-close:hover,.game-zoom-controls button:hover:not(:disabled){background:rgba(255,255,255,.2)}.game-zoom-controls button:disabled{opacity:.4;cursor:default}.game-zoom-controls span{min-width:52px;text-align:center;font-size:var(--t-xs)}.game-expanded-close{justify-self:end}.game-expanded-viewport{flex:1 1;min-height:0;overflow:hidden;background:#fff}.game-expanded-viewport iframe{display:block;border:0;transform-origin:top left;background:#fff}@media (max-width:700px){.game-expanded-toolbar{grid-template-columns:1fr auto}.game-expanded-toolbar>strong{display:none}.game-zoom-controls{justify-self:start}.game-zoom-controls button{padding:6px 9px}}@media (max-width:400px){.game-expanded-restart{display:none}}.play-tools{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.admin-pane{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.admin-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px}.form-row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}.form-row input{flex:1 1;min-width:130px}.form-row select{flex:0 0 auto;width:auto;min-width:130px}.form-row .btn{width:auto;flex:none}.cred-card{background:var(--ok-soft);border:1px solid var(--ok-line);border-radius:var(--r-m);padding:16px}.cred-head{font-size:var(--t-sm);font-weight:700;color:var(--ok);margin-bottom:12px}.cred-body{display:flex;gap:36px;flex-wrap:wrap;margin-bottom:16px}.cred-label{display:block;font-size:var(--t-xs);color:var(--ink-sub)}.cred-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-lg);font-weight:700;color:var(--ink)}.cred-pass{letter-spacing:.06em}.cred-actions{display:flex;gap:8px}.user-list{display:flex;flex-direction:column;gap:6px}.user-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:10px 14px}.user-main{display:flex;flex-direction:column}.user-name{font-weight:700;font-size:var(--t-base)}.user-sub{font-size:var(--t-sm);color:var(--ink-sub)}.user-actions{display:flex;gap:6px}.user-actions .btn-small{min-width:38px;text-align:center;padding:6px 8px}.usage-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:18px}.usage-amount{font-size:var(--t-2xl);font-weight:700;color:var(--ink);line-height:1.2}.usage-limit{font-size:var(--t-sm);font-weight:400;color:var(--ink-faint)}.usage-bar{height:6px;background:var(--surface-sub);border-radius:3px;overflow:hidden;margin:12px 0 8px}.usage-fill{height:100%;transition:width .3s}.modal{position:fixed;inset:0;background:rgba(35,36,31,.5);align-items:center;justify-content:center;z-index:50}.modal,.modal-body{display:flex;padding:16px}.modal-body{background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow-pop);width:100%;max-width:720px;max-height:90vh;flex-direction:column}.history-modal{max-width:980px;overflow:hidden}.history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-head h2{margin:2px 0 14px;font-size:var(--t-lg)}.history-layout{display:grid;grid-template-columns:minmax(220px,290px) 1fr;grid-gap:12px;gap:12px;min-height:360px;overflow:hidden}.history-list{overflow-y:auto;gap:6px}.history-item,.history-list{display:flex;flex-direction:column}.history-item{border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface);padding:10px 12px;text-align:left;font-family:inherit;font-size:var(--t-sm);cursor:pointer;gap:2px}.history-item.selected{border-color:var(--accent);background:var(--accent-soft)}.history-item span{color:var(--ink-sub)}.history-item em{color:var(--accent);font-style:normal;font-weight:700}.history-preview{display:flex;flex-direction:column;gap:10px;min-width:0}.history-preview iframe{width:100%;min-height:310px;flex:1 1;border:1px solid var(--line-strong);border-radius:var(--r-m);background:#fff}@media (max-width:700px){.history-layout{grid-template-columns:1fr;overflow-y:auto}.history-list{max-height:180px}.history-preview iframe{min-height:260px}}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:14px}.kpi-value{font-size:var(--t-xl);font-weight:700;color:var(--ink);line-height:1.3}.kpi-label{font-size:var(--t-sm);color:var(--ink-sub)}.room-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px}.room-row.stopped{background:var(--surface-sub);opacity:.7}.room-main{flex:1 1;min-width:0}.room-name{font-weight:700;font-size:var(--t-base)}.room-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-sub);border-radius:4px;padding:1px 6px;margin-left:8px}.room-code,.room-meta{font-size:var(--t-sm);color:var(--ink-sub)}.room-meta{margin:2px 0}.room-actions{display:flex;gap:4px}.room-actions .btn-small{min-width:40px;text-align:center;padding:6px 8px}.consent-warn{background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--r-s);padding:10px 14px;font-size:var(--t-sm);color:var(--warn)}.consent-warn.danger{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad);font-weight:700}.btn-small.consent-on{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.btn-small.consent-off{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.event-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--line);border-left-width:3px;border-radius:var(--r-s);padding:12px 14px}.event-row.sev-high{border-left-color:var(--bad)}.event-row.sev-medium{border-left-color:var(--warn)}.event-row.sev-low{border-left-color:var(--line-strong)}.event-row.done{opacity:.55}.event-main{flex:1 1;min-width:0}.event-head{display:flex;align-items:center;gap:8px;margin-bottom:2px}.sev-badge{font-size:var(--t-xs);font-weight:700;border-radius:4px;padding:1px 7px}.sev-badge.sev-high{background:var(--bad-soft);color:var(--bad)}.sev-badge.sev-medium{background:var(--warn-soft);color:var(--warn)}.sev-badge.sev-low{background:var(--surface-sub);color:var(--ink-sub)}.event-who{font-weight:700;font-size:var(--t-sm)}.event-reason,.event-when{font-size:var(--t-xs);color:var(--ink-sub)}.event-excerpt{font-size:var(--t-sm);color:var(--ink-sub);background:var(--surface-sub);border-radius:4px;padding:6px 10px;margin-top:6px;word-break:break-word}.event-reviewed{font-size:var(--t-xs);color:var(--ok);margin-top:6px}.attach-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0 0}.attach-btn{border:1px dashed var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-s);padding:8px 14px;font-family:inherit;font-size:var(--t-sm);font-weight:700;cursor:pointer}.attach-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.attach-btn:disabled{opacity:.5;cursor:default}.attach-hint{font-size:var(--t-sm);color:var(--ink-sub)}.attach-preview{position:relative;display:inline-flex}.attach-preview img{height:52px;width:auto;border-radius:var(--r-s);border:1px solid var(--line);display:block}.attach-remove{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border:0;border-radius:50%;background:var(--bad);color:#fff;font-size:var(--t-sm);line-height:1;cursor:pointer}.bubble-image{display:block;max-width:100%;max-height:180px;width:auto;border-radius:var(--r-s);margin-bottom:6px}.looks-panel{border:1px solid var(--line);border-radius:var(--r-m);padding:14px 16px;margin:12px 0 0;background:var(--surface)}.looks-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.looks-badge,.looks-title{font-weight:700}.looks-badge{font-size:var(--t-xs);color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-line);border-radius:999px;padding:2px 10px}.looks-busy{padding:14px 2px}.looks-busy,.looks-hint{color:var(--ink-sub);font-size:var(--t-sm)}.looks-hint{margin:2px 0 12px}.looks-frame{width:100%;height:190px;border:1px solid var(--line);border-radius:var(--r-s);background:#fff;display:block}.looks-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.looks-actions .btn{width:auto}.looks-ref{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 0}.looks-ref .btn{width:auto}.looks-ref-chosen{display:flex;gap:12px;align-items:center;background:var(--surface-sub);border-radius:var(--r-s);padding:8px 10px}.looks-ref-chosen img{width:60px;height:60px;object-fit:cover;border-radius:var(--r-s);border:1px solid var(--line)}.looks-ref-info{display:grid;grid-gap:5px;gap:5px;justify-items:start}.looks-ref-info strong{font-size:var(--t-sm)}.looks-swatches{display:flex;gap:4px}.looks-swatches span{width:18px;height:18px;border-radius:4px;border:1px solid var(--line-strong)}.website-stepper{display:flex;gap:5px;margin:4px 0 16px;padding-bottom:6px;overflow-x:auto;scrollbar-width:thin}.website-stepper button{flex:0 0 auto;display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink-faint);border-radius:999px;padding:6px 13px;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.website-stepper button span{font-size:.9rem;line-height:1}.website-stepper button small{font-size:var(--t-sm);font-weight:700;white-space:nowrap}.website-stepper button.done{color:var(--ink);border-color:var(--line-strong)}.website-stepper button.current{border-color:var(--accent);color:#fff;background:var(--accent)}.website-stepper button:disabled{opacity:.5;cursor:default}.website-workspace{display:grid;grid-template-columns:minmax(360px,1fr) minmax(400px,1fr);grid-gap:16px;gap:16px;align-items:start}.website-instruction{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px}.website-step-title{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid var(--line)}.website-step-title>span{font-size:1.25rem;line-height:1}.website-step-title small{display:block;color:var(--ink-faint);font-size:var(--t-xs);font-weight:700;letter-spacing:.06em}.website-step-title h2{margin:0;font-size:var(--t-xl)}.website-quiz-score,.website-rank{border-radius:999px;padding:3px 11px;font-size:var(--t-sm);font-weight:700;white-space:nowrap}.website-rank{background:var(--surface-sub);color:var(--ink-sub);margin-left:auto}.website-quiz-score{background:var(--warn-soft);color:var(--warn)}.website-rank+.website-quiz-score{margin-left:0}.challenge-panel,.code-blockers,.explore-panel,.extra-card,.lesson-card,.quiz-card,.website-pending,.website-public-url,.website-review-note{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--r-s);padding:14px 16px;margin:18px 0}.challenge-panel summary,.code-blockers b,.explore-panel>b,.extra-card>b,.lesson-card>b,.quiz-card>b{display:block;font-size:var(--t-sm);font-weight:700;letter-spacing:.02em;margin-bottom:4px}.lesson-card{border-left-color:var(--accent)}.lesson-card>b{color:var(--accent)}.lesson-card p{margin:4px 0 0}.quiz-card{border-left-color:var(--accent)}.quiz-card>b{color:var(--accent)}.quiz-card.solved{border-left-color:var(--ok)}.quiz-card.solved>b{color:var(--ok)}.quiz-card p{margin:4px 0 10px}.extra-card{border-left-color:var(--warn)}.extra-card>b{color:var(--warn)}.extra-card p{margin:4px 0 0}.explore-panel{border-left-color:var(--accent)}.explore-panel>b{color:var(--accent)}.challenge-panel{border-left-color:var(--warn);margin:0 0 16px}.challenge-panel summary{color:var(--warn);cursor:pointer;margin-bottom:0}.code-blockers{border-left-color:var(--bad)}.code-blockers b{color:var(--bad)}.code-blockers ul{margin:6px 0 0;padding-left:20px;font-size:var(--t-sm)}.code-blockers li{margin:3px 0}.website-review-note{border-left-color:var(--warn);font-size:var(--t-sm)}.website-pending{border-left-color:var(--accent);font-weight:700;font-size:var(--t-sm)}.website-public-url{border-left-color:var(--ok);display:grid;grid-gap:6px;gap:6px;overflow-wrap:anywhere;font-size:var(--t-sm)}.website-public-url a{color:var(--accent)}.lesson-code{margin:10px 0 0;padding:12px 14px;background:var(--code-bg);color:var(--code-fg);border-radius:var(--r-s);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);line-height:1.7;overflow-x:auto;white-space:pre}.website-try{margin:20px 0 6px}.website-try b{font-size:var(--t-sm);color:var(--ink)}.website-field{display:grid;grid-gap:5px;gap:5px;margin:12px 0;font-size:var(--t-sm);font-weight:700}.website-card-editor input,.website-card-editor textarea,.website-field input,.website-field textarea,.website-review-actions textarea{font:inherit;font-weight:400;font-size:var(--t-base)}.website-card-editor textarea,.website-field textarea{min-height:64px;resize:vertical}.website-sub-label{display:block;margin-top:18px;font-size:var(--t-sm)}.website-card-editor{display:grid;grid-template-columns:76px 1fr;grid-gap:8px;gap:8px;margin:10px 0;padding:14px;background:var(--surface-sub);border-radius:var(--r-s)}.website-card-editor b{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:var(--t-sm)}.website-card-editor .rich-editor,.website-card-editor textarea{grid-column:1/-1}.website-card-editor select{font-size:1.3rem;text-align:center;padding:6px 4px}.qa-editor{grid-template-columns:1fr}.card-remove{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-sub);border-radius:var(--r-s);padding:2px 8px;font-family:inherit;font-size:var(--t-xs);font-weight:700;cursor:pointer}.card-remove:hover{border-color:var(--bad-line);background:var(--bad-soft);color:var(--bad)}.css-tabs,.effect-choices,.gallery-choices,.hero-choices,.nav-choices,.pattern-choices,.theme-choices{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}.font-choices{display:grid;grid-gap:7px;gap:7px;margin:12px 0 16px}.css-tabs button,.effect-choices button,.font-choices button,.gallery-choices button,.hero-choices button,.nav-choices button,.pattern-choices button,.theme-choices button{display:grid;grid-gap:2px;gap:2px;text-align:left;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-s);padding:8px 13px;font-family:inherit;font-size:var(--t-sm);font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.css-tabs button:hover:not(.selected),.effect-choices button:hover:not(:disabled),.font-choices button:hover:not(:disabled),.gallery-choices button:hover:not(:disabled),.hero-choices button:hover:not(:disabled),.nav-choices button:hover:not(:disabled),.pattern-choices button:hover:not(:disabled),.theme-choices button:hover:not(:disabled){border-color:var(--ink-faint)}.css-tabs button.selected,.effect-choices button.selected,.font-choices button.selected,.gallery-choices button.selected,.hero-choices button.selected,.nav-choices button.selected,.pattern-choices button.selected,.theme-choices button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.nav-choices button:disabled{opacity:.45;cursor:not-allowed}.effect-choices button,.gallery-choices button,.hero-choices button,.pattern-choices button,.theme-choices button{grid-auto-flow:column;align-items:center;justify-content:start}.pattern-swatch,.theme-choices i{display:inline-block;width:16px;height:16px;margin-right:7px;border-radius:3px;vertical-align:middle}.gallery-choices button,.hero-choices button{font-size:1.5rem;padding:5px 9px}.font-choices button span{font-size:var(--t-lg);font-weight:400}.css-tabs button{grid-auto-flow:column;align-items:center;gap:6px;justify-content:start}.css-tabs em{background:var(--ok);color:#fff;border-radius:999px;padding:0 7px;font-style:normal;font-size:var(--t-xs)}.effect-choices code,.font-choices code,.nav-choices code,.pattern-choices code,.theme-choices code{display:block;margin-top:2px;color:var(--ink-faint);font-size:var(--t-xs);font-weight:400;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pattern-dots{background-image:radial-gradient(#ffffffb3 2.5px,transparent 0);background-size:9px 9px}.pattern-stripes{background-image:repeating-linear-gradient(45deg,#ffffff99 0 4px,transparent 4px 8px)}.pattern-grid{background-image:linear-gradient(#ffffffb3 1px,transparent 0),linear-gradient(90deg,#ffffffb3 1px,transparent 0);background-size:8px 8px}.website-game-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.website-game-fields label{display:flex;align-items:center;gap:8px;background:var(--surface-sub);border-radius:var(--r-s);padding:10px;font-size:var(--t-sm);font-weight:700}.website-game-fields input[type=range]{min-width:80px;flex:1 1;accent-color:var(--accent)}.website-toggle{display:flex;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;background:var(--surface-sub);border-radius:var(--r-s);font-size:var(--t-sm);font-weight:700;cursor:pointer}.website-toggle input{width:18px;height:18px;accent-color:var(--accent)}.check-list{padding:0;list-style:none;font-size:var(--t-sm)}.check-list li{margin:6px 0;padding:8px 10px;background:var(--surface-sub);border-radius:var(--r-s)}.check-list li:before{content:"□ ";color:var(--ink-sub);font-weight:700}.hex-editor,.profile-editor,.ranking-editor{display:grid;grid-gap:8px;gap:8px;margin:10px 0 16px;padding:14px;background:var(--surface-sub);border-radius:var(--r-s)}.profile-editor{grid-template-columns:1fr 1fr}.profile-editor label,.ranking-editor label{display:grid;grid-gap:4px;gap:4px;font-size:var(--t-sm);font-weight:700}.profile-editor input:not([type=color]),.profile-editor select,.ranking-editor input{font:inherit;font-weight:400}.profile-editor .hint{grid-column:1/-1;margin:0}.hex-field input[type=color],.profile-editor input[type=color]{width:54px;height:34px;border:1px solid var(--line-strong);border-radius:var(--r-s);padding:2px;background:var(--surface)}.hex-field{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:var(--t-sm);font-weight:700}.hex-field>span{min-width:130px}.hex-field b{color:var(--ink-faint);font-size:var(--t-xs);font-weight:400}.hex-input{width:116px;border:1px solid var(--line-strong);border-radius:var(--r-s);padding:7px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm)}.hex-input.bad{border-color:var(--bad);background:var(--bad-soft)}.hex-editor .hint{margin:0}.code-peek{margin:18px 0;background:var(--surface-sub);border-radius:var(--r-s);padding:10px 14px}.code-peek summary{cursor:pointer;font-size:var(--t-sm);font-weight:700;color:var(--ink-sub)}.code-peek .lesson-code{white-space:pre-wrap;word-break:break-word}.explore-panel p{margin:6px 0;font-size:var(--t-sm)}.explore-panel ul{display:grid;grid-gap:6px;gap:6px;margin:8px 0 0;padding:0;list-style:none}.explore-panel li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;background:var(--surface-sub);border-radius:var(--r-s);padding:8px 11px;font-size:var(--t-sm)}.explore-panel a{color:var(--accent);font-weight:700}.explore-panel small{color:var(--ink-sub)}.challenge-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:7px;gap:7px;margin-top:10px}.challenge-list>div{display:grid;grid-template-columns:26px 1fr;align-items:center;grid-gap:0 8px;gap:0 8px;background:var(--surface-sub);border-radius:var(--r-s);padding:8px 10px;font-size:var(--t-sm);color:var(--ink-sub)}.challenge-list>div.done{background:var(--ok-soft);color:var(--ink)}.challenge-list span{grid-row:span 2;font-size:var(--t-lg);text-align:center}.challenge-list small{color:var(--ink-faint);font-size:var(--t-xs)}.website-qr{width:170px;height:170px;background:#fff;border-radius:var(--r-s);padding:6px}.website-submit{width:100%;margin-top:14px}.website-preview-pane{position:-webkit-sticky;position:sticky;top:12px;background:var(--surface-sub);border:1px solid var(--line);border-radius:var(--r-l);padding:12px}.website-preview-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 10px}.website-preview-head span{color:var(--ink-sub);font-size:var(--t-sm);font-weight:700}.device-toggle{display:flex;gap:4px}.device-toggle button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-sub);border-radius:var(--r-s);padding:3px 10px;font-family:inherit;font-size:var(--t-xs);font-weight:700;cursor:pointer}.device-toggle button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.preview-frame iframe{display:block;width:100%;height:620px;border:0;border-radius:var(--r-m);background:#fff}.preview-frame.phone{width:375px;max-width:100%;margin:auto;border:8px solid var(--ink);border-radius:24px;overflow:hidden;background:var(--ink)}.preview-frame.phone iframe{height:600px;border-radius:16px}.website-visual{min-height:560px;background:#fff;border-radius:var(--r-m);overflow:hidden;color:#1f2937}.website-visual header{text-align:center;padding:34px 20px;background:linear-gradient(135deg,var(--preview-soft,#dbeafe),#fff)}.pv-pattern-dots header{background-image:radial-gradient(#ffffff9e 3px,transparent 3px),linear-gradient(135deg,var(--preview-soft,#dbeafe),#fff);background-size:22px 22px,auto}.pv-pattern-stripes header{background-image:repeating-linear-gradient(45deg,#ffffff73 0 10px,transparent 10px 20px),linear-gradient(135deg,var(--preview-soft,#dbeafe),#fff)}.pv-pattern-grid header{background-image:linear-gradient(#ffffff8c 1.5px,transparent 1.5px),linear-gradient(90deg,#ffffff8c 1.5px,transparent 1.5px),linear-gradient(135deg,var(--preview-soft,#dbeafe),#fff);background-size:24px 24px,24px 24px,auto}.website-visual header>span{font-size:54px}.website-visual h1{margin:4px;color:var(--preview-color)}.pv-fx-float{display:inline-block;animation:pv-fl 3s ease-in-out infinite}@keyframes pv-fl{50%{transform:translateY(-6px)}}.pv-fx-wiggle{display:inline-block;animation:pv-wg 2.2s ease-in-out infinite}@keyframes pv-wg{25%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}}.pv-fx-rainbow{background:linear-gradient(90deg,#f43f5e,#f59e0b,#22c55e,#3b82f6,#a855f7,#f43f5e);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pv-rb 6s linear infinite}@keyframes pv-rb{to{background-position:300% 0}}.pv-gallery{margin-top:10px;font-size:22px;letter-spacing:6px}.website-visual h2{text-align:center;font-size:1.1rem;color:var(--preview-color)}.mini-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px;padding:10px}.mini-cards article{display:grid;grid-gap:3px;gap:3px;background:#f8fafc;padding:10px;border-radius:8px;border-top:3px solid var(--preview-color)}.mini-cards article>span{font-size:28px}.mini-cards small{color:#64748b}.website-visual>section{margin:10px;padding:10px;background:#f8fafc;border-radius:8px}.mini-game{display:grid;place-items:center;grid-gap:9px;gap:9px;margin:10px;padding:20px;background:#0f172a;color:#fff;border-radius:10px}.mini-game span{font-size:28px}.mini-game i{width:90px;height:10px;border-radius:6px}.mini-game svg{background:#fff;border-radius:4px}.mini-secret{background:#fff;border:1px dashed var(--preview-color);font-weight:700;text-align:center}.mini-secret,.pv-toc{margin:10px;padding:10px;border-radius:8px}.pv-toc{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:#f8fafc}.pv-toc b{color:var(--preview-color)}.pv-toc span{background:var(--preview-soft);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.pv-qa,.pv-rank{margin:6px 0}.pv-profile{display:flex;flex-wrap:wrap;gap:6px 16px}.pv-profile i{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle;box-shadow:0 0 0 1px #cbd5e1}.pv-lead p,.pv-note p,.pv-qa p,.website-visual>section p{margin:0 0 6px}.pv-lead p:last-child,.pv-note p:last-child,.pv-qa p:last-child{margin-bottom:0}.pv-note{font-size:.82rem;color:#64748b}.pv-empty{margin:10px;padding:16px;border:1px dashed #cbd5e1;border-radius:8px;color:#94a3b8;font-weight:700;font-size:.8rem;text-align:center;background:#fff}textarea.code-area{width:100%;min-height:60px;resize:vertical;border:1px solid var(--line-strong);border-radius:var(--r-s);padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);line-height:1.7;background:var(--code-bg);color:var(--code-fg)}textarea.code-area::placeholder{color:var(--code-dim)}textarea.code-area:focus{border-color:var(--accent);box-shadow:var(--focus)}.rich-editor{display:grid;grid-gap:6px;gap:6px;margin:16px 0}.rich-label{font-size:var(--t-sm);font-weight:700;color:var(--ink)}.rich-wrap{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-sub);font-size:var(--t-sm)}.rich-tools{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.rich-tools button{display:grid;justify-items:center;line-height:1.2;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-s);padding:4px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-xs);font-weight:700;cursor:pointer}.rich-tools button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.rich-tools button small{font-family:inherit;color:var(--ink-faint);font-size:.65rem;font-weight:400}.rich-tools button:hover small{color:var(--accent)}.rich-tools .rich-sample{font-family:inherit}.rich-tools>span{margin-left:auto;color:var(--ink-faint);font-size:var(--t-xs)}.rich-tools>span.over{color:var(--bad);font-weight:700}.code-error,.code-ok{margin:0;font-size:var(--t-sm);font-weight:700;border-radius:var(--r-s);padding:6px 10px}.code-error{background:var(--bad-soft);color:var(--bad)}.code-ok{background:var(--ok-soft);color:var(--ok)}.rich-result{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-s);padding:8px 11px;font-size:var(--t-sm)}.rich-result small{display:block;color:var(--ink-faint);font-size:var(--t-xs)}.rich-result mark{background:#fbeaa8}.css-lab{display:grid;grid-gap:9px;gap:9px;margin:16px 0}.css-editor{display:grid;grid-gap:2px;gap:2px}.css-selector{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);color:var(--ink-sub)}.css-presets{display:flex;flex-wrap:wrap;gap:6px}.css-presets button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 13px;font-family:inherit;font-size:var(--t-sm);font-weight:700;cursor:pointer}.css-presets button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.css-presets .css-clear:hover{border-color:var(--bad-line);background:var(--bad-soft);color:var(--bad)}.css-props{background:var(--surface-sub);border-radius:var(--r-s);padding:10px 12px}.css-props summary{cursor:pointer;font-size:var(--t-sm);font-weight:700;color:var(--ink-sub)}.css-props>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.css-props button{border:1px solid var(--line-strong);background:var(--surface);border-radius:4px;padding:3px 8px;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-xs);color:var(--ink)}.css-props button:hover{border-color:var(--accent);color:var(--accent)}.code-value{display:flex;align-items:center;gap:5px;margin:14px 0;padding:12px;overflow-x:auto;background:var(--code-bg);border-radius:var(--r-s);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm)}.code-value code{white-space:nowrap;color:var(--code-blue)}.code-value input,.code-value textarea{min-width:130px;flex:1 1;border:1px solid var(--code-amber);background:rgba(255,255,255,.06);color:var(--code-amber);border-radius:4px;padding:6px 8px;font:inherit}.code-value input:focus,.code-value textarea:focus{box-shadow:none;border-color:#fff}.code-value textarea{min-height:76px;resize:vertical}.pixel-editor{display:grid;grid-gap:10px;gap:10px;margin:16px 0}.pixel-tools{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.pixel-tools button{width:26px;height:26px;border:1px solid var(--line-strong);border-radius:4px;cursor:pointer;padding:0}.pixel-tools button.selected{border-color:var(--ink);box-shadow:0 0 0 2px var(--accent-soft)}.pixel-tools .pixel-clear,.pixel-tools .pixel-eraser,.pixel-tools .pixel-mirror{width:auto;padding:0 10px;background:var(--surface);font-family:inherit;font-size:var(--t-xs);font-weight:700;color:var(--ink)}.pixel-grid{display:grid;width:100%;max-width:356px;border:1px solid var(--line-strong);border-radius:var(--r-s);overflow:hidden;touch-action:none;cursor:crosshair;background:repeating-conic-gradient(#f1eee7 0 25%,#fff 0 50%) 0 0 /16px 16px}.pixel-row{display:flex}.pixel-cell{flex:1 1;aspect-ratio:1;border:0;padding:0;background:transparent;outline:1px solid rgba(0,0,0,.04);pointer-events:none}.pixel-preview{display:flex;align-items:center;gap:10px;color:var(--ink-sub);font-size:var(--t-sm)}.pixel-preview svg{border:1px solid var(--line);border-radius:4px;background:#fff}.website-review-workspace{display:grid;grid-template-columns:230px 1fr;grid-gap:14px;gap:14px}.website-review-list{display:grid;align-content:start;grid-gap:6px;gap:6px}.website-review-list button{display:grid;text-align:left;grid-gap:2px;gap:2px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-s);padding:10px 12px;font-family:inherit;font-size:var(--t-sm);cursor:pointer}.website-review-list button.selected{border-color:var(--accent);background:var(--accent-soft)}.website-review-list small,.website-review-list span{color:var(--ink-sub);font-size:var(--t-xs)}.website-review-detail{display:grid;grid-template-columns:minmax(360px,1fr) 250px;grid-gap:12px;gap:12px}.website-review-detail iframe{width:100%;height:600px;border:1px solid var(--line-strong);border-radius:var(--r-m);background:#fff}.website-review-actions{display:grid;align-content:start;grid-gap:8px;gap:8px}.website-review-actions textarea{min-height:130px;resize:vertical}.published-site-list{display:grid;grid-gap:6px;gap:6px}.published-site-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);padding:10px 12px;font-size:var(--t-sm)}.published-site-list>div>div{display:flex;flex-wrap:wrap;gap:4px 14px}.published-site-list span{color:var(--ink-sub)}.published-site-list a{color:var(--accent)}@media (max-width:900px){.website-review-detail,.website-review-workspace,.website-workspace{grid-template-columns:1fr}.website-preview-pane{position:static}.preview-frame iframe,.website-review-detail iframe{height:520px}.website-review-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width:600px){.website-start-card{align-items:stretch;flex-direction:column}.website-workspace{display:flex;flex-direction:column}.website-instruction{padding:18px}.website-instruction,.website-preview-pane{width:100%}.mini-cards,.profile-editor,.website-game-fields{grid-template-columns:1fr}}.quest{margin:0 0 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:16px 18px 18px}.quest-status{display:flex;align-items:center;gap:10px;background:var(--accent-soft);color:var(--accent);border-radius:var(--r-s);padding:10px 12px;margin-bottom:16px;font-size:var(--t-sm);font-weight:700}.quest-status small{color:var(--accent);font-weight:400}.quest-status .btn{width:auto}.quest-status.done{background:var(--ok-soft);color:var(--ok);justify-content:space-between}.quest-spinner{flex:none;width:18px;height:18px;border-radius:50%;border:3px solid var(--accent-line);border-top-color:var(--accent);animation:quest-spin .9s linear infinite}@keyframes quest-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.quest-spinner{animation:none}}.quest-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.quest-kind{border-radius:4px;padding:2px 8px;font-size:var(--t-xs);font-weight:700;background:var(--surface-sub);color:var(--ink-sub)}.quest-kind.kind-bug{background:var(--bad-soft);color:var(--bad)}.quest-kind.kind-draw{background:var(--warn-soft);color:var(--warn)}.quest-kind.kind-order{background:var(--ok-soft);color:var(--ok)}.quest-title{font-size:var(--t-base)}.quest-score{margin-left:auto;color:var(--ink-sub);font-size:var(--t-sm);font-weight:700}.quest-prompt{margin:10px 0;font-size:var(--t-sm)}.quest-code{margin:0 0 10px;padding:12px 14px;background:var(--code-bg);color:var(--code-fg);border-radius:var(--r-s);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);line-height:1.7;overflow-x:auto;white-space:pre}.quest-code.sample{color:var(--code-amber)}.quest-choices,.quiz-choices{display:grid;grid-gap:6px;gap:6px}.quest-choices button,.quiz-choices button{text-align:left;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-s);padding:9px 13px;font-family:inherit;font-size:var(--t-sm);font-weight:700;cursor:pointer;transition:border-color .15s,background .15s}.quest-choices button:hover:not(:disabled),.quiz-choices button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.quest-choices button:disabled,.quiz-choices button:disabled{cursor:default;color:var(--ink-faint)}.quest-choices button.correct,.quiz-choices button.correct{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.quest-choices button.wrong,.quiz-choices button.wrong{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.quest-why,.quiz-result{margin:10px 0 0;font-size:var(--t-sm);font-weight:700;border-radius:var(--r-s);padding:8px 11px}.quest-why.ok,.quiz-result.ok{background:var(--ok-soft);color:var(--ok)}.quest-why.ng,.quiz-result.ng{background:var(--warn-soft);color:var(--warn)}.quest-lines{display:grid;grid-gap:4px;gap:4px}.quest-lines button{display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;border:1px solid var(--line-strong);background:var(--code-bg);color:var(--code-fg);border-radius:var(--r-s);padding:8px 10px;font-family:inherit}.quest-lines button:disabled{cursor:default;opacity:.85}.quest-lines button.correct{border-color:var(--ok);box-shadow:inset 3px 0 0 var(--ok)}.quest-lines button.wrong{border-color:var(--bad);box-shadow:inset 3px 0 0 var(--bad)}.quest-lineno{flex:none;width:20px;text-align:center;border-radius:3px;background:rgba(255,255,255,.12);font-size:var(--t-xs);color:var(--code-dim)}.quest-lines code,.quest-part code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);white-space:pre-wrap;word-break:break-word}.quest-order{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:12px;gap:12px;align-items:start}.quest-order-col{display:grid;grid-gap:5px;gap:5px;align-content:start}.quest-order-label{display:block;font-size:var(--t-xs);font-weight:700;color:var(--ink-sub)}.quest-order-empty{font-size:var(--t-xs);color:var(--ink-faint);padding:6px 2px}.quest-part{display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-s);padding:7px 9px;font-family:inherit}.quest-part.built{background:var(--code-bg);color:var(--code-fg);border-color:var(--code-bg)}.quest-part:disabled{cursor:default;opacity:.8}.quest-order-stage{display:grid;grid-gap:5px;gap:5px}.quest-canvas{display:block;border:1px solid var(--line);border-radius:var(--r-s);background:#fff;max-width:100%;height:auto}.quest-draw{display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px;align-items:start}.quest-draw-editor{display:grid;grid-gap:5px;gap:5px;min-width:0}.quest-draw-stages{display:grid;grid-gap:10px;gap:10px}.quest-editor{width:100%;border:1px solid var(--line-strong);border-radius:var(--r-s);padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);line-height:1.7;resize:vertical;background:var(--code-bg);color:var(--code-fg)}.quest-editor:focus{border-color:var(--accent);box-shadow:var(--focus)}.quest-error{margin:0;color:var(--bad);font-weight:700;font-size:var(--t-sm)}.quest-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}.quest-actions .btn{width:auto}.quest-hint{margin-left:auto;font-size:var(--t-sm);color:var(--warn);background:var(--warn-soft);border-radius:var(--r-s);padding:5px 10px}.quest-cheatsheet{margin-top:14px}.quest-cheatsheet summary{cursor:pointer;font-size:var(--t-sm);font-weight:700;color:var(--ink-sub)}.quest-cheatsheet ul{display:grid;grid-gap:4px;gap:4px;margin:9px 0 0;padding:0;list-style:none}.quest-cheatsheet li{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px}.quest-cheatsheet code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);color:var(--ink)}.quest-cheatsheet small{color:var(--ink-sub);font-size:var(--t-xs)}.quest-foot{display:flex;align-items:center;gap:10px;margin-top:14px}.quest-ok{font-weight:700;color:var(--ok);font-size:var(--t-sm)}.quest-foot .btn{margin-left:auto;width:auto}@media (max-width:860px){.quest-draw,.quest-order{grid-template-columns:1fr}.quest-draw-stages{grid-template-columns:1fr 1fr}}.genre-choices{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.genre-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 15px;font-family:inherit;font-size:var(--t-sm);font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.genre-chip:hover:not(.selected){border-color:var(--ink-faint)}.genre-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.genre-emoji{font-size:1rem;line-height:1}.genre-blurb{font-size:var(--t-sm);color:var(--ink-sub);margin:0 0 20px}.code-modal{max-width:min(1280px,96vw);max-height:94vh}.code-hint{margin:4px 0 12px;color:var(--ink-sub);font-size:var(--t-sm)}.code-layout{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:12px;gap:12px;min-height:0;flex:1 1}.code-pane{position:relative;min-height:min(58vh,520px);border-radius:var(--r-m);overflow:hidden;background:var(--code-bg)}.code-highlight,.code-input{position:absolute;inset:0;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;border:0;overflow:auto}.code-highlight{color:var(--code-fg);pointer-events:none}.code-input{background:transparent;color:transparent;caret-color:var(--code-amber);resize:none}.code-input:focus{outline:0;box-shadow:inset 0 0 0 2px var(--accent)}.code-highlight .c-comment{color:var(--code-dim);font-style:italic}.code-highlight .c-str{color:var(--code-green)}.code-highlight .c-num{color:var(--code-amber)}.code-highlight .c-key{color:var(--code-violet);font-weight:700}.code-highlight .c-tag{color:var(--code-blue)}.code-preview{min-height:min(58vh,520px);display:flex}.code-preview iframe{flex:1 1;width:100%;border:1px solid var(--line-strong);border-radius:var(--r-m);background:#fff}.code-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.code-actions .btn{width:auto}.code-saved{font-weight:700;color:var(--ok);font-size:var(--t-sm)}.code-size{margin-left:auto;color:var(--ink-faint);font-size:var(--t-xs)}@media (max-width:900px){.code-layout{grid-template-columns:1fr}.code-pane,.code-preview{min-height:300px}}.sprite-studio{margin:16px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:14px 16px}.sprite-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));grid-gap:8px;gap:8px;margin:12px 0 0}.sprite-slot{display:grid;justify-items:center;grid-gap:2px;gap:2px;cursor:pointer;font-family:inherit;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-s);padding:10px 8px;transition:border-color .15s,background .15s}.sprite-slot:hover{border-color:var(--line-strong)}.sprite-slot.drawn{border-color:var(--accent-line);background:var(--accent-soft)}.sprite-slot.editing{border-color:var(--accent);box-shadow:var(--focus)}.sprite-slot strong{font-size:var(--t-sm)}.sprite-slot small{color:var(--ink-sub);font-size:var(--t-xs)}.sprite-thumb{display:flex;align-items:center;justify-content:center;height:44px;font-size:1.7rem}.sprite-thumb svg{image-rendering:pixelated}.sprite-editor{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.sprite-editor-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}.sprite-editor-head strong{margin-right:auto;font-size:var(--t-sm)}.sprite-editor-head .btn{width:auto}.sprite-saving{font-size:var(--t-xs);color:var(--ink-faint)}.bubble .md-p{margin:0 0 8px}.bubble .md-p:last-child{margin-bottom:0}.bubble .md-h{margin:12px 0 4px;font-weight:700;line-height:1.5}.bubble .md-h:first-child{margin-top:0}.bubble h3.md-h{font-size:var(--t-lg)}.bubble h4.md-h{font-size:var(--t-base)}.bubble h5.md-h{font-size:var(--t-sm)}.bubble .md-list{margin:0 0 8px;padding-left:1.3em;display:grid;grid-gap:2px;gap:2px}.bubble .md-list:last-child{margin-bottom:0}.bubble .md-list li{line-height:1.7}.bubble .md-quote{margin:0 0 8px;padding:2px 0 2px 12px;border-left:2px solid var(--line-strong);color:var(--ink-sub)}.bubble .md-code{margin:0 0 8px;padding:10px 12px;background:var(--code-bg);color:var(--code-fg);border-radius:var(--r-s);font-size:var(--t-sm);overflow-x:auto;white-space:pre}.bubble .md-code,.bubble .md-inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bubble .md-inline-code{background:var(--surface-sub);color:var(--ink);border-radius:3px;padding:1px 5px;font-size:.88em}.bubble .md-hr{border:0;border-top:1px solid var(--line);margin:12px 0}.bubble.user .md-quote{border-left-color:rgba(255,255,255,.45);color:rgba(255,255,255,.85)}.bubble.user .md-inline-code{background:rgba(255,255,255,.18);color:#fff}.bubble.assistant{white-space:normal}.bubble.assistant .md-p{white-space:pre-wrap}.notes-body{margin-top:8px;font-size:var(--t-sm);line-height:1.8}.notes-body .md-p{margin:0 0 6px;white-space:pre-wrap}.notes-body .md-list{margin:0 0 6px;padding-left:1.3em;display:grid;grid-gap:2px;gap:2px}