@charset "UTF-8";
:root{color-scheme:light;--paper:#f7f6ef;--surface:#fffefa;--ink:#263c43;--muted:#68797a;--line:#e3e7df;--teal:#26786d;--teal-dark:#185e55;--teal-light:#eaf3ed;--blue:#3e6faf;--blue-light:#edf2fa;--coral:#d67560;--coral-light:#fcf0e9;--sand:#f2e8c9;--shadow:0 6px 28px #2b4c4510;--radius:22px;font-family:"Microsoft YaHei","PingFang SC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.65}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button:disabled,[aria-disabled="true"]{opacity:.48}button,a,textarea,summary,canvas{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible,pre:focus-visible,input:focus-visible{outline:3px solid var(--blue)}textarea:focus{outline:3px solid #82b6cc55;border-color:#6399ae}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:16px}strong{font-weight:650}p,li,dd,h1,h2,h3,button{overflow-wrap:anywhere}ul,ol{margin:0;padding:0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;font-size:12px;font-weight:650;color:var(--muted);margin-bottom:10px}textarea{display:block;width:100%;min-width:0;max-width:100%;padding:14px 15px;border:1px solid #d8e0d7;border-radius:13px;background:#fffefa;color:var(--ink);line-height:1.8;resize:vertical;min-height:88px;transition:border-color .2s,outline .2s}textarea::placeholder{color:#758783;opacity:1}textarea:disabled{background:#f1f2eb}details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-weight:600}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"＋";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--teal);font-size:16px}details[open]>summary:before{content:"−"}details>summary span{font-size:11px;color:var(--muted);font-weight:400}[hidden]{display:none!important}.app-shell{max-width:1544px;padding:0 44px;margin:0 auto}.site-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);flex-shrink:0}.brand:hover{text-decoration:none}.brand-robot{width:52px;height:52px;flex-shrink:0}.brand strong{display:block;font-size:20px;letter-spacing:.5px}.brand-subtitle{display:block;font-size:10px;font-weight:650;letter-spacing:2.5px;color:var(--muted);margin-top:2px}.header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.connection-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:#9aaca3;display:inline-block;flex-shrink:0}.connection-badge[data-state="connected"]{color:var(--teal)}.connection-badge[data-state="connected"] .status-dot{background:#438c6a;box-shadow:0 0 0 4px #438c6a12}.connection-badge[data-state="error"]{color:#a74636}.connection-badge[data-state="error"] .status-dot{background:#c46c58}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 17px;border:1px solid transparent;border-radius:11px;font-size:13px;line-height:1.5;font-weight:600;text-align:center;min-height:43px;transition:background .15s,box-shadow .15s,transform .15s;text-decoration:none}.button:hover{text-decoration:none}.button:not(:disabled):not([aria-disabled="true"]):active{transform:translateY(1px)}.button-primary{background:var(--teal);color:#fff}.button-primary:not(:disabled):hover{background:var(--teal-dark);box-shadow:0 3px 10px #26786d20}.button-secondary{background:#fffefa;border-color:#dce3d9;color:var(--ink)}.button-secondary:not(:disabled):hover{background:var(--teal-light);border-color:#bfcfc2}.button-quiet{background:transparent;color:var(--muted)}.button-quiet:not(:disabled):hover{background:#eaece3;color:var(--ink)}.button-small{padding:8px 12px;min-height:38px;font-size:12px}.icon-button{border:0;background:transparent;color:var(--muted);font-size:24px;width:38px;height:38px;border-radius:8px;flex-shrink:0}.icon-button:hover{background:#00000006}.text-button{border:0;background:transparent;padding:6px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}.text-button:not(:disabled):hover{color:var(--teal)}.text-link{font-size:12px;font-weight:600;text-underline-offset:4px}.parent-info{margin-top:16px;padding:17px 22px;border:1px solid var(--line);background:#fffefa;border-radius:16px;font-size:12px}.parent-info:not([open]){display:none}.parent-info>summary{font-size:13px}.parent-grid{display:grid;grid-template-columns:1fr 1.15fr 1.2fr;gap:28px;margin-top:20px}.parent-grid h2{font-size:14px;margin-bottom:12px}.parent-grid p{margin-top:10px;color:var(--muted)}.parent-grid ol{padding-left:19px}.parent-grid li+li{margin-top:8px}.config-list{margin:0}.config-list>div{display:flex;justify-content:space-between;gap:12px;margin:5px 0}.config-list dt{color:var(--muted)}.config-list dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px 0 29px}.eyebrow{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--teal);font-weight:600;letter-spacing:1px;margin-bottom:10px}.eyebrow-line{width:22px;height:2px;background:var(--teal)}h1{font-size:clamp(25px,2.8vw,37px);font-weight:650;letter-spacing:-1px}.coral-dot{color:var(--coral)}.intro-copy{margin-top:11px;font-size:13px;color:var(--muted)}.learning-path{display:flex;list-style:none;gap:24px;font-size:12px;color:var(--muted);padding-top:17px;white-space:nowrap}.learning-path li{display:flex;align-items:center;gap:8px;position:relative}.learning-path li+li:before{content:"";position:absolute;left:-17px;width:9px;height:1px;background:#c8d3c8}.learning-path span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#e9eee2;color:var(--teal);font-size:10px;font-weight:700}.learning-path li:nth-child(2) span{background:var(--blue-light);color:var(--blue)}.learning-path li:nth-child(3) span{background:var(--coral-light);color:var(--coral)}.notice{display:flex;justify-content:space-between;gap:16px;border:1px solid #c6d8cf;border-radius:14px;background:var(--teal-light);padding:15px 18px;margin-bottom:20px;font-size:13px}.notice p{margin-top:4px;white-space:pre-wrap}.notice[data-kind="error"]{background:#fff0e9;border-color:#eccbbb;color:#8e3d2e}.notice-context{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:24px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.game-heading{padding:22px 24px 19px}.heading-copy{min-width:0}.section-kicker{color:var(--muted);font-size:9px;letter-spacing:1.8px;font-weight:650;margin-bottom:6px}.section-kicker>span{display:inline-block;font-size:10px;font-weight:400;letter-spacing:0;margin-left:10px}.game-heading h2{font-size:20px}.pill{display:inline-flex;align-items:center;padding:5px 10px;min-height:28px;border-radius:7px;background:#f0f2ea;color:var(--muted);font-size:10px;font-weight:600;white-space:nowrap}.pill-teal,.pill[data-kind="candidate"]{background:var(--teal-light);color:var(--teal)}.pill[data-kind="history"]{background:var(--blue-light);color:var(--blue)}.stage-wrap{position:relative;margin:0 14px;border-radius:15px;overflow:hidden;background:#eaf1e9;isolation:isolate}.stage-wrap:focus-within{box-shadow:0 0 0 3px #7398bd}#game-canvas{display:block;width:100%;height:auto;aspect-ratio:8/5;background:#eaf1e9;touch-action:none;outline-offset:-4px}.stage-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-end;padding:28px 20px 34px;background:linear-gradient(transparent 38%,#e7efea6b);pointer-events:none}.stage-message{pointer-events:auto;text-align:center;background:#fffefaf0;border:1px solid #ffffffd9;box-shadow:0 12px 45px #253f4521;backdrop-filter:blur(10px);border-radius:17px;padding:19px 25px;max-width:440px}.stage-kicker{display:block;font-size:10px;color:var(--teal);letter-spacing:1px;margin-bottom:5px}.stage-message strong{display:block;font-size:23px;font-weight:650}.stage-message p{font-size:12px;margin:7px 0 13px;color:var(--muted)}.stage-message .button{min-width:134px}.viewport-label{position:absolute;bottom:8px;right:12px;font-size:8px;color:#3b575b;letter-spacing:1px;pointer-events:none;opacity:.65}.game-toolbar{padding:17px 22px 11px;display:flex;justify-content:space-between;align-items:center;gap:12px}.play-actions{display:flex;gap:8px;flex-wrap:wrap}.run-status{font-size:11px;color:var(--muted);text-align:right}.run-status[data-mode="playing"]{color:var(--teal)}.run-status[data-mode="error"]{color:#a74636}.game-instructions{padding:3px 24px 12px;font-size:12px}.game-instructions>p:first-child{font-weight:500;white-space:pre-wrap}.focus-tip{font-size:10px;color:var(--muted);margin-top:5px}.game-hud{display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0 24px 19px;min-height:19px}.game-hud li{font-size:10px;padding:4px 9px;background:#eff3eb;border-radius:6px;color:#47695e}.touch-controls{margin:0 22px 20px;border-top:1px dashed #dce3d7;padding-top:12px;font-size:11px}.touch-controls summary{flex-wrap:wrap}.touch-controls summary span{font-size:9px}.touch-layout{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:13px}.dpad{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,34px);gap:4px}.touch-key{display:grid;place-items:center;min-width:34px;min-height:34px;border:1px solid #d8e1d5;background:#f2f5ed;color:#375f56;border-radius:7px;font-size:13px;font-weight:700;touch-action:none;user-select:none}.touch-key[data-held="true"]{background:var(--teal);color:#fff;border-color:var(--teal)}.up{grid-column:2;grid-row:1}.left{grid-column:1;grid-row:2}.down{grid-column:2;grid-row:2}.right{grid-column:3;grid-row:2}.action-keys{display:grid;grid-template-columns:36px 58px;gap:5px}.space-key{font-size:11px}.idea-panel{padding:23px;background:#fffdf8;position:relative}.idea-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.number-label{font-size:9px;color:var(--teal);letter-spacing:1.7px;font-weight:650}.idea-icon{width:35px;height:35px;fill:none;stroke:var(--coral);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.idea-panel h2{font-size:23px;letter-spacing:-.7px}.idea-description{font-size:12px;color:var(--muted);margin:10px 0 16px}.base-context{font-size:10px;padding:9px 11px;background:#eef3e9;border-radius:9px;margin-bottom:18px;color:#4e6d5c}.field-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.field-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted);margin-top:7px}#prompt-counter{white-space:nowrap;font-variant-numeric:tabular-nums}.idea-panel textarea{font-size:12px;background:#fffefa}.feedback-details{margin:15px 0;font-size:10px;color:var(--muted)}.feedback-details[open] summary{margin-bottom:10px}.button-generate{width:100%;margin-top:2px;background:var(--teal);color:#fff;border-radius:12px;min-height:48px;font-size:13px}.button-generate:not(:disabled):hover{background:var(--teal-dark)}.button-generate>span:last-child{margin-left:auto}.generate-help{margin-top:9px;font-size:10px;line-height:1.7;color:var(--muted)}.inspiration{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.inspiration h3{font-size:12px;font-weight:650}.inspiration>p{font-size:10px;color:var(--muted);margin-top:5px}.idea-chips{display:grid;gap:7px;margin-top:12px}.idea-chip{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:1px solid #e8e9df;border-radius:9px;background:#fffefa;font-size:11px;color:#526566;min-height:37px;padding:8px 10px}.idea-chip:hover{background:#f2f4eb;border-color:#bfd1c1}.idea-chip>span:last-child{margin-left:auto;color:#899a91}.chip-mark{display:inline-block;width:8px;height:8px;border-radius:3px;flex-shrink:0}.teal{background:#8ab9a1}.blue{background:#91aed0}.coral{background:#e3a18b}.sand{background:#d3bf7f}.coauthor-note{display:flex;gap:11px;align-items:center;margin-top:20px;padding-top:15px;border-top:1px dashed #dfe4d7}.coauthor-note p{font-size:10px;color:var(--muted);line-height:1.9}.coauthor-note strong{color:#566e65;font-size:10px}.mini-orbit{width:27px;height:27px;border:1px solid #a9c1ae;border-radius:50%;flex-shrink:0;position:relative}.mini-orbit:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#90b1a0;top:8px;left:8px}.mini-orbit:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#d99077;right:0;top:0}.clarification{background:var(--blue-light);border:1px solid #d4dff0;border-radius:12px;margin:16px 0;padding:13px}.clarification>p{font-size:12px;margin-bottom:12px;white-space:pre-wrap}.clarification .help-text{margin-top:8px;margin-bottom:0;font-size:10px}.generation-progress{margin-top:16px;padding:13px;border:1px solid #d4dfef;background:var(--blue-light);border-radius:11px}.progress-top{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--blue);flex-wrap:wrap}.generation-progress p{margin-top:7px;font-size:10px;color:#62778b}.progress-top>span:last-child{margin-left:auto;font-size:10px;font-variant-numeric:tabular-nums}.working-ring{width:13px;height:13px;border:2px solid #bbcee4;border-top-color:var(--blue);border-radius:50%;animation:spin 1.3s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.candidate-panel{margin-top:18px;background:#edf4ec;border:1px solid #cadacb;border-radius:13px;padding:15px}.candidate-kicker{display:flex;align-items:center;gap:6px;color:var(--teal);font-size:10px;font-weight:650;margin-bottom:8px}.candidate-kicker .status-dot{background:var(--teal)}.candidate-panel h3{font-size:16px}.candidate-panel p{font-size:12px;margin-top:7px;white-space:pre-wrap}.candidate-panel .candidate-controls{font-size:11px;color:var(--muted)}.compare-actions{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}.compare-actions [aria-pressed="true"]{background:#d5e6d8;border-color:#b9cfbd;color:var(--teal-dark)}.record-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:24px;margin-top:24px;align-items:start}.history-panel,.notebook{padding:24px}.section-description{font-size:11px;color:var(--muted);margin-top:9px;margin-bottom:17px}.version-list{list-style:none;display:grid;gap:10px;max-height:456px;overflow-y:auto;overscroll-behavior:contain;padding:3px 4px 3px 2px}.version-item{position:relative;padding-left:20px}.version-item:before{content:"";position:absolute;left:3px;top:22px;width:7px;height:7px;border-radius:50%;background:#bdcfbe;box-shadow:0 0 0 4px #f1f5ed}.version-item:not(:last-child):after{content:"";position:absolute;width:1px;left:6px;top:37px;bottom:-15px;background:#e2e8db}.version-item.is-selected:before{background:var(--teal)}.version-select{width:100%;display:block;text-align:left;border:1px solid transparent;background:#f7f8f1;color:var(--ink);border-radius:12px;padding:12px 14px}.version-select:hover{background:#eff4e9}.version-select[aria-pressed="true"]{border-color:#b5cbb8;background:#edf4e9;box-shadow:inset 3px 0 0 #6c9c7d}.version-row{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);align-items:center}.version-row .pill{font-size:9px;min-height:22px;padding:2px 7px}.version-name{display:block;font-size:13px;font-weight:600;margin-top:5px}.version-meta{display:block;font-size:10px;color:var(--muted);margin-top:4px}.version-summary{display:block;font-size:11px;color:#677d73;margin-top:5px}.history-actions{padding-top:17px;margin-top:16px;border-top:1px solid var(--line)}.history-actions .help-text{margin-top:8px}.help-text{font-size:11px;color:var(--muted)}.smoke-status{border:1px solid #e7dfc6;background:#f9f5e9;color:#786441;border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.7;margin-bottom:19px}.test-list{display:grid;gap:8px}.test-item{display:flex;align-items:flex-start;gap:11px;padding:10px 12px;border:1px solid #e4e8dd;border-radius:10px;background:#fbfcf6;font-size:12px}.test-item input{width:17px;height:17px;flex-shrink:0;accent-color:var(--teal);margin:2px 0 0}.test-item:has(input:checked){background:#eef5e9;border-color:#d2dfc7}.test-item:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.test-item span{white-space:pre-wrap}.test-number{display:block;color:var(--muted);font-size:9px;margin-bottom:3px;letter-spacing:.5px}.note-label{margin-top:20px}.note-label>span{font-size:10px;color:var(--muted);font-weight:400;margin-left:7px}.notebook textarea{font-size:12px;background:repeating-linear-gradient(#fffefa 0,#fffefa 26px,#edf0e627 27px);line-height:27px;padding-top:11px}.candidate-review{margin-top:13px}.review-primary{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 4px}.saved-review{display:flex;align-items:center;gap:12px;margin-top:13px;flex-wrap:wrap}.notes-details{font-size:11px;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.notes-details>summary>span{display:inline-flex;min-width:18px;justify-content:center;background:#edf2e7;padding:0 5px;border-radius:4px}.notes-list{list-style:none;margin-top:12px;display:grid;gap:10px;max-height:260px;overflow:auto}.notes-list li{padding:10px 13px;border-left:2px solid #b6cdb6;background:#f6f8f0;font-size:12px;white-space:pre-wrap}.notes-list time{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.empty-state{padding:15px 0;color:var(--muted);font-size:12px}.project-footer{margin-top:24px;padding:24px}.project-tools{display:flex;justify-content:space-between;align-items:center;gap:20px}.project-tools strong{font-size:14px}.project-tools p{font-size:11px;color:var(--muted);margin-top:4px}.file-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.project-secondary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;font-size:10px;color:var(--muted)}.source-details{border-top:1px solid var(--line);padding-top:16px;margin-top:15px;font-size:11px}.source-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0 10px;font-size:10px;color:var(--muted)}.source-details .help-text{margin:5px 0}.source-details pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow:auto;max-height:390px;padding:18px;border:1px solid #dce6d9;border-radius:12px;background:#f0f4ec;color:#2d524c;font-size:11px;line-height:1.8;tab-size:2;font-family:Consolas,"SFMono-Regular",monospace}.site-footer{display:flex;justify-content:space-between;gap:16px;padding:24px 0 30px;font-size:9px;color:#708075;letter-spacing:.5px}.footer-divider{margin:0 10px;color:#adbcab}.muted{color:var(--muted)}dialog{border:1px solid #dce3d5;border-radius:20px;max-width:min(440px,calc(100vw - 32px));width:100%;padding:28px;background:var(--surface);color:var(--ink);box-shadow:0 20px 90px #23382a30}dialog::backdrop{background:#2b453c55;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin-bottom:13px}dialog p{font-size:13px;color:var(--muted);white-space:pre-wrap}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-90px;z-index:100;padding:12px 20px;background:var(--teal);color:#fff;border-radius:10px}.skip-link:focus{top:12px}
@media(min-width:1420px){.workspace{grid-template-columns:minmax(0,1fr) 363px}.idea-panel{padding:25px}.idea-panel textarea{font-size:13px}.stage-message{padding:22px 30px}.game-heading{padding-top:24px;padding-bottom:22px}.game-heading h2{font-size:23px}}
@media(max-width:1190px){.app-shell{padding:0 26px}.workspace{gap:18px;grid-template-columns:minmax(0,1fr) 318px}.idea-panel{padding:19px}.learning-path{gap:19px;font-size:11px}.learning-path li+li:before{left:-13px;width:6px}.game-heading{padding:20px}.stage-wrap{margin:0 10px}.game-toolbar{padding:15px 17px 10px}.game-toolbar .button{padding:9px 12px;min-height:39px;font-size:12px}.stage-message{padding:15px 21px;max-width:350px}.stage-message strong{font-size:20px}.stage-message p{font-size:11px}.stage-overlay{padding-bottom:27px}.record-grid{gap:18px}.history-panel,.notebook{padding:20px}.file-actions{max-width:390px}.header-actions{gap:9px}}
@media(max-width:980px){.app-shell{padding:0 20px}.site-header{min-height:88px}.brand strong{font-size:18px}.brand-robot{width:46px;height:46px}.header-actions{gap:5px}.header-actions .button{font-size:11px}.connection-badge{font-size:10px}.intro{padding:27px 0 24px}.intro h1{font-size:29px}.learning-path{display:none}.workspace{grid-template-columns:minmax(0,1fr) 285px;gap:15px}.idea-panel{padding:17px}.idea-panel h2{font-size:20px}.game-heading{padding:16px}.game-heading h2{font-size:18px}.section-kicker>span{display:none}.pill{font-size:9px}.game-toolbar{flex-wrap:wrap;gap:5px;padding:12px 15px 8px}.run-status{font-size:10px}.game-instructions{padding-left:17px;padding-right:17px}.game-hud{padding-left:17px;padding-right:17px}.stage-message{padding:12px 17px;max-width:310px}.stage-message strong{font-size:18px}.stage-message p{margin:5px 0 8px;font-size:10px}.stage-message .button{font-size:12px;padding:8px 12px;min-height:36px}.stage-kicker{font-size:9px}.stage-overlay{padding:12px 14px 24px}.record-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.panel-heading h2{font-size:18px}.parent-grid{grid-template-columns:1fr 1fr}.parent-grid>section:last-child{grid-column:1/-1}.project-tools{align-items:flex-start;flex-direction:column}.file-actions{max-width:none;justify-content:flex-start}.source-details summary{flex-wrap:wrap}}
@media(max-width:760px){.app-shell{padding:0 16px}.site-header{padding:17px 0;align-items:flex-start;gap:14px}.brand{gap:8px}.brand strong{font-size:17px}.brand-subtitle{font-size:8px;letter-spacing:1.8px}.brand-robot{width:42px;height:42px}.header-actions{flex-direction:column;align-items:flex-end;gap:5px}.header-actions .button{padding:4px 7px;min-height:28px}.header-actions svg{width:14px;height:14px}.intro h1{font-size:28px}.intro{padding:26px 0 23px}.intro-copy{font-size:12px}.workspace{grid-template-columns:minmax(0,1fr);gap:18px}.game-heading{padding:18px 20px}.game-heading h2{font-size:21px}.stage-wrap{margin:0 11px}.game-toolbar{padding:16px 18px 9px;flex-wrap:nowrap}.game-toolbar .button{padding:10px 14px;min-height:42px;font-size:12px}.stage-message{padding:17px 24px;max-width:370px}.stage-message strong{font-size:21px}.stage-message p{font-size:12px;margin-bottom:12px}.stage-message .button{padding:10px 16px;font-size:13px;min-height:42px}.stage-overlay{padding-bottom:27px}.idea-panel{padding:22px}.idea-top{margin-bottom:6px}.idea-panel h2{font-size:24px}.idea-panel textarea{font-size:14px}.idea-chips{grid-template-columns:1fr 1fr}.idea-chip{font-size:11px}.record-grid{grid-template-columns:minmax(0,1fr);margin-top:18px;gap:18px}.history-panel,.notebook{padding:22px}.version-list{max-height:320px}.panel-heading h2{font-size:20px}.project-footer{margin-top:18px;padding:22px}.site-footer{font-size:9px;flex-wrap:wrap;gap:5px}.source-details pre{font-size:10px}.touch-key{min-height:38px}.dpad{grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,38px)}.action-keys{grid-template-columns:38px 54px}.touch-layout{gap:13px}.parent-grid{grid-template-columns:1fr;gap:22px}.parent-grid>section:last-child{grid-column:auto}.parent-info{padding:16px}.parent-info>summary{font-size:12px}.note-label>span{display:block;margin-left:0;margin-top:4px}}
@media(max-width:420px){.app-shell{padding:0 12px}.site-header{gap:6px}.brand strong{font-size:15px}.brand-robot{width:36px;height:36px}.brand-subtitle{font-size:7px;letter-spacing:1.5px}.header-actions .button{font-size:9px;gap:4px;padding:3px 0}.connection-badge{font-size:9px}.intro h1{font-size:25px;letter-spacing:-.8px}.eyebrow{font-size:10px}.intro-copy{font-size:11px;max-width:300px}.game-heading{padding:16px 14px}.game-heading h2{font-size:18px}.stage-wrap{margin:0 7px;border-radius:11px}.stage-overlay{padding:8px 10px 19px}.stage-message{padding:10px 16px;max-width:calc(100% - 8px);border-radius:12px}.stage-message strong{font-size:17px}.stage-message p{font-size:10px;line-height:1.5;margin:4px 0 8px}.stage-kicker{font-size:8px;margin-bottom:3px}.stage-message .button{padding:7px 12px;min-height:33px;font-size:11px}.game-toolbar{padding:12px 12px 7px;gap:6px;flex-wrap:wrap}.play-actions{gap:4px}.game-toolbar .button{font-size:11px;padding:9px 11px;min-height:38px}.run-status{font-size:10px}.game-instructions{font-size:11px;padding-left:14px;padding-right:14px}.game-hud{padding-left:14px;padding-right:14px}.focus-tip{font-size:9px}.touch-controls{margin:0 14px 16px}.touch-layout{gap:8px}.dpad{grid-template-columns:repeat(3,32px);grid-template-rows:repeat(2,34px);gap:3px}.touch-key{min-width:32px;min-height:34px}.action-keys{grid-template-columns:32px 45px;gap:4px}.idea-panel,.history-panel,.notebook,.project-footer{padding:18px}.idea-chips{grid-template-columns:1fr}.panel{border-radius:18px}.panel-heading h2{font-size:18px}.panel-heading{gap:8px}.test-item{padding:10px;font-size:11px}.file-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.file-actions .button{font-size:11px;padding:10px}.project-secondary{align-items:flex-start}.project-secondary p{flex:1}.project-secondary button{max-width:84px;font-size:11px;flex-shrink:0}.saved-review{gap:8px}.site-footer{font-size:8px}.notice{padding:12px;gap:5px}.notice strong{font-size:12px}.notice p{font-size:11px}.notes-list{max-height:200px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}.working-ring{border-top-color:var(--blue)}}

/* AI 游戏系列导航（两款页面完全一致：位置在页头之上、内容宽度 1232px、配色统一） */
.series-nav { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 16px 0 0; font-size: 12px; }
.series-label { font-size: 10px; font-weight: 700; letter-spacing: 1.6px; color: #7d8f85; margin-right: 2px; }
.series-link { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px; border: 1px solid #dde4da; background: #fff; color: #4b6560; font-weight: 650; text-decoration: none; min-height: 38px; }
.series-link:hover { background: #eaf3ed; border-color: #c3d3c8; text-decoration: none; }
.series-step { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #e9eee2; color: #26786d; font-size: 10px; font-weight: 700; flex-shrink: 0; }
.series-link em { font-style: normal; font-size: 10px; color: #7d8f85; font-weight: 400; }
.series-link.is-current { background: #26786d; border-color: #26786d; color: #fff; }
.series-link.is-current .series-step { background: rgba(255,255,255,.28); color: #fff; }
.series-link.is-current em { color: #d9ece4; }
.series-arrow { color: #b6c4ae; font-size: 13px; }
.series-home { margin-left: auto; font-size: 11px; color: #7d8f85; text-decoration: none; }
.series-home:hover { color: #26786d; }
@media (max-width: 760px) { .series-nav { gap: 8px; padding: 12px 0 0; } .series-link { padding: 6px 11px; font-size: 11px; } .series-home { margin-left: 0; } }
.series-nav { max-width: 1232px; margin: 0 auto; }

/* 起点作品库：一次一张卡 + 上一款/下一款，载入按钮独占一行 */
.sample-panel{padding:22px 24px 24px;margin-top:24px}
.sample-card{border:1px solid var(--line);border-radius:16px;background:#fbfdf8;padding:18px 20px}
.sample-card h3{font-size:22px;margin:8px 0 6px}
.sample-progress{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1.4px;color:var(--muted);margin-right:10px}
.sample-card p{margin:0;font-size:13px;color:#4d625f}
.sample-controls{margin-top:10px!important;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.control-label{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--teal);background:var(--teal-light);border-radius:6px;padding:3px 7px;flex-shrink:0}
.sample-nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.sample-nav-row .button{flex:0 0 auto}
.sample-dots{display:flex;gap:6px}
.sample-dot{width:7px;height:7px;border-radius:50%;background:#dbe3d7;display:inline-block}
.sample-dot.is-on{background:var(--teal)}
.sample-load{width:100%;margin-top:12px;min-height:48px}
.sample-panel .help-text{margin-top:10px}
@media(max-width:760px){.sample-panel{padding:18px 16px 20px}.sample-card{padding:15px 16px}.sample-card h3{font-size:19px}.sample-nav-row .button{flex:1}}

/* 手机端：按键做大一点（实测开始玩 35px、方向键 34px），画布左右留白收窄 */
@media (max-width: 760px) {
  .button { min-height: 46px; padding: 11px 16px; font-size: 14px; }
  /* 原文件里 .game-toolbar .button / .header-actions .button / .stage-message .button 更具体，要同级别覆盖 */
  .game-toolbar .button { min-height: 46px; padding: 11px 15px; font-size: 13px; }
  .stage-message .button { min-height: 48px; padding: 11px 18px; }
  .header-actions .button { min-height: 40px; padding: 7px 10px; }
  .idea-chip { min-height: 46px; padding: 11px 13px; font-size: 12px; }
  .button-small { min-height: 44px; padding: 9px 12px; }
  .text-button { min-height: 42px; font-size: 12px; }
  .touch-key { min-width: 42px; min-height: 42px; font-size: 15px; }
  .dpad { grid-template-columns: repeat(3, 42px); grid-template-rows: repeat(2, 40px); }
  .stage-wrap { margin: 0 8px; }
  .panel-heading { gap: 10px; }
  .game-heading { padding: 16px 14px 14px; }
  .game-toolbar { padding: 14px 12px 10px; }
  .game-instructions { padding: 3px 14px 12px; }
  .game-hud { padding: 0 14px 16px; }
}

/* 试玩提示条：直接试玩示例作品时出现 */
.preview-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 22px 6px; padding: 10px 14px; border: 1px dashed #c8d8c8; border-radius: 12px; background: #f3f8ef; font-size: 12px; color: #3f5b4c; }
.preview-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--teal); flex-shrink: 0; }
.preview-bar span:not(.preview-dot) { flex: 1 1 200px; min-width: 0; }
.sample-actions { display: grid; gap: 10px; margin-top: 14px; }
.sample-actions .sample-load { width: 100%; min-height: 48px; margin-top: 0; }

/* 可折叠板块（手机默认收起，省滚动） */
.fold { border-top: 1px dashed var(--line); padding-top: 14px; margin-top: 14px; }
.fold > summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 650; min-height: 42px; padding: 6px 0; }
.fold > summary::-webkit-details-marker { display: none; }
.fold > summary:before { content: "＋"; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: var(--teal); font-size: 15px; }
.fold[open] > summary:before { content: "−"; }
.fold > summary span { font-size: 11px; color: var(--muted); font-weight: 400; }
#history-fold { border-top: 0; margin-top: 0; padding-top: 0; }

/* 手机端再压实一轮：留白、输入框、导航条 */
@media (max-width: 760px) {
  .intro { padding: 14px 0 12px; }
  .intro h1 { font-size: 26px; }
  .intro-copy { font-size: 12px; margin-top: 7px; }
  .learning-path { gap: 14px; padding-top: 10px; font-size: 11px; }
  .learning-path span { width: 25px; height: 25px; font-size: 9px; }
  .site-header { padding: 12px 0; min-height: 0; }
  .series-nav { padding: 10px 0 0; }
  .series-label { display: none; }
  .panel, .history-panel, .notebook, .project-footer, .sample-panel { border-radius: 16px; }
  .idea-panel, .history-panel, .notebook, .sample-panel { padding: 16px 15px; }
  .idea-panel h2 { font-size: 21px; }
  .notebook textarea, .idea-panel textarea { min-height: 68px; }
  .sample-card { padding: 13px 14px; }
  .sample-card h3 { font-size: 18px; }
  .game-hud { padding: 0 14px 12px; }
  .touch-controls { margin: 0 14px 12px; padding-top: 8px; }
  .touch-layout { gap: 10px; margin-top: 9px; }
  .record-grid { margin-top: 14px; gap: 14px; }
  .site-footer { padding: 14px 0 20px; }
}

/* 朗读按钮：贴在说明文字旁边，不抢主操作 */
.speak-btn { border: 1px solid #dbe3d7; background: #fff; color: #4b6560; border-radius: 999px; padding: 4px 10px; margin-left: 8px; font-size: 11px; font-weight: 600; min-height: 32px; cursor: pointer; vertical-align: middle; }
.speak-btn:hover { background: var(--teal-light); border-color: #c3d3c8; }
.sample-speak { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.sample-speak .speak-btn { margin-left: 0; min-height: 38px; padding: 8px 13px; font-size: 12px; }
