.memory-screen{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:1rem;display:grid}.memory-workspace{gap:.75rem;min-width:0;display:grid}.memory-title-row{justify-content:space-between;align-items:flex-end;gap:1rem;min-height:58px;display:flex}.memory-title-row h1{margin:0;font-size:1.35rem;line-height:1.2}.memory-title-row p{color:var(--muted);margin:.32rem 0 0;font-size:.9rem}.round-pill{border-radius:var(--radius);color:var(--accent-strong);background:#fff5e7;border:1px solid #f3c7a3;flex:none;padding:.5rem .72rem;font-weight:900}.memory-stage{background:#fffaf4;height:clamp(290px,100vh - 455px,360px);min-height:290px;padding:.75rem;display:grid;position:relative;overflow:hidden}.stage-image{object-fit:contain;object-position:center;border-radius:var(--radius);background:#eadac7;width:calc(100% - 1.5rem);height:calc(100% - 1.5rem);position:absolute;inset:.75rem}.memory-loading,.stage-placeholder{border-radius:var(--radius);min-height:100%;color:var(--muted);text-align:center;background:linear-gradient(135deg,#fff3ddcc,#f4d6ae6b),#fff8ed;border:2px dashed #e8c7a8;align-content:center;place-items:center;gap:1rem;display:grid}.stage-placeholder strong{color:var(--ink);font-size:1.45rem}.stage-placeholder span{width:min(620px,90%);line-height:1.7}.image-waiting-orbit{place-items:center;width:94px;height:94px;display:grid;position:relative}.image-waiting-orbit:before{content:"";background:#f4bf74;border-radius:50%;width:48px;height:48px;box-shadow:0 10px 28px #b36d2a2e}.image-waiting-orbit i{background:var(--accent);transform-origin:0 47px;border-radius:50%;width:14px;height:14px;animation:1.35s linear infinite orbit;position:absolute}.image-waiting-orbit i:nth-child(2){background:var(--yellow);animation-delay:-450ms}.image-waiting-orbit i:nth-child(3){background:var(--green);animation-delay:-900ms}.spinner{border:6px solid #f1dbc5;border-top-color:var(--accent);border-radius:50%;width:56px;height:56px;animation:.85s linear infinite spin}.image-busy{border-radius:var(--radius);color:var(--accent-strong);background:#ffffffe6;padding:.42rem .65rem;font-size:.82rem;font-weight:800;position:absolute;top:1.1rem;right:1.1rem}.memory-answer-panel{background:#fffaf2;grid-template-columns:92px minmax(220px,1fr) minmax(300px,.9fr);align-items:stretch;gap:.75rem;padding:.75rem;display:grid}.voice-button{border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;place-items:center;min-height:86px;transition:transform .14s,background .14s;display:grid}.voice-button span{border:2px solid #ffffffb8;border-radius:50%;place-items:center;width:54px;height:54px;font-size:1.35rem;font-weight:900;display:grid}.voice-button:hover:not(:disabled){transform:translateY(-1px)}.voice-button:disabled{opacity:.6;cursor:not-allowed}.voice-button.listening{background:var(--red);animation:1s ease-in-out infinite softPulse}.answer-input-wrap{flex-direction:column;justify-content:center;gap:.38rem;display:flex}.answer-input{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:54px;color:var(--ink);background:#fff;outline:none;padding:.75rem .95rem;font-size:1.02rem}.answer-input:focus{border-color:#eca66e;box-shadow:0 0 0 3px #f36a171f}.answer-input-wrap small{color:var(--muted);font-size:.76rem}.answer-status{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.answer-status div{border-radius:var(--radius);text-align:center;background:#fff;border:1px solid #efe1cf;align-content:center;gap:.32rem;min-height:86px;padding:.65rem;display:grid}.answer-status span{color:var(--muted);font-size:.78rem}.answer-status strong{color:var(--ink);font-size:1.02rem}.answer-status strong.ok{color:var(--green)}.answer-status strong.bad{color:var(--red)}.memory-side{gap:.48rem;display:grid}.side-panel,.encouragement-panel{padding:.58rem}.memory-side .panel-title{font-size:1.05rem}.memory-side .panel-note{margin-top:.32rem;font-size:.84rem;line-height:1.48}.memory-side .btn{min-height:42px;padding:.52rem .75rem}.side-button{width:100%;margin-top:.42rem}.inline-hint{border-radius:var(--radius);background:#fff9e9;border:1px solid #f2c985;gap:.35rem;margin-top:.6rem;padding:.58rem .65rem;display:grid}.inline-hint strong{color:var(--accent-strong);font-size:.88rem}.inline-hint span{color:#5f4b35;font-size:.82rem;line-height:1.55}.activity-list{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.activity-list span{border-radius:var(--radius);color:#5d4a38;box-shadow:inset 0 0 0 1px var(--line);background:#fff;padding:.42rem .55rem;font-size:.82rem;font-weight:800}.encouragement-panel{background:#f3fbef;border-color:#d5eccc;gap:.45rem;display:grid}.encouragement-panel strong{color:#3e7d30;font-size:1.02rem}.encouragement-panel small{color:#5e7b58;font-size:.75rem}.wave-bars{align-items:center;gap:.26rem;min-height:28px;display:flex}.wave-bars span{background:var(--green);opacity:.78;border-radius:999px;width:5px;animation:.9s ease-in-out infinite alternate wave}.wave-bars span:nth-child(2n){animation-delay:.12s}.wave-bars span:nth-child(3n){animation-delay:.24s}.memory-result{text-align:center;justify-items:center;gap:1.2rem;width:min(720px,100%);margin:3rem auto;padding:2rem;display:grid}.result-kicker{color:var(--accent-strong);margin:0;font-weight:900}.memory-result h1{margin:0;font-size:2.3rem}.result-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;width:100%;display:grid}.result-stats div{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1rem}.result-stats span{font-size:1.8rem;font-weight:900;display:block}.result-stats small{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbit{0%{transform:rotate(0)translate(47px)rotate(0)}to{transform:rotate(360deg)translate(47px)rotate(-360deg)}}@keyframes softPulse{0%,to{box-shadow:0 0 #d6423457}50%{box-shadow:0 0 0 16px #d6423400}}@keyframes wave{0%{transform:scaleY(.72)}to{transform:scaleY(1)}}@media (width<=1120px){.memory-screen{grid-template-columns:1fr}.memory-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.memory-title-row,.memory-answer-panel{grid-template-columns:1fr}.memory-title-row{display:grid}.voice-button{min-height:70px}.memory-stage{height:min(48vh,360px);min-height:280px}.answer-status,.memory-side,.result-stats{grid-template-columns:1fr}}.maze-screen{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:1rem;display:grid}.maze-workspace{gap:.75rem;min-width:0;display:grid}.maze-title-row{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.maze-title-row h1{margin:0;font-size:1.35rem}.maze-title-row p{color:var(--muted);margin:.32rem 0 0;font-size:.9rem}.maze-led-summary{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.maze-led-summary span{border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line);background:#fff;padding:.5rem .7rem;font-weight:900}.maze-led-summary .start{color:#2c8426}.maze-led-summary .end{color:var(--red)}.maze-canvas-container{cursor:grab;background:linear-gradient(135deg,#fff8eae6,#c1804842),#f7ead8;height:clamp(360px,100vh - 320px,455px);min-height:360px;padding:0;overflow:hidden}.maze-canvas-container:active{cursor:grabbing}.maze-side{gap:.75rem;display:grid}.maze-control-panel{gap:.72rem;padding:.85rem;display:grid}.maze-side-heading .panel-note{font-size:.82rem;line-height:1.5}.led-card-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.led-card{border-radius:var(--radius);min-height:66px;box-shadow:inset 0 0 0 1px var(--line);background:#fff;gap:.3rem;padding:.6rem;display:grid}.led-card span{color:var(--muted);font-size:.76rem}.led-card strong{font-size:1rem}.led-card.start strong{color:#2c8426}.led-card.end strong{color:var(--red)}.block-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.block-option{border-radius:var(--radius);min-height:58px;color:var(--ink);cursor:pointer;text-align:left;box-shadow:inset 0 0 0 1px var(--line);background:#fff;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:.55rem;padding:.48rem;transition:transform .14s,box-shadow .14s,background .14s;display:grid}.block-option:hover,.block-option.selected{background:color-mix(in srgb, var(--block-color) 14%, #fff);box-shadow:inset 0 0 0 2px var(--block-color), 0 8px 18px #52331814;transform:translateY(-1px)}.block-option strong,.block-option small{grid-column:2}.block-option strong{align-self:end;font-size:.9rem}.block-option small{color:var(--muted);align-self:start;font-size:.68rem;line-height:1.35}.block-preview{background:#fff1c3;border-radius:7px;grid-row:1/span 2;width:44px;height:38px;display:block;position:relative;box-shadow:inset 0 0 0 1px #784f192e}.block-preview:after,.block-preview:before{content:"";background:var(--block-color,#f2c15c);border-radius:999px;position:absolute}.block-preview.straight:after{width:10px;height:28px;top:5px;left:17px}.block-preview.turn:after{width:10px;height:24px;top:5px;left:17px}.block-preview.turn:before{width:22px;height:10px;top:20px;left:17px}.block-preview.cross:after{width:10px;height:28px;top:5px;left:17px}.block-preview.cross:before{width:28px;height:10px;top:14px;left:8px}.block-preview.empty{background:#ebe3d8}.block-preview.empty:after,.block-preview.empty:before{display:none}.maze-actions{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.maze-actions .btn-primary{grid-column:1/-1}.maze-actions .side-button{width:100%;margin-top:0}.maze-status-panel{grid-template-columns:1fr 1fr .8fr;gap:.55rem;padding:.75rem;display:grid}.maze-feedback{border:1px solid var(--line);border-radius:var(--radius);gap:.32rem;min-height:66px;padding:.62rem;display:grid}.maze-feedback strong{font-size:.88rem}.maze-feedback span{color:var(--muted);font-size:.7rem;line-height:1.35}.maze-feedback.success{background:#f2fbef;border-color:#d8ebcf}.maze-feedback.success strong{color:#2f842b}.maze-feedback.danger{background:#fff2ef;border-color:#f1ccc5}.maze-feedback.danger strong{color:var(--red)}.placed-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;min-height:66px;padding:.62rem;display:flex}.placed-card span{color:var(--muted)}.placed-card strong{color:var(--accent-strong);font-size:1.55rem}@media (width<=1120px){.maze-screen{grid-template-columns:1fr}.maze-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.maze-title-row{display:grid}.maze-led-summary{justify-content:flex-start}.maze-canvas-container{height:46vh;min-height:320px}.maze-side,.led-card-grid,.maze-status-panel,.block-palette{grid-template-columns:1fr}}.step-screen{grid-template-columns:280px minmax(0,1fr) 310px;align-items:start;gap:1rem;display:grid}.step-left,.step-right,.step-workspace{gap:.58rem;display:grid}.step-title-row{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.step-title-row h1{margin:0;font-size:1.35rem}.step-title-row p{color:var(--muted);margin:.32rem 0 0;font-size:.9rem}.step-canvas-container{cursor:pointer;background:linear-gradient(135deg,#fffaf0f2,#daae7647),#f4e3cc;height:clamp(340px,100vh - 340px,425px);min-height:360px;padding:0;overflow:hidden}.step-action-stack,.step-feedback-panel{padding:.85rem}.step-feedback-panel{background:#f3fbef;border-color:#d5eccc;gap:.65rem;display:grid}.step-feedback-panel strong{color:#327e2d}.step-feedback-panel span{color:var(--muted);font-size:.86rem;line-height:1.6}.mode-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.55rem;display:grid}.mode-option{border-radius:var(--radius);min-height:64px;color:var(--ink);cursor:pointer;text-align:left;box-shadow:inset 0 0 0 1px var(--line);background:#fff;gap:.35rem;padding:.54rem;transition:transform .14s,box-shadow .14s,background .14s;display:grid}.mode-option:hover,.mode-option.active{background:#fff5e8;transform:translateY(-1px);box-shadow:inset 0 0 0 2px #f2b27f,0 8px 18px #52331814}.mode-option strong{color:var(--accent-strong);font-size:1rem}.mode-option span{color:var(--muted);font-size:.7rem;line-height:1.35}.step-legend{gap:.36rem;margin-top:.58rem;display:grid}.step-legend span{color:var(--muted);align-items:center;gap:.5rem;font-size:.86rem;display:flex}.step-legend i{border-radius:4px;width:18px;height:18px;display:block;box-shadow:inset 0 0 0 1px #2f281f29}.legend-yellow{background:#f2c94c}.legend-green{background:#7bc96f}.legend-red{background:#d64234}.legend-person{background:#2f7dd1;border-radius:50%!important}.ai-panel{background:#f2f7ff;border-color:#d6e5f7}.ai-panel strong{border-radius:var(--radius);width:fit-content;color:var(--blue);background:#fff;margin-top:.38rem;padding:.45rem .62rem;display:inline-flex;box-shadow:inset 0 0 0 1px #cfe0f2}.step-right .side-panel{padding:.65rem}.step-right .panel-note{font-size:.82rem;line-height:1.45}.step-workspace .metric{min-height:76px;padding:.65rem}.step-result{text-align:center;justify-items:center;gap:1.2rem;width:min(720px,100%);margin:3rem auto;padding:2rem;display:grid}.step-result h1{margin:0;font-size:2.3rem}@media (width<=1240px){.step-screen{grid-template-columns:minmax(0,1fr) 310px}.step-left{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=920px){.step-screen,.step-left{grid-template-columns:1fr}.step-title-row{display:grid}.step-canvas-container{height:46vh;min-height:320px}}@media (width<=560px){.mode-list{grid-template-columns:1fr}}:root{--accent:#f36a17;--accent-strong:#dd4f00;--ink:#2f281f;--muted:#74695b;--soft:#f7efe3;--surface:#fffaf2;--surface-strong:#fff;--line:#eadac7;--blue:#2f7dd1;--green:#58a942;--red:#d64234;--purple:#7b55d9;--yellow:#f2c94c;--shadow:0 10px 28px #52331814;--radius:8px;--font-xl:2rem;--font-lg:1.35rem;--font-md:1.08rem;--font-sm:.92rem}*{box-sizing:border-box}html{font-size:18px}body{background:radial-gradient(circle at 20% 0%, #f2c94c2e, transparent 28rem), linear-gradient(180deg, #fff6e9 0%, var(--soft) 42%, #fbf3e9 100%);min-width:320px;min-height:100vh;color:var(--ink);letter-spacing:0;margin:0;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,Arial,sans-serif}button,input{font:inherit}button{border:0}#root,.app-shell{min-height:100vh}.top-bar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf2f0;grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);align-items:center;gap:1rem;min-height:76px;padding:.75rem 1.8rem;display:grid;position:sticky;top:0;box-shadow:0 4px 18px #5233180f}.brand-lockup{align-items:center;gap:.75rem;min-width:0;display:flex}.brand-mark{border-radius:var(--radius);background:var(--accent);color:#fff;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand-title,.brand-subtitle{white-space:nowrap;display:block}.brand-title{color:#271b11;font-size:1.28rem;font-weight:900}.brand-subtitle{color:var(--muted);margin-top:.12rem;font-size:.78rem}.module-tabs{justify-content:center;gap:.55rem;display:flex}.module-tab{border-radius:var(--radius);color:#645545;cursor:pointer;background:#fff6e8;border:1px solid #0000;align-items:center;gap:.45rem;min-height:46px;padding:.55rem 1rem;font-weight:800;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.module-tab:hover{color:var(--accent-strong);border-color:#f4caa7;transform:translateY(-1px)}.module-tab.active{color:var(--accent-strong);background:#fff;border-color:#f2bb8f;box-shadow:0 8px 18px #dd4f001f}.module-tab-icon{width:28px;height:28px;color:var(--accent-strong);background:#f36a171f;border-radius:7px;place-items:center;font-size:.86rem;font-weight:900;display:grid}.operator-strip{color:var(--muted);white-space:nowrap;justify-content:flex-end;align-items:center;gap:1rem;font-size:.9rem;display:flex}.user-badge{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:.48rem .75rem;font-weight:800}.main-content{width:min(1480px,100% - 2rem);margin:0 auto;padding:1rem 0 1.4rem}.btn{border-radius:var(--radius);min-height:48px;color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);background:#fff;justify-content:center;align-items:center;gap:.5rem;padding:.72rem 1.05rem;font-weight:900;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 0 0 1px #e8b187,0 8px 18px #52331814}.btn:disabled{cursor:not-allowed;opacity:.58}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary,.btn-success,.btn-danger{color:#fff;box-shadow:none}.btn-primary{background:var(--accent)}.btn-success{background:var(--green)}.btn-danger{background:var(--red)}.btn-outline{color:var(--ink);background:#fffdf8}.btn-large{min-height:56px;padding-inline:1.45rem;font-size:1.12rem}.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fffaf2e6}.panel-title{color:#2d2117;margin:0;font-size:1.18rem;font-weight:900}.panel-note{color:var(--muted);margin:.45rem 0 0;font-size:.92rem;line-height:1.65}.metric-row{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.metric{border:1px solid var(--line);border-radius:var(--radius);background:#fffc;align-items:center;gap:.7rem;min-height:82px;padding:.8rem;display:flex}.metric-icon{border-radius:var(--radius);width:44px;height:44px;color:var(--accent-strong);background:#fff0df;flex:none;place-items:center;font-weight:900;display:grid}.metric-value{color:var(--ink);font-size:1.55rem;font-weight:900;line-height:1;display:block}.metric-label{color:var(--muted);margin-top:.25rem;font-size:.82rem;display:block}.feedback-overlay{z-index:50;cursor:pointer;pointer-events:auto;background:#2f281f14;place-items:center;animation:.16s fadeIn;display:grid;position:fixed;inset:0}.feedback-badge{border-radius:var(--radius);color:#fff;text-align:center;min-width:280px;padding:1.35rem 2rem;font-size:2.2rem;font-weight:900;animation:.42s cubic-bezier(.2,.9,.22,1.2) popIn;box-shadow:0 24px 52px #2f281f38}.feedback-badge.correct{background:var(--green)}.feedback-badge.wrong{background:var(--red)}.feedback-badge.neutral{background:var(--blue)}@keyframes popIn{0%{opacity:0;transform:translateY(14px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1100px){.top-bar{grid-template-columns:1fr;justify-items:stretch}.module-tabs,.operator-strip{justify-content:flex-start;overflow-x:auto}.metric-row{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){html{font-size:16px}.top-bar{padding:.75rem}.brand-title{font-size:1.05rem}.module-tabs{gap:.4rem}.module-tab{min-height:42px;padding:.45rem .6rem;font-size:.9rem}.operator-strip{font-size:.8rem}.main-content{width:min(100% - .8rem,1480px)}.metric-row{grid-template-columns:1fr}}
