:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color:#1f2a44;background:#f0f3fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}#root{min-height:100vh}.app{margin:0 auto;max-width:1560px;padding:.75rem 1rem 1rem;width:min(1560px,calc(100vw - 1.5rem))}.layout{display:grid;gap:1rem;grid-template-columns:60px minmax(0,1fr)}.levels{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.levels h2{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.levels nav{display:flex;flex-direction:column;gap:.5rem}.nav-home-link{align-items:center;background:#f5f7fc;border:2px solid #c9d4ed;border-radius:999px;color:#3a4a5e;cursor:pointer;display:flex;font:inherit;font-size:1.15rem;font-weight:700;width:44px;height:44px;justify-content:center;padding:0;position:relative;text-align:center;transition:background .15s ease,border-color .15s ease}.nav-home-link.nav-home-link--active,.level-link.level-link--active{border-color:#6f8ccf}.level-link{align-items:center;background:#f5f7fc;border:2px solid #c9d4ed;border-radius:50%;cursor:pointer;display:flex;font:inherit;font-size:1.1rem;font-weight:700;height:44px;justify-content:center;padding:0;position:relative;transition:background .15s ease,border-color .15s ease;width:44px}.nav-home-link:focus-visible,.level-link:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}.level-link:hover:after{background:#1e293b;border-radius:6px;color:#fff;content:attr(data-tooltip);font-size:.8rem;font-weight:400;left:calc(100% + 8px);padding:4px 10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:10}.level-card{background:#fff;border:1px solid #dce2ee;border-radius:12px;padding:.75rem}.level-workspace{margin-top:0}.konva-shell{border:1px solid #d0daee;border-radius:12px;overflow:hidden;padding:.75rem}.konva-stage{display:flex;justify-content:center;width:100%}.konva-stage canvas{border-radius:8px}@media(max-width:840px){.layout{grid-template-columns:1fr}.levels nav{flex-direction:row;flex-wrap:wrap;justify-content:center}.nav-home-link{min-width:44px}}.star-progress{align-items:center;display:flex;gap:.25rem}.star-progress__star{flex-shrink:0;transition:transform .2s ease}.star-progress__star--current{animation:star-pulse 1.2s ease-in-out infinite}@keyframes star-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.advance-btn{background:#f2f5f9;border:1px solid #c3cbd8;border-radius:10px;color:#2e3d4f;cursor:pointer;font:inherit;font-weight:700;min-height:42px;padding:.55rem .95rem;transition:background .3s ease,border-color .3s ease,color .3s ease}.advance-btn:disabled{background:#eceff3;border-color:#d7dce4;color:#9aa5b5;cursor:not-allowed}button.advance-btn.advance-btn--complete{background:#e5f5ea;border-color:#7bc794;color:#2a6a42}.advance-btn--done{color:#2a6a42;font-weight:700;padding:.55rem .95rem}.level1-workspace{display:grid;gap:.8rem}.level1-line{color:#3f4f63;font-weight:700;margin:0;overflow-x:auto;white-space:nowrap}.level1-controls{display:flex;gap:.6rem;flex-wrap:nowrap;overflow-x:auto}.level1-controls button{background:#f2f5f9;border:1px solid #c3cbd8;border-radius:10px;color:#2e3d4f;cursor:pointer;font:inherit;font-weight:700;padding:.55rem .95rem}.level1-controls button:disabled{background:#eceff3;border-color:#d7dce4;color:#9aa5b5;cursor:not-allowed;opacity:1}.level1-check--success{background:#e5f5ea;border-color:#99c7a8;color:#2a6a42}.level1-check--error{background:#fdecec;border-color:#e3a3a3;color:#8d3838}.level1-check--buzz{animation:level1-check-buzz .45s linear}.level1-check--hint{animation:level1-check-hint-pulse 1.15s ease-in-out infinite}.level1-status{border-radius:9px;font-weight:700;margin:0;min-height:1.4rem;overflow:hidden;padding:.28rem .56rem;text-overflow:ellipsis;white-space:nowrap}.level1-status--neutral{background:#edf1f6;border:1px solid #d2d9e2;color:#4a586b}.level1-status--error{background:#fdeeee;border:1px solid #e6b1b1;color:#8d3939}.level1-status--success{background:#e8f4ea;border:1px solid #add0b7;color:#2d6240}@keyframes level1-check-buzz{0%{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}@keyframes level1-check-hint-pulse{0%,to{box-shadow:0 0 #5b9bd51f;transform:scale(1)}50%{box-shadow:0 0 0 6px #5b9bd533;transform:scale(1.03)}}.coin-system-picker{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.system-chip{background:#fff8ef;border:1px solid #e7caa7;border-radius:12px;color:#6d451e;cursor:pointer;display:grid;font:inherit;gap:.15rem;justify-items:start;min-height:62px;padding:.45rem .7rem .5rem}.system-chip span{font-size:.94rem;font-weight:700;line-height:1.2}.system-chip small{color:#8f6030;font-size:.8rem}.system-chip--active{background:#ffe2b6;border-color:#d78f37}.level2-workspace{display:grid;gap:.8rem}.level2-line{color:#3f4f63;font-weight:700;margin:0;overflow-x:auto;white-space:nowrap}.level2-controls{display:flex;flex-wrap:wrap;gap:.6rem}.level2-controls button{background:#f2f5f9;border:1px solid #c3cbd8;border-radius:10px;color:#2e3d4f;cursor:pointer;font:inherit;font-weight:700;min-height:42px;padding:.55rem .95rem}.level2-controls button:disabled{background:#eceff3;border-color:#d7dce4;color:#9aa5b5;cursor:not-allowed;opacity:1}.level2-controls .level2-compress{background:#e6f3ff;border-color:#9ac2ea;color:#234f79}.level2-controls .level2-compress:disabled{background:#eceff3;border-color:#d7dce4;color:#9aa5b5}.level2-controls .level2-helper{background:#fff4e6;border-color:#e8c79f;color:#70421a}.level2-controls .level2-helper:disabled{background:#eceff3;border-color:#d7dce4;color:#9aa5b5}.level2-status{background:#edf1f6;border:1px solid #d2d9e2;border-radius:9px;color:#4a586b;font-weight:700;margin:0;min-height:1.4rem;overflow:hidden;padding:.28rem .56rem;text-overflow:ellipsis;white-space:nowrap}.level2-status--done{background:#e8f4ea;border-color:#add0b7;color:#2d6240}.level2-status--error{background:#fdeeee;border-color:#e6b1b1;color:#8d3939}.level2-status--buzz{animation:level1-check-buzz .4s linear}.level2-hint-pulse{animation:star-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 3px #5b9bd566;border-radius:10px}.level3-workspace{display:grid;gap:.8rem}.level3-line{color:#3f4f63;font-weight:700;margin:0;overflow-x:auto;white-space:nowrap}.level3-controls{display:flex;flex-wrap:wrap;gap:.6rem}.level3-controls button{background:#f2f5f9;border:1px solid #c3cbd8;border-radius:10px;color:#2e3d4f;cursor:pointer;font:inherit;font-weight:700;min-height:42px;padding:.55rem .95rem}.level3-controls button:disabled{background:#eceff3;border-color:#d7dce4;color:#9aa5b5;cursor:not-allowed;opacity:1}.level3-status{background:#edf1f6;border:1px solid #d2d9e2;border-radius:9px;color:#4a586b;font-weight:700;margin:0;min-height:1.4rem;overflow:hidden;padding:.28rem .56rem;text-overflow:ellipsis;white-space:nowrap}.level3-status--success{background:#e8f4ea;border-color:#add0b7;color:#2d6240}.welcome-shell{display:grid;gap:.9rem}.welcome-hero{display:grid;gap:.9rem;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr)}.welcome-header{background:#fff9e8;border:1px solid #e3d8b6;border-radius:18px;padding:1rem 1.15rem;text-align:left}.welcome-kicker{background:#fff0b8;border:1px solid #e2c66a;border-radius:999px;color:#7b5620;display:inline-flex;font-size:.82rem;font-weight:800;letter-spacing:.04em;margin:0 0 .75rem;padding:.28rem .72rem;text-transform:uppercase}.welcome-header h1{color:#25425c;font-size:clamp(2rem,5vw,3.1rem);line-height:1;margin:0}.welcome-header p{color:#37536b;font-size:1.08rem;line-height:1.45;margin:.7rem 0 0;max-width:34rem}.welcome-callout{background:#f4f8fc;border:1px solid #d7e1ea;border-radius:18px;color:#29485f;display:grid;align-content:center;gap:.45rem;padding:1rem 1.1rem}.welcome-callout__title{color:#2a6282;font-size:.9rem;font-weight:800;letter-spacing:.04em;margin:0;text-transform:uppercase}.welcome-callout__text{font-size:1.02rem;line-height:1.45;margin:0}.welcome-subline{color:#37536b;font-weight:700;margin:0}.welcome-header--levels{background:none;border:0;border-radius:0;padding:0}.welcome-stage-shell{background:#fffdf5;border:2px solid #d9e1ec;border-radius:20px;padding:.7rem}.welcome-levels-panel{background:#f8fafc;border:1px solid #d7dfeb;border-radius:18px;display:grid;gap:.9rem;padding:1rem}.welcome-levels{display:grid;gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-level-button{appearance:none;background:#fff;border:2px solid #c7d7e8;border-radius:20px;color:#27445c;cursor:pointer;display:flex;flex-direction:column;font:inherit;justify-content:space-between;min-height:168px;padding:1rem;text-align:left;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.welcome-level-button:hover{border-color:#91b4d6;box-shadow:0 10px 20px #27445c1a;transform:translateY(-2px)}.welcome-level-button:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}.welcome-level-button--1{background:#fff7d8}.welcome-level-button--2{background:#eaf7ff}.welcome-level-button--3{background:#edf8ee}.welcome-level-button__badge{color:#5f7283;font-size:.95rem;font-weight:700}.welcome-level-button__title{color:#1f3d58;font-size:1.5rem;font-weight:800;line-height:1.05;margin-top:.45rem}.welcome-level-button__summary{color:#405f76;font-size:1rem;line-height:1.35;margin-top:.7rem}@media(max-width:1100px){.welcome-hero,.welcome-levels{grid-template-columns:1fr}}@media(max-width:720px){.welcome-header,.welcome-callout,.welcome-levels-panel{padding:.85rem}.welcome-header{text-align:center}.welcome-kicker{margin-left:auto;margin-right:auto}.welcome-header p,.welcome-callout{text-align:center}.welcome-level-button{min-height:0}}
