:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#eef1f4;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffffb8,#eef1f4eb),#eef1f4;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{border:0}.app-shell{min-height:100vh;padding:20px}.topbar{justify-content:space-between;align-items:center;gap:16px;max-width:1500px;margin:0 auto 16px;display:flex}.topbar h1,.panel h2,.cube-stage h2{margin:0}.topbar h1{font-size:30px;line-height:1.15}.eyebrow{color:#637083;letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:800}.status-pill,.counter{color:#334155;background:#fff;border:1px solid #c8d0dc;border-radius:999px;min-width:max-content;padding:8px 12px;font-size:13px;font-weight:700}.mode-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:1500px;margin:0 auto 16px;display:grid}.mode-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:42px;font-weight:900}.mode-button.active{color:#fff;background:#0f766e;border-color:#0f766e}.workspace{grid-template-columns:minmax(300px,380px) minmax(420px,1fr) minmax(310px,390px);align-items:stretch;gap:16px;max-width:1500px;margin:0 auto;display:grid}.panel,.cube-stage{background:#ffffffe6;border:1px solid #d4dbe5;border-radius:8px;box-shadow:0 12px 32px #0f172a14}.panel{padding:16px}.panel-heading,.scene-toolbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel h2,.cube-stage h2{color:#172033;font-size:19px;line-height:1.25}.hint{color:#536173;margin:12px 0 14px;font-size:13px;line-height:1.65}.palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.palette-item{grid-template-columns:1fr 38px;align-items:center;gap:6px;display:grid}.color-choice{color:#1f2937;cursor:pointer;text-align:left;background:#fff;border:1px solid #ccd5e1;border-radius:7px;align-items:center;gap:8px;min-height:38px;padding:7px;display:flex}.color-choice:before{content:"";background:var(--face-color);border:1px solid #1f2937;border-radius:4px;flex:0 0 18px;width:18px;height:18px}.palette-item.selected .color-choice{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e29}.color-choice span{font-weight:900}.color-choice strong{font-size:13px}.color-input{cursor:pointer;background:#fff;border:1px solid #ccd5e1;border-radius:7px;width:38px;height:38px;padding:3px}.faces-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.face-editor{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;padding:10px}.face-title{color:#334155;justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;display:flex}.face-title strong{color:#111827;font-size:15px}.mini-grid{grid-template-columns:repeat(var(--cube-size,3), minmax(0, 1fr));aspect-ratio:1;gap:5px;display:grid}.sticker-cell{background:var(--sticker-color);cursor:pointer;border:2px solid #111827;border-radius:4px;min-width:0}.sticker-cell:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.tab-button:focus-visible{outline-offset:2px;outline:3px solid #14b8a659}.center-cell{cursor:not-allowed;opacity:.92}.action-row,.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.primary-button,.secondary-button,.ghost-button,.tab-button{cursor:pointer;border-radius:7px;min-height:40px;font-weight:800}.primary-button{color:#fff;background:#0f766e}.secondary-button,.ghost-button,.tab-button{color:#243044;background:#fff;border:1px solid #cbd5e1}.ghost-button{padding:0 10px}button:disabled{cursor:not-allowed;opacity:.48}.message{white-space:pre-line;color:#536173;min-height:20px;margin-top:12px;font-size:13px;line-height:1.5}.message.ok{color:#0f766e}.message.error{color:#b42318}.cube-stage{grid-template-rows:auto minmax(0,1fr);min-height:500px;display:grid;overflow:hidden}.scene-toolbar{padding:16px 16px 0}.scene-toolbar span{color:#64748b;font-size:13px;font-weight:700}.scene-host{touch-action:none;width:100%;min-height:390px}.scene-host canvas{width:100%;height:100%;display:block}.current-move{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;gap:10px;min-height:124px;margin-top:14px;padding:14px;display:grid}.current-move strong{color:#0f766e;font-size:34px;line-height:1}.current-move span,.current-move{color:#405064;font-size:14px;line-height:1.55}.empty-state strong,.solved-state strong{font-size:20px}.steps-list{gap:6px;max-height:210px;margin:14px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.steps-list li{color:#526174;background:#fff;border:1px solid #d9e0ea;border-radius:7px;grid-template-columns:28px 44px 1fr;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:grid}.steps-list li span{color:#334155;background:#e2e8f0;border-radius:999px;place-items:center;width:24px;height:24px;font-weight:900;display:inline-grid}.steps-list li strong{color:#111827;font-size:15px}.steps-list li em{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.steps-list li.active{background:#ecfdf5;border-color:#0f766e}.steps-list li.done{opacity:.7}.teaching{border-top:1px solid #d8dee8;margin-top:16px;padding-top:14px}.tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.tab-button{min-height:36px;font-size:13px}.tab-button.active{color:#fff;background:#0f766e;border-color:#0f766e}.teaching-content{color:#405064;background:#fbfdff;border:1px solid #d8dee8;border-radius:8px;min-height:150px;margin-top:10px;padding:12px;font-size:14px;line-height:1.65}.teaching-content h3{color:#182235;margin:0 0 8px;font-size:16px}.teaching-content p,.teaching-content ol{margin:0}.teaching-content ol{padding-left:20px}@media (width<=1180px){.workspace{grid-template-columns:1fr}.cube-stage{min-height:520px}.scene-host{min-height:460px}}@media (width<=680px){.app-shell{padding:12px}.topbar{flex-direction:column;align-items:flex-start}.topbar h1{font-size:24px}.palette,.faces-grid,.mode-strip,.action-row,.control-grid{grid-template-columns:1fr}.panel-heading,.scene-toolbar{flex-direction:column;align-items:flex-start}.cube-stage{min-height:430px}.scene-host{min-height:360px}}
