.viewer{background:var(--scene-bg,#fdfdf9);flex-direction:column;width:100%;height:100%;display:flex;overflow:auto}.stage{--scene-size:min(94vw, 76dvh, 900px);background:radial-gradient(ellipse at 50% 46%, var(--scene-center,#f7f8f1) 0, var(--scene-bg,#fdfdf9) 72%);flex:1;width:100%;min-height:160px;position:relative;overflow:hidden}.cube-host{width:var(--scene-size);height:var(--scene-size);z-index:1;touch-action:none;max-height:calc(100% - 56px);position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.cube-host twisty-player{cursor:grab;touch-action:none;width:100%;height:100%;display:grid}.cube-host twisty-player:active{cursor:grabbing}.orbit-ring{border:1px solid var(--border,#e4e8dc);pointer-events:none;border-radius:50%;width:min(88vw,108dvh,1000px);height:min(32vw,40dvh,370px);position:absolute;top:48%;left:50%}.orbit-ring-one{transform:translate(-50%,-50%)rotate(-22deg)}.orbit-ring-two{opacity:.65;transform:translate(-50%,-50%)rotate(28deg)}.cube-shadow{width:calc(var(--scene-size) * .4);height:calc(var(--scene-size) * .04);left:50%;top:calc(47% + var(--scene-size) * .31);background:radial-gradient(ellipse, var(--shadow-cube,#66725320), transparent 70%);filter:blur(8px);pointer-events:none;position:absolute;transform:translate(-50%)}.drag-hint{bottom:calc(28px + env(safe-area-inset-bottom,0px));color:var(--text-muted,#929a85);white-space:nowrap;pointer-events:none;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.drag-hint svg{flex-shrink:0}.stage-message{z-index:3;color:var(--text-muted,#818975);background:var(--stage-overlay,#fcfcf9ed);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;font-size:13px;display:flex;position:absolute;inset:0}.loading-spinner{border:2px solid var(--border,#dfe3d5);border-top-color:var(--accent,#889778);border-radius:50%;width:22px;height:22px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{gap:10px}.error-message strong{color:var(--text-strong,#4b5741);font-weight:500}.error-message p{max-width:260px;margin:0;font-size:12px;line-height:1.8}.retry-button{border:1px solid var(--border,#d1d8c7);background:var(--surface-selected,#eff2e8);border-radius:6px;min-height:44px;margin-top:6px;padding:10px 18px;font-size:12px}.formula-controls{z-index:2;width:min(960px,100% - 40px);margin:0 auto calc(20px + env(safe-area-inset-bottom,0px));border:1px solid var(--border,#e2e7db);background:var(--controls-bg,#ffffffdc);box-shadow:0 8px 32px var(--shadow-controls,#64724308);border-radius:14px;flex-shrink:0;grid-template-columns:minmax(240px,1fr) minmax(0,1.3fr);align-items:center;gap:24px;padding:20px 22px;display:grid;position:relative}.formula-editor{min-width:0}.formula-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:9px;display:flex}.formula-heading-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.formula-heading label{color:var(--text-strong,#4d5943);font-size:13px;font-weight:500}.formula-heading span{color:var(--text-muted,#9aa28f);white-space:nowrap;font-size:11px}.formula-editor textarea{resize:none;border:1px solid var(--border,#dbe2d2);background:var(--surface-inset,#fafbf7);width:100%;height:62px;color:var(--text-strong,#3f4d36);border-radius:7px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;line-height:1.5;display:block}.formula-editor textarea:focus-visible,.speed-control select:focus-visible{outline:2px solid var(--focus,#87966f);outline-offset:2px}.formula-editor textarea[aria-invalid=true]{border-color:var(--danger-line,#ba7764)}.formula-help,.formula-error{margin:8px 0 0;font-size:11px;line-height:1.5}.formula-help{color:var(--text-muted,#9aa28f)}.formula-error{color:var(--danger-text,#a15d47)}.playback-controls{min-width:0}.playback-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.playback-toolbar button,.step-button{white-space:nowrap;border-radius:7px;min-height:44px;padding:10px 14px;font-size:12px}.play-button{border:1px solid var(--primary-bg,#778764);min-width:88px;color:var(--on-primary,#fff);background:var(--primary-bg,#778764)}.play-button:hover:enabled{background:var(--primary-hover,#697b55)}.rewind-button,.step-button{border:1px solid var(--border,#dce3d3);background:var(--surface-soft,#f7f9f2);color:var(--text-secondary,#6f7e61)}.step-button:hover:enabled,.rewind-button:hover:enabled{background:var(--surface-hover,#edf2e5)}.playback-controls button:focus-visible,.playback-progress:focus-visible{outline:2px solid var(--focus,#87966f);outline-offset:2px}.playback-toolbar button:disabled,.step-button:disabled{opacity:.5;cursor:default}.speed-control{white-space:nowrap;align-items:center;gap:7px;margin-left:4px;font-size:12px;display:flex}.speed-control select{border:1px solid var(--border,#dce3d3);background:var(--surface,#fff);min-height:44px;color:var(--text-secondary,#617153);font:inherit;cursor:pointer;border-radius:7px;padding:8px 7px}.playback-status{justify-content:space-between;align-items:center;gap:12px;min-height:20px;margin-top:12px;font-size:11px;display:flex}.playback-status strong{color:var(--text-secondary,#5d7049);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500}.playback-seek-row{align-items:center;gap:12px;margin-top:5px;display:flex}.playback-seek-row .step-button{flex:none;padding-inline:10px}.playback-seek-row .playback-progress{flex:1;width:0}.playback-progress{appearance:none;cursor:pointer;touch-action:none;background:0 0;border:0;width:100%;min-width:0;height:44px;margin:0;padding:0;display:block}.playback-progress::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent,#8c9d75) var(--playback-progress), var(--track,#e9eddf) var(--playback-progress));border-radius:4px;height:4px}.playback-progress::-moz-range-track{background:var(--track,#e9eddf);border-radius:4px;height:4px}.playback-progress::-moz-range-progress{background:var(--accent,#8c9d75);border-radius:4px;height:4px}.playback-progress::-webkit-slider-thumb{appearance:none;border:2px solid var(--surface,#fff);background:var(--primary-bg,#778764);width:18px;height:18px;box-shadow:0 1px 5px var(--shadow-thumb,#64724340);border-radius:50%;margin-top:-7px}.playback-progress::-moz-range-thumb{border:2px solid var(--surface,#fff);background:var(--primary-bg,#778764);width:14px;height:14px;box-shadow:0 1px 5px var(--shadow-thumb,#64724340);border-radius:50%}.playback-progress:disabled{opacity:.5;cursor:default}.playback-help{color:var(--text-muted,#8b967e);margin:6px 0 8px;font-size:11px;line-height:1.5}.playback-steps{scrollbar-width:thin;scrollbar-color:var(--border,#cbd5be) transparent;gap:6px;max-width:100%;padding:3px 3px 7px;display:flex;position:relative;overflow-x:auto}.formula-step{border:1px solid var(--border,#e0e6d8);background:var(--surface-inset,#fafbf7);min-width:44px;min-height:44px;color:var(--text-secondary,#5e6f50);white-space:nowrap;border-radius:7px;flex:none;align-items:center;gap:7px;padding:8px 10px;display:flex}.formula-step span{color:var(--text-muted,#939d87);font-size:10px}.formula-step code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.formula-step:hover:enabled{background:var(--surface-hover,#edf2e5)}.formula-step[aria-current=step]{border-color:var(--primary-bg,#778764);background:var(--surface-selected,#e9efdf);color:var(--text-strong,#435736)}.formula-step[aria-current=step] span{color:var(--text-secondary,#65794f)}.formula-step:disabled{opacity:.5;cursor:default}.formula-demo-formulas{gap:12px;margin-bottom:16px;display:grid}.formula-demo-formulas span{color:var(--text-muted,#829171);margin-bottom:5px;font-size:11px;display:block}.formula-demo-formulas code{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.7;display:block}.formula-demo .stage{--scene-size:min(100%,360px);border:1px solid var(--line);border-radius:12px;flex:none;height:clamp(210px,40dvh,360px)}.formula-demo .orbit-ring{width:90%;height:30%}.formula-demo .drag-hint{gap:8px;font-size:11px;bottom:14px}.formula-demo .drag-hint svg{width:18px;height:18px}.formula-demo-controls{margin-top:16px}.formula-demo .playback-toolbar{flex-wrap:wrap}@media (width<=760px){.formula-controls{width:calc(100% - 32px);margin-bottom:calc(16px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}.playback-toolbar{justify-content:space-between}.speed-control{margin-left:auto}.playback-status{margin-top:9px}}@media (width<=600px){.drag-hint{gap:10px;font-size:12px;bottom:18px}.drag-hint svg{width:20px;height:20px}.playback-toolbar button{padding-inline:10px}.speed-control{gap:5px}}@media (width<=360px){.playback-toolbar{gap:6px}.playback-toolbar button{padding-inline:8px;font-size:11px}.play-button{min-width:78px}.speed-control{gap:4px;font-size:11px}.speed-control select{padding-inline:4px}.playback-seek-row{gap:8px}.playback-seek-row .step-button{padding-inline:8px;font-size:11px}}@media (width<=760px) and (height<=650px){.viewer .stage{min-height:128px}.viewer .cube-host{max-height:calc(100% - 34px);top:44%}.viewer .drag-hint{gap:8px;font-size:11px;bottom:8px}.viewer .drag-hint svg{width:18px;height:18px}.formula-controls{width:calc(100% - 24px);margin-bottom:calc(8px + env(safe-area-inset-bottom,0px));gap:8px;padding:12px}.formula-controls .formula-editor textarea{height:44px;padding-block:8px}.formula-controls .formula-help{display:none}.formula-controls .formula-heading{margin-bottom:6px}.formula-controls .formula-heading span{display:none}.formula-controls .playback-status{margin-top:6px}.formula-controls .playback-help{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (height<=450px){.viewer .stage{min-height:120px}.cube-host{max-height:calc(100% - 56px);top:44%}.orbit-ring{top:44%}.cube-shadow{top:calc(44% + var(--scene-size) * .31)}.drag-hint{gap:8px;font-size:11px;bottom:10px}.drag-hint svg{width:18px;height:18px}.formula-controls{margin-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:16px;padding:10px 14px}.formula-heading{margin-bottom:6px}.formula-editor textarea{height:44px;padding-block:8px}.formula-help{display:none}.playback-status{margin-top:6px}.formula-controls .formula-heading span{display:none}.formula-controls .playback-help{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (height<=450px) and (width>=600px){.formula-controls{grid-template-columns:minmax(210px,1fr) minmax(0,1.5fr)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.workspace{min-height:100dvh;display:flex}.workspace button,.workspace a,.workspace input,.workspace textarea,.workspace select{-webkit-tap-highlight-color:transparent}.workspace button{transition:background .15s,border-color .15s}.workspace input,.workspace textarea,.workspace select{font:inherit;color:var(--text,#394233)}.workspace fieldset{border:0;min-width:0;margin:0;padding:0}.workspace h1,.workspace h2,.workspace h3,.workspace p{margin-top:0}.workspace h2{font-size:17px;font-weight:600}.workspace button:disabled{opacity:.45;cursor:default}.sidebar{background:var(--surface-soft,#fcfdf9);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:224px;height:100dvh;padding:32px 20px 22px;display:flex;position:sticky;top:0}.brand{text-align:left;letter-spacing:2px;color:var(--text-strong,#3e4e30);background:0 0;border:0;align-items:center;gap:12px;padding:0 8px;font-size:24px;font-weight:650;display:flex}.brand-mark{background:var(--surface-selected,#eaf0df);width:44px;height:44px;color:var(--accent,#6c8050);border-radius:13px;place-items:center;display:grid}.brand small{letter-spacing:3px;color:var(--text-muted,#838d76);margin-top:3px;font-size:10px;font-weight:400;display:block}.sidebar-label{letter-spacing:1px;color:var(--text-faint,#a1a797);margin:46px 14px 13px;font-size:10px;display:block}.sidebar nav{gap:7px;display:grid}.sidebar nav button,.demo-link{width:100%;min-height:48px;color:var(--text-muted,#828b78);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 15px;font-size:13px;display:flex}.sidebar nav button:hover,.demo-link:hover{background:var(--surface-hover,#f0f3e9)}.sidebar nav button.active,.demo-link.active{background:var(--surface-selected,#eaf0df);color:var(--text-secondary,#536a3d);font-weight:550}.sidebar nav small{color:var(--accent,#879774);margin-left:auto;font-size:11px}.sidebar-bottom{margin-top:auto;padding-top:40px}.demo-link svg:last-child{margin-left:auto}.device-note{border-top:1px solid var(--line);color:var(--text-muted,#8b947f);margin:18px 12px 0;padding-top:19px;font-size:11px}.device-note small{color:var(--text-faint,#a5ac9d);margin-top:8px;font-size:10px;display:block}.status-dot,.local-badge>span{background:var(--accent,#92a775);border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.workspace-main{flex:1;min-width:0}.workspace-topbar{border-bottom:1px solid var(--line);height:70px;color:var(--text-muted,#929a87);background:var(--topbar-bg,#fcfdf980);justify-content:space-between;align-items:center;gap:20px;padding:0 48px;font-size:11px;display:flex}.breadcrumb-divider{color:var(--text-faint,#c1c8b9);margin:0 12px}.topbar-note{color:var(--text-faint,#a0a794);letter-spacing:.5px;font-size:10px}.workspace-content{max-width:1220px;margin:auto;padding:40px 48px 64px}.workspace-loading{min-height:65vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:24px;font-size:14px;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.page-heading-actions,.empty-actions{flex-wrap:wrap;gap:10px;display:flex}.page-heading-actions{flex-shrink:0}.eyebrow{letter-spacing:2px;color:var(--text-muted,#98a38b);margin-bottom:11px;font-size:9px;display:block}.page-heading h1{letter-spacing:.5px;color:var(--text-strong,#35452a);margin-bottom:9px;font-size:29px;font-weight:600;line-height:1.4}.page-heading h1 .icon-button{vertical-align:middle;margin-left:10px}.collection-title{align-items:center;gap:10px;display:flex}.collection-title .icon-button{margin-bottom:9px}.page-heading p{color:var(--muted);margin-bottom:0;font-size:12px;line-height:1.7}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:10px 17px;font-size:12px;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.button.primary{background:var(--olive);border-color:var(--olive);color:var(--on-primary,white)}.button.primary:hover:enabled{background:var(--primary-hover,#53683d)}.button.secondary{background:var(--surface,#fff);border-color:var(--border,#dce2d3);color:var(--text-secondary,#6e7e5b)}.button.secondary:hover:enabled{background:var(--surface-hover,#f1f5ea)}.button.danger{color:var(--on-primary,white);background:var(--danger-button,#a76451);border-color:var(--danger-button,#a76451)}.text-button{color:var(--accent,#647a4c);background:0 0;border:0;align-items:center;gap:6px;padding:6px 0;font-size:12px;display:inline-flex}.text-button:hover{color:var(--accent-hover,#3d5827)}.back-link{margin:-8px 0 24px}.icon-button{min-width:34px;min-height:34px;color:var(--text-muted,#8c977e);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.icon-button:hover:enabled{background:var(--surface-hover,#eef3e6);color:var(--accent,#637749)}.muted{color:var(--muted);font-size:11px;line-height:1.7}.library-summary{background:linear-gradient(115deg,var(--summary-start,#eff3e5),var(--summary-end,#f4f6ed));border:1px solid var(--border,#e4e9d9);border-radius:12px;margin-bottom:28px;padding:23px 29px;display:flex}.library-summary>div{flex-direction:column;gap:7px;min-width:135px;display:flex}.library-summary strong{color:var(--text-secondary,#56683f);font-variant-numeric:tabular-nums;font-size:29px;font-weight:450;line-height:1.1}.library-summary span{color:var(--accent,#8e9c7c);font-size:10px}.library-summary .summary-note{color:var(--text-faint,#b1bda0);flex-direction:row;align-items:center;gap:14px;min-width:auto;margin-left:auto}.summary-note span{line-height:1.8}.list-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.search-box{background:var(--surface-soft,#fcfdf9);border:1px solid var(--border,#e0e5d7);width:min(380px,100%);height:43px;color:var(--text-faint,#a0aa92);border-radius:8px;align-items:center;gap:10px;padding:0 13px;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:100%;font-size:12px}.search-box:focus-within{outline:2px solid var(--focus,#95a581);outline-offset:1px}.search-box input::placeholder{color:var(--text-faint,#a0a794)}.library-toolbar .toolbar-search{flex:1;align-items:center;gap:10px;min-width:0;max-width:520px;display:flex}.library-toolbar .search-box{flex:1;min-width:0}.library-toolbar>.muted{white-space:nowrap;flex-shrink:0}.tag-filter-menu{flex-shrink:0;position:relative}.tag-filter-menu summary{border:1px solid var(--border,#dce2d3);background:var(--surface,#fff);min-height:43px;color:var(--text-secondary,#6e7e5b);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px 11px;font-size:12px;list-style:none;display:flex}.tag-filter-menu summary::-webkit-details-marker{display:none}.tag-filter-menu[open] summary{background:var(--surface-hover,#eef3e6);border-color:var(--line-strong,#a4b392)}.tag-filter-menu summary small{color:var(--accent,#637649);font-size:10px}.tag-filter-popover{z-index:5;background:var(--surface,#fff);border:1px solid var(--line);width:250px;max-width:calc(100vw - 40px);box-shadow:0 8px 28px var(--shadow-popover,#31411e20);border-radius:10px;padding:15px;position:absolute;top:calc(100% + 8px);right:0}.tag-filter-popover p{margin-bottom:10px}.tag-filter-options{max-height:min(280px,45dvh);overflow-y:auto}.tag-filter-options label{min-height:38px;color:var(--text-secondary,#5e6e50);cursor:pointer;align-items:center;gap:10px;padding:6px 3px;font-size:12px;display:flex}.tag-filter-options input{width:16px;height:16px;accent-color:var(--accent,#738955);flex-shrink:0}.tag-filter-options label>span{overflow-wrap:anywhere;min-width:0}.tag-filter-options small{color:var(--text-muted,#98a38b);margin-left:auto;padding-left:8px;font-size:10px}.tag-filter-popover>.text-button{margin-top:10px}.formula-tags,.tag-editor-selected,.active-tag-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-chip{border:1px solid var(--border,#e0e8d6);background:var(--surface-selected,#f0f5e8);min-width:0;max-width:100%;color:var(--accent,#6d8257);overflow-wrap:anywhere;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:5px 9px;font-size:10px;line-height:1.5;display:inline-flex}button.tag-chip:hover:enabled{background:var(--surface-hover,#e4edda);border-color:var(--line-strong,#bdccaa)}.tag-chip svg{flex-shrink:0}.tag-chip:focus-visible,.tag-filter-menu summary:focus-visible,.tag-filter-options input:focus-visible{outline:2px solid var(--focus,#97a784);outline-offset:2px}.formula-card>.formula-tags{margin-top:14px}.active-tag-filters{gap:8px;margin:-8px 0 22px}.active-tag-filters>.muted{margin-right:2px}.active-tag-filters>.text-button{margin-left:4px}.tag-editor-selected{margin-bottom:10px}.tag-input-row{gap:8px;display:flex}.tag-input-row>input{flex:1}.tag-input-row>.button{flex-shrink:0;padding-inline:12px}.tag-editor .tag-help{margin:8px 0 0;font-size:10px}.tag-suggestions{margin-top:12px}.tag-suggestions>.muted{margin-bottom:7px;font-size:10px;display:block}.tag-suggestions .tag-editor-selected{margin-bottom:0}.tag-suggestion{background:var(--surface-soft,#fbfcf8);border-style:dashed}.collection-row-copy .formula-tags,.picker-copy .formula-tags{margin:6px 0}.formula-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:17px;display:grid}.formula-card{border:1px solid var(--line);background:var(--surface,#fff);border-radius:12px;min-width:0;padding:19px;transition:box-shadow .2s}.formula-card:hover{box-shadow:0 5px 22px var(--shadow-card,#475c2310)}.formula-card-main{align-items:center;gap:13px;display:flex}.thumbnail{border:1px solid var(--line-strong,#a6b78f);background:var(--thumbnail-bg,#f3f5ed);width:64px;height:64px;color:var(--text-faint,#b0bda0);border-radius:9px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.thumbnail img{object-fit:contain;width:100%;height:100%;display:block}.thumbnail-large{border-color:var(--line-strong,#91a779);border-radius:12px;width:132px;height:132px}.formula-card-copy{min-width:0}.formula-card h3{margin-bottom:7px;font-size:14px;font-weight:550}.formula-card h3 button{color:var(--text-strong,#435337);font:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.formula-card-copy p{color:var(--text-muted,#919986);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.6;display:-webkit-box;overflow:hidden}.formula-snippet{background:var(--surface-inset,#f8f9f5);color:var(--text-secondary,#77876a);border-radius:6px;margin-top:18px;padding:8px;font-size:11px}.formula-solution-list{gap:8px;min-width:0;display:grid}.formula-solution-preview{align-items:flex-start;gap:8px;min-width:0;display:flex}.formula-solution-copy{flex:1;align-self:center;min-width:0}.formula-solution-copy code{white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.7;display:block;overflow:hidden}.solution-preview-label{color:var(--text-muted,#94a186);overflow-wrap:anywhere;margin-bottom:3px;font-size:9px;display:block}.formula-demo-button{border:1px solid var(--border,#dce4d2);background:var(--surface-selected,#f0f4e8);width:34px;height:34px;color:var(--accent,#73855e);border-radius:7px;flex-shrink:0}.formula-demo-button:hover:enabled{background:var(--surface-hover,#e6eddc);border-color:var(--line-strong,#aabb97)}.formula-demo-button:focus-visible{outline-offset:2px}.card-footer{justify-content:space-between;align-items:center;gap:6px;margin-top:12px;display:flex}.card-footer>span{color:var(--text-muted,#9ba590);font-size:9px}.card-footer>div{display:flex}.empty-state{border:1px dashed var(--border,#dce3d2);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:270px;padding:42px 20px;display:flex}.empty-icon{background:var(--surface-selected,#edf2e3);width:64px;height:64px;color:var(--text-muted,#9baa87);border-radius:18px;place-items:center;margin-bottom:18px;display:grid}.empty-state h2{color:var(--text-secondary,#6b7c58);margin-bottom:9px;font-size:15px}.empty-state p{color:var(--text-muted,#929c86);margin-bottom:20px;font-size:11px;line-height:1.8}.panel{border:1px solid var(--line);background:var(--surface,#fff);border-radius:12px;padding:25px}.section-title{align-items:center;gap:11px;margin-bottom:21px;display:flex}.section-title h2{color:var(--text-secondary,#536348);margin:0;font-size:14px}.section-title>.muted,.section-title>.pill{margin-left:auto}.step-badge{width:25px;height:25px;color:var(--accent,#879b70);background:var(--surface-selected,#f0f4e8);border-radius:7px;place-items:center;font-size:10px;display:grid}.section-description{color:var(--text-muted,#949d88);margin:-6px 0 20px;font-size:11px;line-height:1.7}.editor-layout{grid-template-columns:minmax(250px,.85fr) minmax(0,1.4fr);align-items:start;gap:22px;display:grid}.editor-right{gap:22px;display:grid}.field{margin-bottom:19px;display:block}.field-label{color:var(--text-secondary,#5e6e50);align-items:center;gap:9px;margin-bottom:9px;font-size:12px;display:flex}.algorithm-heading{justify-content:space-between}.field-label small{color:var(--text-faint,#a1aa95);font-size:9px;font-weight:400}.char-count{color:var(--text-faint,#a0a895);font-variant-numeric:tabular-nums;margin-left:auto;font-size:9px}.field input:not(.visually-hidden),.field textarea{border:1px solid var(--border,#dfe5d6);background:var(--surface-soft,#fbfcf8);border-radius:7px;width:100%;min-width:0;min-height:43px;padding:11px 12px;font-size:14px;line-height:1.5;display:block}.field textarea{resize:vertical}.field input:focus-visible,.field textarea:focus-visible,.conflict-list select:focus-visible{outline:2px solid var(--focus,#97a784);outline-offset:2px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger-line,#b5705d)}.field-error{color:var(--danger-text,#aa6550);margin-top:7px;font-size:11px;line-height:1.6;display:block}.field .algorithm-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.8}.algorithm-input::placeholder{color:var(--text-faint,#a7b098)}.algorithm-input-row{align-items:flex-start;gap:9px;display:flex}.algorithm-input-row>.formula-demo-button{margin-top:5px}.algorithm-input-row textarea{flex:1}.image-editor{flex-wrap:wrap;align-items:center;gap:17px;display:flex}.image-editor .button{padding:9px 12px;font-size:11px}.image-editor-actions{min-width:0}.image-editor-actions>.button{margin-bottom:8px;display:flex}.image-editor .text-button{margin-top:8px;display:flex}.image-editor p{margin:10px 0 0;font-size:9px}.image-paste-hint{margin:12px 0 0}.info-note{border-top:1px solid var(--border,#edf0e7);color:var(--text-muted,#95a085);align-items:center;gap:7px;margin-top:26px;padding-top:18px;font-size:10px;display:flex}.solution-editor{background:var(--surface-soft,#fcfdf9);border:1px solid var(--border,#e5eadf);border-radius:9px;margin-bottom:15px;padding:18px}.solution-top{justify-content:space-between;align-items:center;gap:10px;margin:-4px 0 13px;display:flex}.solution-number{color:var(--text-secondary,#6c7e5b);font-size:12px;font-weight:500}.solution-number small{color:var(--text-muted,#9ca990);background:var(--surface-hover,#eef3e6);border-radius:4px;margin-left:8px;padding:3px 5px;font-size:9px}.row-actions{flex-shrink:0;display:flex}.solution-editor .field:last-child{margin-bottom:0}.add-solution{background:var(--surface-soft,#fcfdf9);border:1px dashed var(--border,#d6e0c9);width:100%;color:var(--text-muted,#839770)}.editor-actions{justify-content:space-between;align-items:center;gap:18px;margin-top:25px;padding-bottom:10px;display:flex}.editor-actions>div{gap:10px;display:flex}.danger-text{color:var(--danger-text,#ad7863)}.error-notice{color:var(--danger-text,#a35d49);background:var(--danger-bg,#fcf1eb);border:1px solid var(--danger-line,#eddbd0);overflow-wrap:anywhere;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.7}.warning-note{background:var(--warning-bg,#fbf5e9);color:var(--warning-text,#9b8051);border:1px solid var(--warning-line,#ece1c7);border-radius:8px;padding:14px;font-size:12px;line-height:1.8}.warning-note p{margin:6px 0 0}.modal{border:1px solid var(--border,#dfe5d6);background:var(--surface,#fff);width:min(480px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--text-secondary,#596a49);box-shadow:0 20px 100px var(--shadow-modal,#31411e30);border-radius:16px;padding:0}.modal-wide{width:min(680px,100% - 32px)}.modal::backdrop{background:var(--backdrop,#28351f65);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-inner{padding:25px}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px;display:flex}.modal-header h2{margin:0;font-size:17px}.modal p{font-size:12px;line-height:1.8}.modal .muted{font-size:11px}.modal-actions{justify-content:flex-end;align-items:center;gap:9px;margin-top:24px;display:flex}.modal-actions>.muted{margin-right:auto}.crop-preview{aspect-ratio:1;border:2px solid var(--line-strong,#879c6f);background:repeating-conic-gradient(var(--checker-dark,#edf0e7) 0% 25%, var(--checker-light,white) 0% 50%) 50% / 20px 20px;border-radius:9px;width:min(100%,320px);height:auto;margin:20px auto;display:block}.crop-sliders label{align-items:center;gap:15px;margin:15px 0;font-size:12px;display:flex}.crop-sliders input{min-width:0;accent-color:var(--accent,#7e945e);flex:1}.crop-rotation{justify-content:space-between;align-items:center;gap:8px;display:flex}.crop-rotation>.button{min-height:40px;padding:9px 11px;font-size:11px}.crop-rotation>.muted{text-align:center;font-variant-numeric:tabular-nums;flex-shrink:0}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.collection-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;min-width:0;padding:22px}.collection-card-top{color:var(--text-faint,#a0b289);justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.collection-link{text-align:left;background:0 0;border:0;width:100%;padding:0}.collection-link h2{color:var(--text-secondary,#536347);overflow-wrap:anywhere;margin-bottom:10px;font-size:17px}.collection-link>span{color:var(--text-muted,#97a18a);justify-content:space-between;font-size:10px;display:flex}.collection-previews{gap:8px;min-height:42px;margin-top:22px;display:flex}.collection-previews .thumbnail{border-radius:6px;width:42px;height:42px}.collection-previews .thumbnail svg{width:25px}.collection-rows{gap:11px;display:grid}.collection-row{border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;align-items:center;gap:15px;padding:16px 18px;display:flex}.drag-grip{color:var(--text-faint,#b6c1a7);cursor:grab}.row-number{color:var(--text-faint,#b0baa4);font-variant-numeric:tabular-nums;font-size:11px}.collection-row-copy{flex:1;min-width:0}.collection-row-copy .text-button{color:var(--text-secondary,#546a40);font-size:14px;font-weight:550}.collection-row-copy p{color:var(--text-muted,#99a18f);margin:2px 0 5px;font-size:10px}.collection-row-copy code{color:var(--text-muted,#829171);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.picker-results{max-height:45dvh;margin-top:18px;overflow:auto}.picker-row{border-bottom:1px solid var(--border,#edf0e7);cursor:pointer;align-items:center;gap:13px;padding:12px 3px;display:flex}.picker-row input,.import-modes input{width:16px;height:16px;accent-color:var(--accent,#738955);flex-shrink:0}.picker-row .thumbnail{width:50px;height:50px}.picker-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.picker-copy strong{font-size:13px;font-weight:550}.picker-copy small{color:var(--text-muted,#959f89);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.picker-copy code{color:var(--text-muted,#829271);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.already-added{opacity:.6}.pill{color:var(--accent,#8a9d72);background:var(--surface-selected,#eff4e7);white-space:nowrap;border-radius:5px;padding:5px 7px;font-size:9px}.local-badge{color:var(--accent,#8fa178);background:var(--surface-selected,#ecf2e1);white-space:nowrap;border-radius:20px;align-items:center;padding:8px 12px;font-size:10px;display:inline-flex}.storage-panel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.storage-panel h2{color:var(--accent,#667a51);margin-bottom:8px;font-size:14px}.storage-panel p{margin-bottom:0}.storage-panel>strong{color:var(--accent,#7d9167);font-size:19px;font-weight:500}.storage-panel small{color:var(--text-faint,#a0ab92);font-size:10px}.storage-panel progress{width:100%;height:5px;margin-top:9px}.workspace progress{appearance:none;background:var(--track,#e9eedf);border:0;border-radius:4px;overflow:hidden}.workspace progress::-webkit-progress-bar{background:var(--track,#e9eedf)}.workspace progress::-webkit-progress-value{background:var(--accent,#95a77d)}.workspace progress::-moz-progress-bar{background:var(--accent,#95a77d)}.backup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:24px;display:grid}.backup-card{padding:30px}.backup-icon{background:var(--surface-selected,#edf3e4);width:55px;height:55px;color:var(--accent,#97ab7d);border-radius:15px;place-items:center;margin-bottom:25px;display:grid}.backup-card h2{color:var(--text-secondary,#536647);margin-bottom:11px;font-size:17px}.backup-card p{color:var(--text-muted,#909e82);min-height:43px;margin-bottom:24px;font-size:11px;line-height:1.9}.download-link{margin-top:10px;margin-left:10px}.backup-progress{margin:20px 0}.backup-progress>div{color:var(--accent,#7f926a);justify-content:space-between;align-items:center;font-size:12px;display:flex}.backup-progress progress{width:100%;height:5px;margin-top:8px}.import-preview{margin-top:20px}.import-preview p{font-size:12px;line-height:1.8}.import-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid;margin:20px 0!important}.import-modes label{background:var(--surface-inset,#f8faf3);border:1px solid var(--border,#e1e8d6);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:15px;display:flex}.import-modes strong{color:var(--accent,#667b50);font-size:12px;display:block}.import-modes small{color:var(--text-muted,#929f84);margin-top:7px;font-size:10px;line-height:1.8;display:block}.conflict-list{max-height:300px;overflow:auto}.conflict-list label{border-bottom:1px solid var(--border,#edf0e7);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;display:flex}.conflict-list small{color:var(--text-faint,#a5ae9a);margin-top:5px;font-size:9px;display:block}.conflict-list select{border:1px solid var(--border,#dce4d1);background:var(--surface,#fff);border-radius:6px;padding:8px;font-size:12px}.result-summary{color:var(--accent,#738959);margin-top:20px}.collection-import-sources{flex-wrap:wrap;gap:10px;display:flex}.collection-import-sources .button{white-space:normal;max-width:100%}.collection-import-sources .button svg{flex-shrink:0}.collection-import-preview{margin-top:24px}.collection-import-option{border:1px solid var(--border,#e1e8d6);background:var(--surface-inset,#f8faf3);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:14px;display:flex}.collection-import-option input{width:16px;height:16px;accent-color:var(--accent,#738955);flex-shrink:0}.collection-import-option strong{font-size:12px;display:block}.collection-import-option small{color:var(--text-muted,#929f84);margin-top:6px;font-size:11px;line-height:1.8;display:block}.collection-import-preview .section-title h3{margin:0;font-size:14px}.collection-import-list{max-height:38dvh;padding:0;list-style:none;overflow:auto}.collection-import-list li{border-bottom:1px solid var(--border,#edf0e7);align-items:center;gap:12px;padding:12px 0;display:flex}.collection-import-list .thumbnail{width:48px;height:48px}.collection-import-copy{flex:1;gap:5px;min-width:0;display:grid}.collection-import-copy strong{overflow-wrap:anywhere;font-size:13px}.collection-import-copy small{color:var(--text-muted,#929f84);font-size:10px}.collection-import-copy code{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.collection-import-copy .formula-tags{margin:0}.backup-help{max-width:720px;margin-top:35px;padding:0 2px}.backup-help h2{color:var(--text-muted,#839674);font-size:12px}.backup-help p{color:var(--text-muted,#97a18b);font-size:11px;line-height:1.9}.backup-help .text-button{font-size:11px}.clear-data-panel{border-color:var(--danger-line,#e8d5ce);background:var(--danger-bg,#fdf9f6);flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;display:flex}.clear-data-panel>div{flex:280px}.clear-data-panel h2{color:var(--danger-text,#945b49);margin-bottom:9px;font-size:14px}.clear-data-panel p{color:var(--danger-text,#947d71);margin-bottom:0;font-size:11px;line-height:1.9}.clear-data-panel .muted{margin-top:6px}.toast{bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--toast-bg,#435634);color:var(--on-primary,white);box-shadow:0 8px 35px var(--shadow-toast,#32452025);text-align:center;border-radius:10px;max-width:calc(100vw - 32px);padding:13px 20px;font-size:12px;line-height:1.8;position:fixed;left:50%;transform:translate(-50%)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.workspace-demo{height:100dvh;min-height:240px;overflow:hidden}.workspace-demo .workspace-main{flex-direction:column;min-height:0;display:flex}.workspace-demo .workspace-topbar{flex-shrink:0}.demo-content{flex:1;min-height:0}@media (width<=1200px){.formula-grid,.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-content,.workspace-topbar{padding-inline:30px}.sidebar{width:205px}.editor-layout{grid-template-columns:minmax(225px,.85fr) minmax(0,1.2fr);gap:18px}.panel{padding:20px}}@media (width<=900px){.sidebar{width:180px;padding-inline:12px}.workspace-content{padding:30px 24px 48px}.workspace-topbar{padding-inline:24px}.topbar-note{display:none}.editor-layout{grid-template-columns:minmax(0,1fr)}.image-editor{flex-wrap:nowrap}.brand{gap:8px;font-size:20px}.brand-mark{width:38px;height:38px}.collection-row{gap:10px;padding:13px}.drag-grip{display:none}.collection-row .thumbnail{width:50px;height:50px}.backup-grid{gap:16px}.backup-card{padding:22px}.page-heading h1{font-size:26px}}@media (width<=680px){.page-heading.has-actions{flex-wrap:wrap}.page-heading-actions{width:100%}.page-heading-actions>.button{flex:1;padding-inline:11px;font-size:11px}.workspace{flex-direction:column}.sidebar{width:100%;height:auto;padding:calc(16px + env(safe-area-inset-top,0px)) 18px 12px;border-right:0;border-bottom:1px solid var(--line);position:static}.brand{font-size:21px}.brand small{letter-spacing:2px;font-size:9px}.brand-mark{width:38px;height:38px}.sidebar-label{display:none}.sidebar nav{gap:6px;margin-top:18px;display:flex}.sidebar nav button{border-radius:7px;flex:1;justify-content:center;gap:7px;min-height:39px;padding:9px 10px;font-size:11px}.sidebar nav svg{width:16px;height:16px}.sidebar nav small{display:none}.sidebar-bottom{right:18px;top:calc(17px + env(safe-area-inset-top,0px));margin:0;padding:0;position:absolute}.demo-link{gap:5px;width:auto;min-height:37px;padding:8px;font-size:10px}.demo-link>svg:first-child{width:17px;height:17px}.demo-link>svg:last-child,.device-note,.workspace-topbar{display:none}.workspace-content{padding:28px 18px calc(36px + env(safe-area-inset-bottom,0px))}.page-heading{align-items:flex-start;gap:12px;margin-bottom:23px}.page-heading h1{font-size:24px}.page-heading p{max-width:230px;font-size:11px}.page-heading>.button{margin-top:27px;padding-inline:11px;font-size:11px}.eyebrow{letter-spacing:1.7px;font-size:8px}.library-summary{margin-bottom:22px;padding:21px}.library-summary>div{min-width:100px}.library-summary strong{font-size:26px}.library-summary .summary-note{gap:8px}.summary-note svg{width:22px}.summary-note span{font-size:9px}.list-toolbar{gap:10px}.list-toolbar>.muted{flex-shrink:0;font-size:9px}.search-box{padding-inline:10px;font-size:11px}.search-box input{font-size:11px}.library-toolbar .toolbar-search{gap:7px}.tag-filter-menu summary{gap:4px;padding-inline:8px;font-size:11px}.tag-filter-menu summary>svg:last-child{display:none}.tag-chip{min-height:32px;font-size:11px}.tag-editor .tag-input-row>input{font-size:16px}.tag-filter-options label{min-height:42px}.formula-grid{grid-template-columns:minmax(0,1fr);gap:13px}.formula-card{padding:19px}.formula-card-copy p{font-size:11px}.formula-card h3{font-size:15px}.formula-snippet{margin-top:15px;font-size:12px}.card-footer>span{font-size:10px}.collection-grid{grid-template-columns:minmax(0,1fr);gap:14px}.collection-card{padding:20px}.collection-card-top{margin-bottom:18px}.collection-previews{margin-top:17px}.panel{padding:20px}.editor-layout,.editor-right{gap:18px}.field input,.field textarea,.field .algorithm-input{font-size:16px}.solution-editor{padding:14px}.image-editor{gap:20px}.thumbnail-large{width:120px;height:120px}.editor-actions{flex-direction:column;align-items:stretch}.editor-actions>.muted{font-size:10px}.editor-actions>div{justify-content:flex-end}.editor-actions .button.primary{flex:1}.collection-row{flex-wrap:wrap;gap:11px;padding:14px}.row-number{width:18px}.collection-row-copy{width:calc(100% - 105px)}.collection-row .row-actions{margin-left:auto}.collection-row-copy code{max-width:100%}.reorder-help{font-size:10px}.backup-grid{grid-template-columns:minmax(0,1fr);gap:16px}.backup-card{padding:24px}.backup-card p{min-height:auto}.page-heading>.local-badge{display:none}.storage-panel>strong{font-size:16px}.import-modes{grid-template-columns:minmax(0,1fr)}.modal-inner{padding:21px}.modal-actions{flex-wrap:wrap}.picker-row{gap:9px}.picker-row .thumbnail{width:42px;height:42px}.picker-copy code{font-size:9px}.conflict-list select{max-width:110px}.workspace-demo .sidebar{flex-shrink:0}.workspace-demo .workspace-main{flex:1;overflow:hidden}.workspace-demo .viewer .formula-controls{margin-bottom:calc(10px + env(safe-area-inset-bottom,0px))}}@media (width<=360px){.workspace-content{padding-inline:14px}.library-summary{padding:18px}.library-summary>div{min-width:93px}.summary-note{display:none!important}.page-heading>.button{padding-inline:9px}.image-editor{gap:12px}.thumbnail-large{width:100px;height:100px}.brand small{letter-spacing:1px}.demo-link{font-size:9px}}@media (prefers-reduced-motion:reduce){.workspace button,.formula-card{transition:none}}.training-page{max-width:960px;margin:0 auto}.training-mobile-header,.training-summary,.training-mobile-only{display:none}.training-scramble-actions,.training-solution-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.training-scramble-actions .text-button,.training-solution-actions .text-button{padding:0;font-size:11px}.training-current-name{color:var(--text-muted,#8d9980)}.training-full-formula{color:var(--text-strong,#415431);white-space:pre-wrap;overflow-wrap:anywhere;font:17px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.training-toolbar{align-items:center;margin-bottom:23px;display:flex}.training-selections{flex-wrap:wrap;flex:1;align-items:center;gap:14px 24px;min-width:0;display:flex}.training-selection{flex:0 auto;align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.training-selection>span{color:var(--text-muted,#829171);flex-shrink:0;font-size:12px}.training-selection select{appearance:none;border:1px solid var(--border,#dce2d3);background-color:var(--surface-soft,#fcfdf9);text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23657557' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px 16px;border-radius:8px;width:220px;min-width:0;min-height:44px;padding:10px 40px 10px 13px;font-size:13px}.training-selection select:focus-visible{outline:2px solid var(--focus,#97a784);outline-offset:2px}.training-selection select:disabled{opacity:.55;cursor:default}.training-mode select{width:140px}.training-single select{width:180px}.training-solution-toggle{min-height:44px;color:var(--text-muted,#829171);cursor:pointer;align-items:center;gap:10px;font-size:12px;display:flex}.training-solution-toggle input{appearance:none;border:1px solid var(--border,#dce2d3);background:var(--surface-inset,#fafbf6);cursor:pointer;border-radius:12px;width:36px;height:22px;margin:0;padding:2px}.training-solution-toggle input:before{content:"";background:var(--text-muted,#829171);border-radius:50%;width:16px;height:16px;transition:transform .15s;display:block}.training-solution-toggle input:checked{background:var(--accent,#667b50)}.training-solution-toggle input:checked:before{background:var(--surface,#fff);transform:translate(14px)}.training-solution-toggle input:focus-visible{outline:2px solid var(--focus,#97a784);outline-offset:3px}.training-solution-toggle input:disabled{opacity:.55;cursor:default}.training-selections>.text-button{white-space:nowrap;flex-shrink:0;min-height:44px}.training-surface{border:1px solid var(--line);background:var(--surface,#fff);border-radius:16px;overflow:hidden}.training-timer-target{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.training-timer-target:focus-visible{outline:2px solid var(--focus,#87966f);outline-offset:-3px}.training-scramble{border-bottom:1px solid var(--line);background:var(--surface-inset,#fafbf6);padding:27px 32px 23px}.training-formula-label{align-items:center;gap:10px;min-width:0;display:flex}.training-formula-label>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.training-formula-label>.thumbnail{border-radius:4px;width:28px;height:28px}.training-scramble-heading{color:var(--text-muted,#8d9980);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px;font-size:11px;display:flex}.training-formula-label{color:var(--accent,#667b50);font-size:12px}.training-scramble code{color:var(--text-strong,#415431);white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(18px,2.5vw,25px);line-height:1.8;display:block}.training-clock{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:340px;padding:48px 24px 36px;display:flex}.training-clock-label{color:var(--text-muted,#94a186);font-size:12px}.training-time{font-variant-numeric:tabular-nums;letter-spacing:-2px;color:var(--text-strong,#435834);overflow-wrap:anywhere;max-width:100%;margin:13px 0 20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(40px,6.8vw,84px);line-height:1.2;display:block}.training-current-solution{border-bottom:1px solid var(--line);background:var(--surface-inset,#fafbf6);padding:20px 32px 24px}.training-solution-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.training-solution-heading>span{color:var(--text-muted,#829171);font-size:11px}.training-current-solution .formula-solution-preview>code{flex:1;min-width:0;padding-top:4px}.training-current-solution code{color:var(--accent,#667b50);white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.8;display:block}.training-clock .training-hint{color:var(--text-secondary,#7e8e6e);margin:0 0 23px;font-size:13px;line-height:1.8}.training-gesture{color:var(--text-faint,#a4ad9b);justify-content:center;align-items:center;gap:7px;font-size:10px;line-height:1.7;display:inline-flex}.training-clock .training-notice{color:var(--danger-text,#a35d49);margin:20px 0 0;font-size:12px;line-height:1.8}.training-holding .training-time,.training-holding .training-hint{color:var(--warning-text,#aa8251)}.training-ready{border-color:var(--line-strong,#91ab71)}.training-ready .training-clock{background:var(--ready-bg,#f0f6e9)}.training-ready .training-time,.training-ready .training-hint{color:var(--ready-text,#587c37)}.training-running .training-clock-label{color:var(--text-secondary,#6e845a)}.training-skipped{color:var(--text-muted,#96a08a);margin:15px 2px 0;font-size:11px}@media (width<=680px){.training-toolbar{gap:12px;margin-bottom:18px}.training-selection{flex-direction:column;align-items:stretch;gap:8px}.training-selection select{width:100%;font-size:16px}.training-selections{gap:12px}.training-selections>.training-selection:first-child,.training-mode,.training-single{flex-basis:100%}.training-selections>.text-button{align-self:flex-start}.sidebar nav button{flex:auto;gap:5px;min-width:0;padding-inline:7px}.sidebar nav button>span{white-space:nowrap}.sidebar nav button>svg{flex-shrink:0}}@media (width<=360px){.sidebar nav button{gap:3px;padding-inline:2px;font-size:10px}}@media (width<=680px),(width<=960px) and (height<=500px) and (pointer:coarse){.workspace-training>.sidebar,.workspace-training .workspace-topbar,.training-page>.page-heading,.training-desktop-only,.training-gesture{display:none}.workspace-training{min-height:100dvh}.workspace-training .workspace-main{min-width:0;height:100dvh}.workspace-training .workspace-content{max-width:none;height:100dvh;padding:calc(6px + env(safe-area-inset-top,0px)) calc(14px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(14px + env(safe-area-inset-left,0px));flex-direction:column;display:flex}.training-page{width:100%}.training-page-active{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.training-mobile-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:44px;display:flex}.training-mobile-header h1{color:var(--text-strong,#35452a);margin:0;font-size:16px;font-weight:600}.training-mobile-header>.text-button,.training-mobile-header>span{min-width:56px;min-height:44px;font-size:13px}.training-mobile-header>.text-button:last-child{justify-content:flex-end}.training-summary{border:1px solid var(--line);background:var(--surface-soft,#fcfdf9);text-align:left;border-radius:9px;flex-shrink:0;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 13px;display:flex}.training-summary>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary,#536a3d);flex:1;font-size:13px;overflow:hidden}.training-summary>small{color:var(--text-muted,#859477);white-space:nowrap;font-size:11px}.training-summary>svg{color:var(--text-muted,#859477);flex-shrink:0}.training-surface{border-radius:13px;flex-direction:column;flex:1;min-height:0;display:flex}.training-scramble{flex-direction:column;flex:0 0 clamp(154px,22dvh,190px);min-height:0;padding:16px 17px;display:flex}.training-scramble-heading{flex-wrap:nowrap;flex-shrink:0;gap:8px;min-height:28px;margin-bottom:8px;font-size:10px}.training-formula-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.training-scramble code{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex-shrink:1;min-height:0;font-size:18px;line-height:1.65;display:-webkit-box;overflow:hidden}.training-timer-target{flex:1;min-height:0;display:flex}.training-clock{flex:1;min-width:0;min-height:0;padding:16px 12px}.training-time{letter-spacing:-2px;white-space:nowrap;margin:12px 0 16px;font-size:clamp(46px,14vw,68px);line-height:1.15}.training-clock-label{font-size:11px}.training-clock .training-hint{margin:0;font-size:11px;line-height:1.5}.training-mobile-only{display:inline}.training-clock .training-notice{margin:8px 0 0;font-size:10px;line-height:1.4}.training-current-solution{flex:0 0 108px;min-height:0;padding:12px 16px;display:block}.training-solution-heading{gap:8px;height:22px;margin-bottom:8px}.training-solution-heading>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.training-solution-actions{gap:8px}.training-current-solution code{font-size:13px;line-height:1.6}.training-current-solution .formula-solution-preview>code{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-top:3px;display:-webkit-box;overflow:hidden}.training-current-solution .formula-demo-button{min-width:36px;min-height:36px}.training-scramble-actions .text-button,.training-solution-actions .text-button{min-height:28px}.training-sheet{width:100%;max-width:600px;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px));border-bottom:0;border-radius:18px 18px 0 0;margin:auto auto 0}.training-sheet .modal-inner{padding:22px calc(20px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px))}.training-sheet .modal-header{margin-bottom:20px}.training-sheet .modal-header>.icon-button{min-width:44px;min-height:44px}.training-sheet .training-toolbar{margin:0;display:block}.training-sheet .training-selections{flex-direction:column;gap:18px;display:flex}.training-sheet .training-selection{flex-direction:column;flex:auto;align-items:stretch;gap:8px;width:100%}.training-sheet .training-selection select{width:100%;font-size:16px}.training-sheet .training-selections>.text-button{align-self:flex-start}.training-settings-done{width:100%;min-height:44px;margin-top:18px}.training-sheet .training-skipped{margin:8px 0 0}.training-page:not(.training-page-active)>.training-toolbar{margin-top:20px}.workspace-training .read-error{flex-shrink:0}}@media (width<=680px) and (height<=640px){.training-page-active{gap:8px}.training-scramble{flex-basis:154px;padding:12px 14px}.training-scramble code{-webkit-line-clamp:3}.training-clock{padding:8px 10px}.training-time{margin:8px 0 12px}.training-current-solution{flex-basis:100px;padding:10px 14px}}@media (width<=960px) and (height<=500px) and (pointer:coarse){.training-page-active{gap:8px}.training-surface{grid-template-rows:minmax(0,1fr) 100px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.training-scramble{border-bottom:0;grid-area:1/1;padding:12px 16px}.training-scramble code{-webkit-line-clamp:3}.training-timer-target{border-left:1px solid var(--line);grid-area:1/2/3/3}.training-clock{padding:12px}.training-time{font-size:clamp(40px,7vw,64px)}.training-current-solution{grid-area:2/1;padding:10px 16px}}@media (forced-colors:active){.training-selection select{appearance:auto;background-image:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--olive:#637649;--muted:#858e7c;--line:#e2e6db;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23657557' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E")}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#182019;--surface:#222c22;--surface-soft:#1e281f;--surface-inset:#1b241c;--surface-hover:#33432c;--surface-selected:#2c3c26;--text:#dce3d6;--text-strong:#e9eee3;--text-secondary:#c2cfb8;--text-muted:#a4afa0;--text-faint:#95a18f;--accent:#b7d09d;--accent-hover:#d3e7ba;--primary-bg:#a4c086;--primary-hover:#b6ce9d;--on-primary:#192414;--olive:var(--primary-bg);--muted:var(--text-muted);--line:#374534;--border:var(--line);--line-strong:#657d55;--focus:#b7d09d;--track:#3b4a34;--summary-start:#2b3926;--summary-end:#222d22;--scene-center:#293628;--scene-bg:#1b241c;--stage-overlay:#1b241cf0;--topbar-bg:#1e281fcc;--controls-bg:#222c22eb;--thumbnail-bg:#e1e7d9;--checker-light:#dbe1d5;--checker-dark:#aebaa5;--ready-bg:#2c4025;--ready-text:#c3e0a5;--warning-text:#e5c78e;--warning-bg:#332d20;--warning-line:#695733;--danger-text:#f0ad96;--danger-bg:#362620;--danger-line:#714a3d;--danger-button:#a65f49;--toast-bg:#b7d09d;--backdrop:#060b08b3;--shadow-popover:#00000040;--shadow-modal:#00000070;--shadow-toast:#00000040;--shadow-card:#00000026;--shadow-controls:#00000026;--shadow-thumb:#00000050;--shadow-cube:#00000060;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b7d09d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E")}.topbar-actions{align-items:center;gap:24px;display:flex}.sidebar-mobile-actions{display:none}.theme-control{color:var(--text-secondary,#5e6e50);flex-shrink:0;align-items:center;display:inline-flex;position:relative}.theme-control>svg{pointer-events:none;position:absolute;left:11px}.theme-control select{border:1px solid var(--line);background:var(--surface-soft,#fcfdf9);width:122px;min-height:38px;color:inherit;font:inherit;cursor:pointer;border-radius:8px;padding:8px 34px 8px 33px;font-size:12px}.theme-control select:hover{background:var(--surface-hover,#eef3e6)}.theme-control select:focus-visible{outline:2px solid var(--focus,#87966f);outline-offset:2px}.theme-control-compact select{width:85px;padding-left:27px;font-size:11px}.theme-control-compact>svg{width:14px;height:14px;left:8px}.training-theme-setting{border-top:1px solid var(--line);color:var(--text-muted,#829171);justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:18px;font-size:12px;display:flex}:root[data-theme=dark] .thumbnail{color:#778768}:root[data-theme=dark] .button.danger{color:#fff}@media (width<=680px){.brand-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.brand-row .brand{padding-left:0;padding-right:0}.sidebar-mobile-actions{align-items:center;gap:5px;display:flex}.sidebar .sidebar-bottom{display:none}}@media (width<=360px){.sidebar-mobile-actions{gap:2px}.theme-control-compact select{width:79px}.sidebar-mobile-actions .demo-link{padding-inline:4px}}:root{color:var(--text,#394233);background:var(--page-bg,#f7f8f3);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{min-width:280px}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--focus,#87966f);outline-offset:5px}select:not([multiple]):not([size]){appearance:none;background-image:var(--select-arrow);background-position:right 12px center;background-repeat:no-repeat;background-size:14px 14px;padding-right:34px}.theme-control-compact select:not([multiple]):not([size]){background-position:right 9px center;background-size:12px 12px;padding-right:26px}@media (forced-colors:active){select:not([multiple]):not([size]){appearance:auto;background-image:none}}.format-formula-button{border:1px solid var(--border,#d5dec9);background:var(--surface-selected,#f0f4e8);min-height:32px;color:var(--accent,#637649);white-space:nowrap;border-radius:6px;flex-shrink:0;padding:5px 10px;font-size:11px;line-height:1.4}.format-formula-button:hover:enabled{background:var(--surface-hover,#e7eeda);border-color:var(--line-strong,#a9bb93)}.format-formula-button:focus-visible{outline-offset:2px}.format-formula-button:disabled{opacity:.45;cursor:default}@media (width<=680px){.format-formula-button{min-height:36px}}
