:root{font-family:var(--font-sans);color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{text-align:left;margin:0}main{min-height:100svh;padding:72px 0 48px}.scene-frame{pointer-events:none;position:fixed;inset:0 2.5% 0 47.5%}.scene{position:fixed;inset:0}.scene>div:first-child{inset:0;height:100%!important;position:absolute!important}.scene-message{text-align:left;width:50%;padding:24px;position:fixed;top:45%;left:45%}canvas:focus-visible{outline-offset:-3px;outline:2px solid #536cbb}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--text:#f4f3ef;--muted:#888;--selected:#eee;--strong:#fff;--border:#ffffff40;--focus:#aaa;--divider:#ffffff1c;--surface:#1b1a19;--button:#2c2a29;--button-hover:#383635;--primary-text:#101010;--primary-border:#e5e5e5;--primary-hover:#e9e9e9;--inset:#211f1e;--placeholder:#999694;--error:#ffb2a8;--backdrop:#000000c7}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#fff;--text:#252420;--muted:#6d6b65;--selected:#292823;--strong:#171612;--border:#b5b2aa;--focus:#5b5952;--divider:#dedbd3;--surface:#fffefa;--button:#eeece6;--button-hover:#e3e0d7;--primary-text:#fffefa;--primary-border:#171612;--primary-hover:#39372f;--inset:#f2f0e9;--placeholder:#77746d;--error:#b52d20;--backdrop:#322e233d}:root[data-theme=blue]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#435ceb;--text:#fff;--muted:#e5e9ff;--selected:#fff;--strong:#fff;--border:#b1bcff;--focus:#fff;--divider:#ffffff40;--surface:#3047c4;--button:#243ba9;--button-hover:#1b3094;--primary-text:#243ba9;--primary-border:#fff;--primary-hover:#e5e9ff;--inset:#293db0;--placeholder:#ccd4ff;--error:#ffe0d9;--backdrop:#0d164ba6}:root[data-theme=pink]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#eb92cf;--text:#35202f;--muted:#624057;--selected:#35202f;--strong:#281623;--border:#8d537b;--focus:#35202f;--divider:#35202f30;--surface:#f7c9e9;--button:#edb1da;--button-hover:#e69dce;--primary-text:#fff0fa;--primary-border:#281623;--primary-hover:#503246;--inset:#f1bbdf;--placeholder:#735169;--error:#9b2339;--backdrop:#35142c4d}:root[data-theme=green]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#58a468;--text:#14291a;--muted:#203c28;--selected:#14291a;--strong:#0e2013;--border:#2d5536;--focus:#14291a;--divider:#14291a30;--surface:#c9e5cd;--button:#afd4b6;--button-hover:#99c9a2;--primary-text:#effaf1;--primary-border:#0e2013;--primary-hover:#294b32;--inset:#bbdcc2;--placeholder:#47654e;--error:#942735;--backdrop:#0e20134d}.scene-controls{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));z-index:2;flex-direction:column;gap:0;display:flex;position:fixed}.theme-toggle{width:48px;height:48px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.theme-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.control-ring{pointer-events:none;position:absolute;inset:8px}.control-ring circle{opacity:.2}.control-ring circle[data-active=true]{opacity:1}main{isolation:isolate}.charm-picker{z-index:1;width:420px;max-width:calc(40vw - 96px);margin-left:72px;position:relative}.picker-heading{justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:20px;display:flex}.picker-heading h1,.picker-heading p{margin:0;font-size:.875rem;font-weight:400}.picker-heading h1{font-size:20px}.picker-heading p{color:var(--muted);font-variant-numeric:tabular-nums}.charm-list{text-transform:capitalize;margin:0;padding:0;list-style:none}.charm-option{min-height:48px;color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;font-size:.875rem;transition:opacity .2s ease-out;display:flex}.charm-option span{min-width:0}.charm-option:has(:checked){color:var(--selected)}.charm-option:hover{color:var(--strong)}.charm-option:has(:disabled){opacity:.4;cursor:not-allowed}.charm-option input:disabled{pointer-events:none}.charm-option input{appearance:none;border:1px solid var(--border);width:16px;height:16px;cursor:inherit;background:0 0;border-radius:50%;flex-shrink:0;margin:0}.charm-option input:checked{border-color:var(--selected);background:var(--selected);box-shadow:inset 0 0 0 4px var(--page)}@media (prefers-reduced-motion:no-preference){.charm-option input{transition:scale .12s cubic-bezier(.23,1,.32,1)}.charm-option:active input:enabled{scale:.88}}.charm-option:has(:focus-visible){outline:1px solid var(--focus);outline-offset:4px}.charm-option input:focus-visible{outline:none}@media (forced-colors:active){.charm-option input{appearance:auto}}.charm-option{min-height:36px}.generate-option{border-top:1px solid var(--divider);grid-column:1/-1;margin-top:12px;padding-top:8px}.generate-option button{text-align:left;width:100%;font:inherit;background:0 0;border:0;padding:0;font-size:.875rem}.generate-plus{text-align:center;width:16px;font-size:22px;font-weight:300}.charm-option span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.generate-modal{background:var(--surface);width:min(480px,100vw - 32px);max-height:calc(100svh - 32px);color:var(--text);border:0;border-radius:18px;padding:24px;transition:opacity .24s cubic-bezier(.23,1,.32,1),transform .24s cubic-bezier(.23,1,.32,1);overflow:auto;box-shadow:0 0 0 1px #ffffff0d,0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.generate-modal[open]{opacity:1;flex-direction:column;gap:20px;display:flex;transform:translateY(0)}@starting-style{.generate-modal[open]{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.generate-modal{transition:opacity .2s}@starting-style{.generate-modal[open]{transform:none}}}.generate-modal::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:1;transition:opacity .24s cubic-bezier(.23,1,.32,1)}.generate-modal[open][data-closing]{opacity:0;transition:opacity .2s,transform .2s;transform:translateY(12px)}.generate-modal[data-closing]::backdrop{opacity:0;transition:opacity .2s}@media (prefers-reduced-motion:reduce){.generate-modal[open][data-closing]{transition:opacity .2s;transform:none}}@starting-style{.generate-modal[open]::backdrop{opacity:0}}.generate-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px;display:flex}.generate-heading h2{margin:0;font-size:16px;font-weight:400;line-height:24px}.generate-modal button{text-align:left;font:inherit;color:var(--text);background:var(--button);cursor:pointer;border:0;border-radius:999px;padding:10px 24px;font-size:16px;transition:background-color .16s,opacity .16s}.generate-heading button{width:24px;height:24px;color:var(--muted);background:0 0;place-items:center;padding:0;font-size:28px;line-height:1;display:grid}.generate-modal button:disabled{opacity:.4;cursor:default}.generate-modal button:hover:enabled{background:var(--button-hover)}.generate-modal .generate-primary{background:var(--strong);color:var(--primary-text);box-shadow:0 0 0 1px var(--primary-border);justify-content:flex-start;align-items:center;gap:8px;display:inline-flex}.generate-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite generate-spin}@keyframes generate-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.generate-spinner{animation:none}}.generate-modal .generate-primary:hover:enabled{background:var(--primary-hover)}.generate-heading button:hover:enabled{color:var(--strong);background:0 0}.generate-prompt{flex-direction:column;gap:16px;display:flex}.generate-prompt label,.generate-prompt p{font-size:16px;line-height:1.4}.generate-prompt p{color:var(--muted);background:var(--inset);border-radius:8px;margin:0 -10px 6px;padding:14px 18px}.generate-prompt textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:88px;color:var(--text);font:inherit;background:0 0;border-radius:12px;padding:12px;font-size:16px;line-height:1.4}.generate-prompt textarea::placeholder{color:var(--placeholder);opacity:1}.generate-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.generated-preview{justify-content:center;min-height:0;display:flex}.generated-preview img{object-fit:contain;width:100%;max-height:280px}.generate-error{font-size:13px}.generate-prompt p{color:var(--muted);margin:0}.generate-actions{justify-content:flex-end;gap:10px;margin-top:auto;display:flex}.generated-preview{flex:1;justify-content:center;min-height:0;display:flex}.generated-preview img{object-fit:contain;width:100%;height:100%;min-height:0}.generate-error{color:var(--error);margin:0}.generate-modal :focus-visible,.generate-option button:focus-visible{outline:1px solid var(--focus);outline-offset:3px}.charm-picker{container-type:inline-size}.picker-heading h1{min-width:0}.picker-heading p,.generate-plus,.generate-heading button,svg{flex-shrink:0}.generate-heading h2{min-width:0}.generate-heading button{position:relative}.generate-heading button:after{content:"";width:max(100%,48px);height:max(100%,48px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.generate-modal{max-height:calc(100dvh - 32px)}.generate-modal[open]>*{flex-shrink:0}.generate-error,.scene-message{overflow-wrap:anywhere}@media (width<=1023px){main{min-height:100dvh;padding:0;position:relative}.scene-controls{border:1px solid var(--divider);background:color-mix(in srgb, var(--page) 78%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;flex-direction:row;padding:4px;position:absolute;inset:calc(max(280px,min(72svh,140vw)) - 64px) auto auto 50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.scene{width:100%;height:min(72svh,140vw);min-height:280px;position:relative}.charm-picker{width:auto;max-width:none;padding:24px max(24px, env(safe-area-inset-right)) max(96px, calc(env(safe-area-inset-bottom) + 72px)) max(24px, env(safe-area-inset-left));background:var(--page);margin:0;position:relative}.picker-heading{padding-bottom:12px}.charm-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;display:grid}.charm-list>li{min-width:0}.charm-option,.generate-option button{min-height:48px}.scene-frame{height:max(280px,min(72svh,140vw));position:absolute;inset:0 16px auto}.scene-message{width:auto;margin:0;font-size:16px;position:absolute;top:20%;left:16px;right:16px}}@container (width>=400px){.charm-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;display:grid}}@media (width<=639px){.charm-picker{margin-top:0}.picker-heading p,.charm-option,.generate-option button,.generate-error{font-size:16px}.charm-option input{width:20px;height:20px}.generate-plus{width:20px;font-size:24px}.generate-heading h2{font-size:18px}.generate-heading button svg{width:20px;height:20px}.generate-modal{padding:20px}.generate-modal button{min-height:48px}.generate-heading button{width:48px;margin:-12px -12px -12px 0}.generate-actions>button{flex:1;min-width:0;padding-inline:16px}.generate-spinner{width:20px;height:20px}}@media (width<=1023px){.scene canvas{touch-action:pan-y!important}}.charm-text-editor{position:relative}.charm-text-editor textarea,.charm-text-highlight{width:100%;font:inherit;letter-spacing:-.02em;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;border:0;margin:0;padding:0;font-size:26px;line-height:1.55}.charm-text-editor textarea{resize:none;min-height:280px;color:var(--text);caret-color:var(--strong);background:0 0;border-radius:0;outline:none;display:block;position:relative;overflow:hidden}.charm-text-editor textarea::placeholder{color:var(--muted);opacity:.65}.charm-text-highlight{pointer-events:none;color:#0000;position:absolute;inset:0}.charm-text-highlight mark{color:#0000;background:color-mix(in srgb, var(--selected) 20%, transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;text-decoration:underline;-webkit-text-decoration-color:var(--selected);text-decoration-color:var(--selected);text-underline-offset:5px;border-radius:3px}.charm-text-notice{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.5}@media (width<=639px){.charm-text-notice{font-size:16px}}.charm-text-highlight mark[data-status=loading-assets],.charm-text-highlight mark[data-status=waiting],.charm-text-highlight mark[data-status=queued],.charm-text-highlight mark[data-status=generating],.charm-text-highlight mark[data-status=preparing]{background-color:#0000;background-image:linear-gradient(var(--selected), var(--selected));background-position:0 100%;background-repeat:no-repeat;background-size:28% 2px;padding-bottom:.18em;text-decoration:none;animation:1.15s ease-in-out infinite alternate charm-loading-underline}@keyframes charm-loading-underline{0%{background-position:0 100%}to{background-position:100% 100%}}.charm-text-highlight mark[data-status=failed],.charm-text-highlight mark[data-status=deferred]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:.18em;background:0 0}.charm-jobs{gap:12px;display:grid}.charm-job{justify-content:space-between;align-items:baseline;gap:16px;font-size:13px;line-height:1.5;display:flex}.charm-job-actions{flex-shrink:0;gap:12px;display:flex}.charm-job-actions button{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 0;text-decoration:underline}@media (prefers-reduced-motion:reduce){.charm-text-highlight mark{animation:none!important}}.charm-word-toggle:focus-visible{outline:2px solid var(--selected);outline-offset:3px;border-radius:3px}.charm-text-highlight mark[data-status=inactive]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:color-mix(in srgb, var(--selected) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--selected) 55%, transparent);text-underline-offset:.18em;background:0 0}.charm-text-highlight mark[data-status=failed]{background:0 0;-webkit-text-decoration:underline wavy #d47666;text-decoration:underline wavy #d47666;text-decoration-thickness:1px}.charm-counter{position:relative}.charm-counter-loading:before{content:"";box-sizing:border-box;border:1.5px solid;border-right-color:#0000;border-radius:50%;width:.6em;height:.6em;animation:.7s linear infinite generate-spin;position:absolute;top:calc(50% - .3em);left:0}@media (prefers-reduced-motion:reduce){.charm-counter-loading:before{animation:none}}.charm-failure{display:block}.charm-failure button{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.clef-ranking{margin:20px 0 0}.clef-ranking h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:600}.clef-ranking-status{text-transform:none;letter-spacing:0;opacity:.8;margin-inline-start:8px;font-weight:400}.clef-ranking-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.clef-ranking-list[data-stale]{opacity:.55}.clef-ranking-list li{color:var(--text);grid-template-columns:28px minmax(0,1fr) 90px 52px;align-items:center;gap:10px;font-size:15px;display:grid}.clef-ranking-list img,.clef-ranking-blank{object-fit:contain;background:color-mix(in srgb, var(--muted) 12%, transparent);border-radius:6px;block-size:28px;inline-size:28px}.clef-ranking-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clef-ranking-bar{background:color-mix(in srgb, var(--muted) 18%, transparent);border-radius:3px;block-size:6px;overflow:hidden}.clef-ranking-bar span{background:var(--selected);block-size:100%;display:block}.clef-ranking-probability{font-variant-numeric:tabular-nums;text-align:end;color:var(--muted);font-size:13px}@media (width<=639px){.clef-ranking-list li{grid-template-columns:24px minmax(0,1fr) 48px;font-size:14px}.clef-ranking-bar{display:none}.clef-ranking-list img,.clef-ranking-blank{block-size:24px;inline-size:24px}}.clef-ranking-level{color:var(--muted);font-size:13px}
