.sp-page-wrap{cursor:text;background:var(--md-sys-color-surface-container-low);justify-content:center;min-height:100%;padding:32px 16px 160px;display:flex}.sp-page{box-sizing:border-box;color:#1a1a1a;width:51em;min-height:66em;box-shadow:var(--elev-2);font-family:var(--font-script);transition:font-size var(--dur-med) var(--motion-spatial);background:#fffefb;border-radius:4px;padding:6em 6em 6em 9em;line-height:1}[data-theme=dark] .sp-page{color:#e8e6ea;background:#1f1e22}.sp-page .ProseMirror{outline:none;min-height:50em}.sp-font{font-family:var(--font-script)}.sp-doc{counter-reset:scene}.sp-el{white-space:pre-wrap;word-wrap:break-word;min-height:1em;margin:0;padding:0;line-height:1.2em;position:relative}.sp-el[data-type=scene]{text-transform:uppercase;counter-increment:scene;margin-top:2.4em;font-weight:700}.sp-el[data-type=scene]:first-child{margin-top:0}.sp-el[data-type=scene]:before{content:counter(scene);text-align:right;width:3.5em;color:color-mix(in srgb, currentColor 45%, transparent);font-weight:400;position:absolute;left:-4.5em}.sp-el[data-type=action],.sp-el[data-type=general]{margin-top:1.2em}.sp-el[data-type=character]{text-transform:uppercase;margin-top:1.2em;margin-left:13.2em}.sp-el[data-type=parenthetical]{max-width:15em;margin-left:9.6em}.sp-el[data-type=dialogue]{max-width:21em;margin-left:6em}.sp-el[data-type=transition]{text-align:right;text-transform:uppercase;margin-top:1.2em}.sp-el[data-type=shot]{text-transform:uppercase;margin-top:1.2em}.sp-el[data-type=act-start]{text-align:center;text-transform:uppercase;margin-top:2.4em;font-weight:700;text-decoration:underline}.sp-el[data-type=act-end]{text-align:center;text-transform:uppercase;margin-top:2.4em;font-weight:700}.sp-el:first-child{margin-top:0}.sp-el.is-empty:after{content:attr(data-placeholder);pointer-events:none;color:color-mix(in srgb, currentColor 35%, transparent);text-transform:none;font-style:italic;position:absolute;left:0;right:0}.sp-el[data-type=transition].is-empty:after{text-align:right}.sp-el[data-type=act-start].is-empty:after,.sp-el[data-type=act-end].is-empty:after{text-align:center}.sp-el.has-focus{background:color-mix(in srgb, var(--md-sys-color-primary) 6%, transparent)}.menu.suggest{min-width:200px}.menu.element-menu{min-width:260px;max-height:calc(100vh - 16px)}.element-menu .menu-item{min-height:36px;padding:6px 12px}.element-menu .menu-key{text-align:center;min-width:22px;margin-left:0}.sp-el[data-type=cast-list]{text-transform:uppercase;margin-top:1.2em}.sp-el[data-type^=outline-]{font-family:var(--font-brand);border-left:3px solid var(--md-sys-color-primary);color:var(--md-sys-color-primary);margin-top:.8em;padding-left:.8em;line-height:1.4em}.sp-el[data-type=outline-1]{margin-top:2em;font-size:1.15em;font-weight:800}.sp-el[data-type=outline-2]{margin-left:1.5em;font-weight:700}.sp-el[data-type=outline-3]{margin-left:3em;font-weight:600}.sp-el[data-type=outline-4]{margin-left:4.5em;font-weight:500}.sp-el[data-type=outline-body]{color:color-mix(in srgb, var(--md-sys-color-primary) 70%, currentColor);margin-left:1.5em;font-style:italic}.collaboration-carets__caret{word-break:normal;pointer-events:none;border-left:1px solid;border-right:1px solid;margin-left:-1px;margin-right:-1px;position:relative}.collaboration-carets__label{font:600 11px/1 var(--font-brand);color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:6px 6px 6px 0;padding:3px 6px;position:absolute;top:-1.4em;left:-1px}@media print{.sp-page-wrap{background:0 0;padding:0}.sp-page{box-shadow:none;color:#000;background:0 0;width:auto;min-height:0;padding:0;font-size:12pt!important}}.print-root{background:var(--md-sys-color-surface-container);min-height:100%;padding-bottom:48px}.print-bar{z-index:5;background:var(--md-sys-color-surface);box-shadow:var(--elev-1);align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.sp-print{font-family:var(--font-script);color:#000;width:8.5in;box-shadow:var(--elev-2);background:#fff;margin:24px auto;padding:1in 1in 1in 1.5in;font-size:12pt}.sp-print .sp-el{line-height:12pt}.sp-print .sp-el[data-type=scene]{margin-top:24pt}.sp-print .sp-el[data-type=action],.sp-print .sp-el[data-type=character],.sp-print .sp-el[data-type=transition],.sp-print .sp-el[data-type=shot],.sp-print .sp-el[data-type=general]{margin-top:12pt}.sp-print .sp-el[data-type=character]{margin-left:2.2in}.sp-print .sp-el[data-type=parenthetical]{max-width:2.5in;margin-left:1.6in}.sp-print .sp-el[data-type=dialogue]{max-width:3.5in;margin-left:1in}.sp-print .sp-el[data-type=scene]:before{width:.5in;left:-.75in}.sp-print .sp-el[data-type=character]+.sp-el,.sp-print .sp-el[data-type=parenthetical]+.sp-el{page-break-before:avoid}.sp-print .sp-el[data-type=scene],.sp-print .sp-el[data-type=character]{page-break-after:avoid}.title-page{page-break-after:always;flex-direction:column;justify-content:space-between;height:9in;display:flex}.title-block{text-align:center;flex-direction:column;gap:12pt;margin-top:3in;margin-left:-.5in;display:flex}.tp-title{font-weight:700;text-decoration:underline}.tp-footer{font-size:11pt}.script-body{counter-reset:scene}.dossier{background:var(--md-sys-color-surface);width:min(8.5in,100%);color:var(--md-sys-color-on-surface);border-radius:var(--shape-xl);box-shadow:var(--elev-2);margin:24px auto;padding:48px}.dossier h1{margin:8px 0;font-size:44px;font-weight:800;line-height:1.1}.dossier h3{letter-spacing:1px;text-transform:uppercase;color:var(--md-sys-color-primary);margin:0 0 6px;font-size:13px}.dossier-head{border-bottom:2px solid var(--md-sys-color-outline-variant);margin-bottom:20px;padding-bottom:20px}.dossier-sec{break-inside:avoid;margin-bottom:20px}.dossier-sec p{white-space:pre-wrap;margin:0;line-height:1.55}.dossier-grid{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}@page{size:letter;margin:1in 1in .75in 1.5in}@media print{.no-print{display:none!important}body,.print-root{background:#fff!important}.sp-print{box-shadow:none;width:auto;margin:0;padding:0}.title-page{height:9.25in}.dossier{box-shadow:none;color:#000;background:#fff;border-radius:0;width:auto;margin:0;padding:0}.dossier h3{color:#333}}:root{--font-brand:"Roboto Flex", system-ui, -apple-system, "Segoe UI", sans-serif;--font-script:"Courier Prime", "Courier New", Courier, monospace;--shape-xs:4px;--shape-sm:8px;--shape-md:12px;--shape-lg:16px;--shape-lg-inc:20px;--shape-xl:28px;--shape-xl-inc:32px;--shape-xxl:48px;--shape-full:999px;--motion-spatial-fast:cubic-bezier(.42, 1.67, .21, .9);--motion-spatial:cubic-bezier(.38, 1.21, .22, 1);--motion-effects:cubic-bezier(.31, .94, .34, 1);--motion-emphasized:cubic-bezier(.2, 0, 0, 1);--dur-fast:.2s;--dur-med:.35s;--dur-slow:.5s;--elev-1:0 1px 2px #0000004d, 0 1px 3px 1px #00000026;--elev-2:0 1px 2px #0000004d, 0 2px 6px 2px #00000026;--elev-3:0 4px 8px 3px #00000026, 0 1px 3px #0000004d;--c-primary:var(--md-sys-color-primary,#6750a4);--c-on-primary:var(--md-sys-color-on-primary,#fff);--c-surface:var(--md-sys-color-surface,#fef7ff);--c-on-surface:var(--md-sys-color-on-surface,#1d1b20)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-brand);background:var(--md-sys-color-surface-container,#f3edf7);color:var(--md-sys-color-on-surface,#1d1b20);-webkit-font-smoothing:antialiased;transition:background-color var(--dur-med) var(--motion-effects), color var(--dur-med) var(--motion-effects);font-size:14px;line-height:20px}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--md-sys-color-primary)}::selection{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.display-l{letter-spacing:-.25px;font-variation-settings:"opsz" 96;font-size:57px;font-weight:400;line-height:64px}.display-m{font-variation-settings:"opsz" 72;font-size:45px;font-weight:500;line-height:52px}.display-s{font-size:36px;font-weight:500;line-height:44px}.headline-l{font-size:32px;font-weight:500;line-height:40px}.headline-m{font-size:28px;font-weight:500;line-height:36px}.headline-s{font-size:24px;font-weight:500;line-height:32px}.title-l{font-size:22px;font-weight:500;line-height:28px}.title-m{letter-spacing:.15px;font-size:16px;font-weight:600;line-height:24px}.title-s{letter-spacing:.1px;font-size:14px;font-weight:600;line-height:20px}.body-l{font-size:16px;line-height:24px}.body-m{font-size:14px;line-height:20px}.body-s{font-size:12px;line-height:16px}.label-l{letter-spacing:.1px;font-size:14px;font-weight:600;line-height:20px}.label-m{letter-spacing:.5px;font-size:12px;font-weight:600;line-height:16px}.label-s{letter-spacing:.5px;font-size:11px;font-weight:600;line-height:16px}.muted{color:var(--md-sys-color-on-surface-variant)}.emph{font-variation-settings:"wdth" 110;font-weight:800}.icon{white-space:nowrap;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;direction:ltr;flex-shrink:0;font-family:Material Symbols Rounded;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.icon.filled{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.icon.sm{font-size:18px}.state{isolation:isolate;position:relative;overflow:hidden}.state:after{content:"";opacity:0;transition:opacity var(--dur-fast) var(--motion-effects);pointer-events:none;border-radius:inherit;background:currentColor;position:absolute;inset:0}.state:hover:after{opacity:.08}.state:focus-visible:after,.state:active:after{opacity:.12}:focus-visible{outline:3px solid var(--md-sys-color-secondary);outline-offset:2px}.btn{cursor:pointer;border-radius:var(--shape-full);letter-spacing:.1px;white-space:nowrap;background:var(--md-sys-color-primary);height:40px;color:var(--md-sys-color-on-primary);transition:border-radius var(--dur-med) var(--motion-spatial-fast), box-shadow var(--dur-fast) var(--motion-effects), background-color var(--dur-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:14px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){border-radius:var(--shape-md)}.btn:disabled{opacity:.38;cursor:default}.btn .icon{margin-left:-8px;font-size:20px}.btn.tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.btn.outlined{color:var(--md-sys-color-on-surface-variant);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant);background:0 0}.btn.text{color:var(--md-sys-color-primary);background:0 0;padding:0 12px}.btn.text .icon{margin-left:0}.btn.elevated{background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-primary);box-shadow:var(--elev-1)}.btn.danger{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.btn.sm{height:32px;padding:0 16px;font-size:13px}.btn.lg{height:56px;padding:0 28px;font-size:16px}.btn.lg .icon{font-size:24px}.icon-btn{border-radius:var(--shape-full);cursor:pointer;width:40px;height:40px;color:var(--md-sys-color-on-surface-variant);transition:border-radius var(--dur-med) var(--motion-spatial-fast), background-color var(--dur-fast);background:0 0;border:none;flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:active{border-radius:var(--shape-md)}.icon-btn.filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.icon-btn.tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.icon-btn.selected{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:var(--shape-md)}.icon-btn.sm{width:32px;height:32px}.icon-btn.sm .icon{font-size:20px}.btn-group{gap:2px;display:inline-flex}.btn-group>button{cursor:pointer;background:var(--md-sys-color-surface-container-highest);height:40px;color:var(--md-sys-color-on-surface-variant);border-radius:var(--shape-sm);transition:border-radius var(--dur-med) var(--motion-spatial-fast), background-color var(--dur-fast);border:none;align-items:center;gap:6px;padding:0 16px;font-weight:600;display:inline-flex}.btn-group>button:first-child{border-radius:var(--shape-full) var(--shape-sm) var(--shape-sm) var(--shape-full)}.btn-group>button:last-child{border-radius:var(--shape-sm) var(--shape-full) var(--shape-full) var(--shape-sm)}.btn-group>button[aria-pressed=true]{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);border-radius:var(--shape-full)}.btn-group>button .icon{font-size:20px}.fab{cursor:pointer;border-radius:var(--shape-lg);background:var(--md-sys-color-primary-container);min-width:56px;height:56px;color:var(--md-sys-color-on-primary-container);box-shadow:var(--elev-3);transition:border-radius var(--dur-med) var(--motion-spatial-fast), transform var(--dur-med) var(--motion-spatial-fast);border:none;align-items:center;gap:12px;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex}.fab:hover{transform:translateY(-2px)}.fab:active{border-radius:var(--shape-xl)}.fab.lg{border-radius:var(--shape-xl);height:80px;padding:0 28px;font-size:18px}.fab.lg .icon{font-size:32px}.card{background:var(--md-sys-color-surface-container-low);border-radius:var(--shape-lg);transition:box-shadow var(--dur-fast), border-radius var(--dur-med) var(--motion-spatial);padding:20px}.card.filled{background:var(--md-sys-color-surface-container-highest)}.card.outlined{background:var(--md-sys-color-surface);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant)}.card.elevated{box-shadow:var(--elev-1)}.card.interactive{cursor:pointer}.card.interactive:hover{box-shadow:var(--elev-2);border-radius:var(--shape-xl)}.card.hero{border-radius:var(--shape-xl-inc);padding:28px}.chip{border-radius:var(--shape-sm);cursor:pointer;height:32px;color:var(--md-sys-color-on-surface-variant);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-variant);transition:border-radius var(--dur-med) var(--motion-spatial-fast), background-color var(--dur-fast);background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.chip .icon{font-size:18px}.chip.selected{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);box-shadow:none}.chip.strength{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);box-shadow:none}.chip.flaw{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);box-shadow:none}.chip:active{border-radius:var(--shape-lg)}.chip .remove{opacity:.7;border-radius:50%;margin-right:-6px}.chip .remove:hover{opacity:1}.chips{flex-wrap:wrap;gap:8px;display:flex}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{letter-spacing:.4px;color:var(--md-sys-color-on-surface-variant);padding-left:4px;font-size:12px;font-weight:600}.field-hint{color:var(--md-sys-color-on-surface-variant);padding-left:4px;font-size:12px}.input{background:var(--md-sys-color-surface-container-highest);width:100%;color:var(--md-sys-color-on-surface);border-radius:var(--shape-md) var(--shape-md) var(--shape-xs) var(--shape-xs);box-shadow:inset 0 -1px 0 var(--md-sys-color-on-surface-variant);transition:box-shadow var(--dur-fast), border-radius var(--dur-med) var(--motion-spatial);border:none;outline:none;padding:12px 16px;font-size:15px;line-height:22px}.input:focus{box-shadow:inset 0 -3px 0 var(--md-sys-color-primary);border-radius:var(--shape-lg) var(--shape-lg) var(--shape-xs) var(--shape-xs)}textarea.input{resize:vertical;min-height:88px}.input.title{font-size:22px;font-weight:600;line-height:30px}select.input{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.shell{height:100%;display:flex}.rail{background:var(--md-sys-color-surface-container);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:96px;padding:16px 0;display:flex}.rail-top{flex-direction:column;align-items:center;gap:12px;margin-bottom:20px;display:flex}.rail-item{width:80px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px 0 8px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.rail-item .pill{border-radius:var(--shape-full);width:56px;height:32px;transition:background-color var(--dur-med) var(--motion-effects), width var(--dur-med) var(--motion-spatial-fast);place-items:center;display:grid}.rail-item:hover .pill{background:color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent)}.rail-item.active{color:var(--md-sys-color-on-surface)}.rail-item.active .pill{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);width:64px}.rail-item.active .icon{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.rail-spacer{flex:1}.main{background:var(--md-sys-color-surface);border-radius:var(--shape-xl) 0 0 var(--shape-xl);flex-direction:column;flex:1;min-width:0;margin:8px 0;display:flex;overflow:hidden}.topbar{align-items:center;gap:12px;min-height:64px;padding:12px 16px 12px 24px;display:flex}.topbar .title-l{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.content{flex:1;overflow:auto}.page{max-width:1120px;margin:0 auto;padding:8px 24px 96px}.page.wide{max-width:1400px}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.section-title{margin:24px 0 8px}.divider{background:var(--md-sys-color-outline-variant);border:none;height:1px;margin:8px 0}.tabs{border-bottom:1px solid var(--md-sys-color-surface-variant);gap:4px;display:flex;overflow-x:auto}.tab{cursor:pointer;white-space:nowrap;color:var(--md-sys-color-on-surface-variant);background:0 0;border:none;align-items:center;gap:8px;padding:14px 16px;font-weight:600;display:inline-flex;position:relative}.tab[aria-selected=true]{color:var(--md-sys-color-primary)}.tab[aria-selected=true]:before{content:"";background:var(--md-sys-color-primary);height:3px;animation:tab-in var(--dur-med) var(--motion-spatial-fast);border-radius:3px 3px 0 0;position:absolute;bottom:0;left:12px;right:12px}@keyframes tab-in{0%{opacity:0;transform:scaleX(.3)}}.scrim{background:color-mix(in srgb, var(--md-sys-color-scrim) 40%, transparent);z-index:100;animation:fade-in var(--dur-fast) var(--motion-effects);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--md-sys-color-surface-container-high);border-radius:var(--shape-xl);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--elev-3);animation:dialog-in var(--dur-slow) var(--motion-spatial);padding:24px;overflow:auto}.dialog.wide{width:min(880px,100%)}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(24px)scale(.94)}}.menu{z-index:200;background:var(--md-sys-color-surface-container);border-radius:var(--shape-lg);min-width:240px;max-height:360px;box-shadow:var(--elev-2);animation:menu-in var(--dur-med) var(--motion-spatial-fast);transform-origin:0 0;padding:6px;position:fixed;overflow:auto}@keyframes menu-in{0%{opacity:0;transform:scale(.85)}}.menu-item{cursor:pointer;text-align:left;border-radius:var(--shape-md);width:100%;min-height:44px;color:var(--md-sys-color-on-surface);transition:border-radius var(--dur-med) var(--motion-spatial-fast);background:0 0;border:none;align-items:center;gap:12px;padding:8px 12px;display:flex}.menu-item .icon{color:var(--md-sys-color-on-surface-variant);font-size:20px}.menu-item:hover,.menu-item.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:var(--shape-lg)}.menu-item.active .icon{color:inherit}.menu-item .kbd{margin-left:auto}.menu-header{padding:8px 12px 4px}.kbd{border-radius:var(--shape-xs);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant);padding:2px 6px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700}.list{flex-direction:column;display:flex}.list-item{border-radius:var(--shape-md);align-items:center;gap:16px;padding:10px 16px;display:flex}.list-item.clickable{cursor:pointer}.list-item.clickable:hover{background:var(--md-sys-color-surface-container-high)}.avatar{border-radius:var(--shape-full);color:#fff;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:15px;font-weight:800;display:grid}.avatar.lg{border-radius:var(--shape-xl);width:72px;height:72px;font-size:28px}.avatar.sm{width:28px;height:28px;font-size:12px}.badge{border-radius:var(--shape-full);background:var(--md-sys-color-surface-container-highest);height:20px;color:var(--md-sys-color-on-surface-variant);align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.badge.primary{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.badge.tertiary{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.badge.error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.empty{text-align:center;color:var(--md-sys-color-on-surface-variant);padding:48px 24px}.empty .icon{opacity:.6;font-size:48px}.bar{border-radius:var(--shape-full);background:var(--md-sys-color-surface-container-highest);height:8px;overflow:hidden}.bar>span{border-radius:inherit;background:var(--md-sys-color-primary);height:100%;transition:width var(--dur-slow) var(--motion-spatial);display:block}.loader{background:var(--md-sys-color-primary);width:24px;height:24px;animation:loader-morph 1.6s var(--motion-spatial) infinite;display:inline-block}.loader.lg{width:48px;height:48px}@keyframes loader-morph{0%{border-radius:50%;transform:rotate(0)scale(.9)}25%{border-radius:30% 70% 70% 30%/30% 30% 70% 70%;transform:rotate(90deg)scale(1)}50%{border-radius:20%;transform:rotate(180deg)scale(.85)}75%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:rotate(270deg)scale(1)}to{border-radius:50%;transform:rotate(360deg)scale(.9)}}.snackbar{z-index:300;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border-radius:var(--shape-md);box-shadow:var(--elev-3);max-width:min(600px,100vw - 32px);animation:snack-in var(--dur-slow) var(--motion-spatial);align-items:center;gap:16px;padding:14px 16px 14px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.snackbar .btn.text{color:var(--md-sys-color-inverse-primary)}@keyframes snack-in{0%{opacity:0;transform:translate(-50%,24px)}}.ai-output{white-space:pre-wrap;line-height:1.6}.ai-output h3,.ai-output h4{margin:16px 0 4px}.ai-output ul{margin:4px 0;padding-left:20px}.swatch{border-radius:var(--shape-full);cursor:pointer;width:36px;height:36px;transition:border-radius var(--dur-med) var(--motion-spatial-fast), transform var(--dur-med) var(--motion-spatial-fast);border:none}.swatch[aria-pressed=true]{border-radius:var(--shape-md);box-shadow:0 0 0 3px var(--md-sys-color-surface), 0 0 0 5px var(--md-sys-color-on-surface);transform:scale(1.1)}@media (width<=720px){.shell{flex-direction:column-reverse}.rail{flex-direction:row;justify-content:space-around;width:100%;padding:8px 4px;overflow-x:auto}.rail-top,.rail-spacer{display:none}.rail-item{width:auto;min-width:56px}.main{border-radius:0;margin:0}.page{padding:8px 16px 96px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}
