.program-tab{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:800;font-size:.92rem;color:#fff;background:var(--lavender-deep);border-radius:12px 12px 0 0;padding:8px 18px 10px;margin-bottom:-2px;position:relative;z-index:1}.program-glyph{font-family:var(--font-display);font-weight:800;color:var(--orange);direction:ltr}.canvas-history{position:absolute;top:10px;inset-inline-end:22px;z-index:2;display:flex;gap:6px}.canvas-tool{display:grid;place-items:center;width:36px;height:36px;padding:0;border:2px solid var(--line);border-radius:50%;background:var(--paper);color:var(--purple);font-family:var(--font-display);font-weight:800;font-size:1.05rem;line-height:1;cursor:pointer;box-shadow:0 2px 6px #0b09301f;transition:border-color .12s,background .12s,opacity .12s}.canvas-tool:hover:not(:disabled){border-color:var(--lavender);background:var(--lavender-soft)}.canvas-tool:disabled{opacity:.4;cursor:default;box-shadow:none}[dir=rtl] .canvas-tool span{display:inline-block;transform:scaleX(-1)}.blocklyToolbox,.blocklyToolboxDiv{font-family:var(--font-sans);font-weight:700;padding:10px 8px}.blocklyToolboxCategory{background:var(--paper);border:2px solid var(--line);border-radius:12px;margin-bottom:8px;padding:7px 10px!important;height:auto;line-height:normal;cursor:pointer;transition:border-color .12s}.blocklyToolboxCategory:hover{border-color:var(--lavender)}.blocklyToolboxSelected{background-color:var(--lavender-soft)!important;border-color:var(--lavender)}.blocklyToolboxSelected .blocklyToolboxCategoryLabel{color:var(--purple)!important}.blocklyTreeRowContentContainer{display:flex;align-items:center;gap:8px}.blocklyToolboxCategoryLabel{font-family:var(--font-sans);font-weight:700;font-size:.85rem;color:var(--purple)}.cat-icon{display:inline-block;flex-shrink:0;width:17px;height:17px;background-color:var(--lavender-deep);-webkit-mask:var(--cat-glyph) center / contain no-repeat;mask:var(--cat-glyph) center / contain no-repeat;visibility:visible!important;order:1}.cat-icon--sensors{--cat-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><circle cx='12' cy='12' r='4' fill='black' stroke='none'/><path d='M12 2v3M12 19v3M2 12h3M19 12h3M5 5l2.1 2.1M16.9 16.9L19 19M19 5l-2.1 2.1M7.1 16.9L5 19'/></svg>")}.cat-icon--actions{--cat-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3a6.5 6.5 0 0 0-4.3 11.4c.8.7 1.3 1.6 1.3 2.6h6c0-1 .5-1.9 1.3-2.6A6.5 6.5 0 0 0 12 3z'/><path d='M10 20.5h4'/></svg>")}.cat-icon--logic{--cat-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><circle cx='6' cy='5' r='2.6'/><circle cx='6' cy='19' r='2.6'/><circle cx='18' cy='12' r='2.6'/><path d='M8 6.5c4 1 4 4 7.4 4.7M8 17.5c4-1 4-4 7.4-4.7'/></svg>")}.cat-icon--loops{--cat-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12a8 8 0 1 1-2.4-5.7'/><path d='M20 2.5V7h-4.5' fill='none'/></svg>")}.cat-icon--variables{--cat-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'><ellipse cx='12' cy='5.5' rx='7' ry='3'/><path d='M5 5.5V18c0 1.7 3.1 3 7 3s7-1.3 7-3V5.5'/><path d='M5 11.8c0 1.7 3.1 3 7 3s7-1.3 7-3'/></svg>")}.cat-icon--math{width:auto;height:auto;background:none;-webkit-mask:none;mask:none}.cat-icon--math:before{content:"123";font-family:var(--font-display);font-weight:800;font-size:.72rem;color:var(--lavender-deep);direction:ltr}.check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:5px 8px;border-radius:12px;background:var(--surface)}.check-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-family:var(--font-display);font-weight:800;font-size:.75rem}.check-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.76rem;font-weight:700;line-height:1.35;color:var(--ink-soft)}.check-text>*+*{margin-inline-start:4px}.check-text .win-arrow{display:inline-block;width:16px;height:8px;vertical-align:middle}.check-pill{padding:2px 9px 3px;border-radius:999px;font-family:var(--font-display);font-weight:800;font-size:.68rem;white-space:nowrap}.check-row.is-done .check-mark{background:var(--mint);color:var(--purple-deep)}.check-row.is-done .check-text{color:var(--purple)}.check-row.is-done .check-pill{background:var(--mint);color:#1c5b31}.check-row.is-now{background:var(--lavender-soft);box-shadow:inset 0 0 0 2px var(--lavender)}.check-row.is-now .check-mark{background:var(--lavender-deep);color:#fff}.check-row.is-now .check-text{color:var(--purple);font-size:.82rem}.check-row.is-now .check-pill{background:#dbe8f7;color:#204a76}.check-row.is-locked .check-mark{font-size:.72rem;filter:grayscale(1);opacity:.7}.check-row.is-locked .check-text{opacity:.75}.check-row.is-locked .check-pill{background:var(--line);color:var(--ink-soft)}.own-row .check-text{-webkit-line-clamp:unset}.own-row-sub{display:block;margin:1px 0 0;font-size:.7rem;font-weight:600;color:var(--ink-soft)}.check-text>.own-row-sub{margin-inline-start:0}.own-row--needed{background:#fff4e8;box-shadow:inset 0 0 0 2px #f5c98f}.own-row--needed .check-mark{background:#e98a1f}.own-row--needed .check-pill{background:#ffe2bd;color:#7a4300}.own-ring{position:relative;display:inline-grid;place-items:center;width:52px;height:52px;flex:none}.own-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.own-ring-track{fill:none;stroke:var(--line);stroke-width:12}.own-ring-fill{fill:none;stroke:var(--ring, #2fbf8f);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.own-ring--good{--ring: #3fa7d6}.own-ring--start{--ring: #e98a1f}.own-ring-num{position:relative;display:grid;justify-items:center;line-height:1;font-family:var(--font-display);color:var(--purple)}.own-ring-num b{font-size:1rem;font-weight:800}.own-ring-num small{font-size:.55rem;font-weight:700;color:var(--ink-soft)}.own-ring--big{width:128px;height:128px}.own-ring--big .own-ring-num b{font-size:2.4rem}.own-ring--big .own-ring-num small{font-size:.9rem}.own-next-card{padding:10px 12px;border-radius:14px;background:#fffbe8;border:2px solid #f3e3a4}.own-next-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;color:var(--purple);font-size:.9rem}.own-next-gain{flex:none;padding:2px 10px;border-radius:999px;background:#ffe2bd;color:#7a4300;font-family:var(--font-display);font-weight:800;font-size:.75rem;white-space:nowrap}.own-next-card ul{margin:6px 0 0;padding-inline-start:18px;font-size:.8rem;color:var(--ink-soft)}.own-next-done{margin:0;font-size:.85rem;font-weight:700;color:var(--purple)}.own-next-check{margin:8px 0 0;padding-top:6px;border-top:1px dashed #f3d36b;font-size:.78rem;font-weight:700;color:#7a4300}.own-report-score{margin-top:12px;padding:14px;border-radius:18px;border:2px solid var(--line)}.own-report-top{display:flex;align-items:center;gap:16px}.own-band{display:inline-block;margin:0 0 6px;padding:4px 14px;border-radius:999px;background:#d9f6e8;color:#135c3e;font-family:var(--font-display);font-weight:800}.own-band--good{background:#dbe8f7;color:#204a76}.own-band--start{background:#ffe2bd;color:#7a4300}.own-summary{margin:0;font-size:.88rem;color:var(--ink-soft)}.own-report-h{margin:14px 0 8px;font-family:var(--font-display);font-size:.95rem;color:var(--purple)}.own-rows{max-height:none;margin:10px 0 0;padding:0}.own-sections{display:grid;gap:8px}.own-sec{border:2px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden}.own-sec.is-open{border-color:#cfcaf3}.own-sec--unmet{border-color:#f5c98f}.own-sec-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:none;font:inherit;color:inherit;text-align:start;cursor:pointer}.own-sec-head:hover{background:var(--lavender-soft)}.own-sec-head:focus-visible{outline:3px solid var(--lavender);outline-offset:-3px}.own-sec-icon{flex:none;font-size:1.35rem;line-height:1}.own-sec-title{flex:1;min-width:0}.own-sec-title b{color:var(--purple);font-size:.92rem}.own-sec-score{flex:none;font-family:var(--font-display);font-size:.8rem;color:var(--ink-soft)}.own-sec-score b{font-size:1.05rem;color:var(--purple)}.own-sec .own-tile-pending{position:static;flex:none}.own-sec-chev{flex:none;width:9px;height:9px;margin-inline:4px 2px;border-right:2.5px solid var(--purple);border-bottom:2.5px solid var(--purple);transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}.own-sec.is-open .own-sec-chev{transform:translateY(2px) rotate(225deg)}.own-sec-body{padding:2px 12px 12px}.own-sec-tag{display:inline-block;margin:8px 0 0;padding:2px 12px;border-radius:999px;font-family:var(--font-display);font-weight:800;font-size:.78rem}.own-sec-tag--good{background:#d9f6e8;color:#135c3e}.own-sec-tag--improve{background:#ffe2bd;color:#7a4300}.own-sec-body .own-rows{margin-top:6px}.own-sec-spin{display:inline-block;flex:none;width:18px;height:18px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--lavender-deep);vertical-align:-3px;animation:own-spin .9s linear infinite}@keyframes own-spin{to{transform:rotate(360deg)}}.own-row--judging .check-mark:after{content:"";width:12px;height:12px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--lavender-deep);animation:own-spin .9s linear infinite}.own-band--busy{background:var(--lavender-soft);color:var(--purple)}.own-report-top.is-busy .own-ring{opacity:.55}
