:root{color-scheme:light;--ink: #14201a;--desk: #e7ece8;--line: #c5d0c8;--quiet: #3e564b;--field: #f7faf8;--action: #16382c;--action-text: #f3f7f4;--room: #101614;--print: #d7e2db;--print-quiet: #b7c7be;--bad: #8f2d22;--bad-soft: #f8e4e0;--live: #1f7a4d;--focus: #0f5c40}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--room);color:var(--ink);font:15px/1.45 PingFang SC,Hiragino Sans GB,Noto Sans SC,sans-serif}::selection{background:#16382c;color:#f3f7f4}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shell{display:grid;grid-template-columns:minmax(400px,460px) minmax(0,1fr);min-height:100%}.desk{color-scheme:light;background:var(--desk);color:var(--ink);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;border-right:1px solid #0c100e}.desk-head,.desk-scroll,.desk-foot{padding-left:22px;padding-right:22px}.desk-head{padding-top:22px;padding-bottom:14px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.power-actions{display:flex;gap:6px;flex:none}.session{display:flex;align-items:center;gap:6px;margin-left:auto;color:#5c6f65;font-size:13px;flex:none}.session .chip{font-size:12px}h1{margin:0;font-size:32px;font-weight:650;letter-spacing:-.04em;line-height:1}.status{display:flex;align-items:flex-start;gap:8px;min-width:0;font-size:13px;color:var(--quiet)}.status-copy{display:grid;gap:2px;min-width:0;font-variant-numeric:tabular-nums}.status-main,.status-sub,.stop-note{margin:0;white-space:normal}.stop-note{color:#7a4e12;font-variant-numeric:tabular-nums}.status-main{display:flex;flex-wrap:wrap;gap:6px}.dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#7d9186;flex:none}.dot.on{background:var(--live)}.dot.off{background:var(--bad)}.power-actions .chip:disabled{opacity:.45;cursor:default}form{display:flex;flex-direction:column;min-height:0;flex:1}.desk-scroll{overflow:auto;flex:1;display:grid;align-content:start;gap:14px;padding-bottom:16px;scrollbar-color:#b7c4bb transparent}label,.field{display:grid;gap:6px;font-size:13px;color:var(--quiet)}textarea,input[type=number],input[type=text]{font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:8px;padding:8px 10px;caret-color:var(--focus)}textarea{min-height:132px;resize:vertical;line-height:1.45}.shop,.chat{display:grid;gap:10px;margin-top:10px}.chat-log{display:grid;gap:8px;max-height:220px;overflow:auto}.chat-user{margin:0;font-size:13px;color:var(--ink)}.chat-reply{display:grid;gap:6px;justify-items:start}.chat-prompt{margin:0;font-size:13px;line-height:1.45;color:var(--quiet)}details .chat textarea{margin-top:0;min-height:64px}.shop-group{display:grid;gap:6px}.shop-group>span,.shop-note{font-size:13px;color:var(--quiet)}.shop-note{margin:0}.shop-note.bad{color:var(--bad)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip,.write{border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:999px;font:inherit;cursor:pointer}.chip{padding:4px 10px;font-size:13px}.chip:hover{border-color:#7f978a}.chip[aria-pressed=true]{background:var(--action);border-color:var(--action);color:var(--action-text)}.chip[aria-pressed=true]:hover{background:#1d4a3a}.write{justify-self:start;padding:8px 14px}.write:disabled{opacity:.55;cursor:progress}.prompt-field .lock{padding:8px 10px;background:#d7e3db;color:var(--ink);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0}.prompt-field textarea{border-radius:0 0 8px 8px;min-height:120px}textarea::placeholder,input::placeholder{color:var(--quiet)}.ref-preview{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#101614;cursor:zoom-in}.ref-preview img{display:block;width:100%;max-height:220px;object-fit:contain;object-position:center top;background:#101614}.file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:var(--field);border:1px solid var(--line);border-radius:8px;color:var(--ink)}.file input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick{flex:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:4px 10px;font:inherit;font-size:13px;cursor:pointer}details{border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:-.01em}details textarea,details .grid{margin-top:10px}details textarea{min-height:88px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.desk-foot{padding-top:12px;padding-bottom:18px;border-top:1px solid var(--line);display:grid;gap:8px}button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--action);color:var(--action-text);padding:11px 16px;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 8px 18px #10161429}.spin{width:14px;height:14px;border:2px solid rgba(243,247,244,.35);border-top-color:#f3f7f4;border-radius:50%;animation:turn .7s linear infinite;flex:none}.spin-lg{width:28px;height:28px;border-width:3px}@keyframes turn{to{transform:rotate(360deg)}}button[type=submit]:hover{background:#1d4a3a}button[type=submit]:disabled{opacity:.55;cursor:progress}.msg{min-height:1.2em;font-size:13px;color:var(--quiet)}.msg.bad{color:var(--bad);background:var(--bad-soft);border-radius:8px;padding:8px 10px}.prints{color-scheme:dark;padding:22px 22px 64px;color:var(--print)}.prints h2{margin:0 0 16px;font-size:20px;font-weight:600;letter-spacing:-.03em}.prints h2 span{margin-left:6px;color:var(--print-quiet);font-variant-numeric:tabular-nums;font-weight:500}.empty{margin:0;color:var(--print-quiet);max-width:36ch}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px 14px;align-items:start}.record{display:grid;gap:8px;min-width:0;margin:0}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#080c0ab8}.modal-card{width:min(420px,100%);padding:22px 22px 18px;background:#1c2621;color:#e7ece8;border-radius:16px;box-shadow:0 18px 40px #00000059}.modal-card h3{margin:0 0 8px;font-size:20px;letter-spacing:-.03em}.modal-card p{margin:0;color:#b7c7be}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.ghost,.danger{border-radius:999px;padding:8px 16px;font:inherit;cursor:pointer}.ghost{border:1px solid #3d5248;background:transparent;color:#e7ece8}.danger{border:0;background:#8f2d22;color:#fff6f4}time,.badge{font-size:12px;font-variant-numeric:tabular-nums}time{color:inherit}.badge[data-status=done]{color:#b7e0c8}.badge[data-status=error]{color:#ffb4a8}.badge[data-status=running],.badge[data-status=queued]{color:#f0e2a8}.prompt{margin:0;color:var(--print-quiet);font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}figure{position:relative;margin:0;background:#0a0e0c;border-radius:12px;overflow:hidden;box-shadow:0 12px 28px #00000052}figure img{display:block;width:100%;height:auto;transition:transform .18s ease-out}.record:hover img{transform:scale(1.015)}.pending{display:grid;justify-items:center;align-content:center;gap:8px;min-height:280px;padding:16px;color:#e4eee8;text-align:center}.record-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:32px}.copy-row,.viewer-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.viewer-actions{justify-content:center;margin:14px 0 0}.took{color:var(--print-quiet);font-size:12px;font-variant-numeric:tabular-nums}.copy{border:0;border-radius:999px;background:#f3f7f4;color:#14201a;padding:7px 12px;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.copy:hover{background:#fff}.copy-quiet{background:transparent;color:#e4eee8;border:1px solid #8aa394}.copy-quiet:hover{background:#ffffff14}.copy-large{padding:10px 18px;font-size:15px}.remove{position:absolute;top:8px;right:8px;border:0;background:#101614b8;color:#ffd4cc;font:inherit;font-size:12px;padding:4px 8px;border-radius:999px;cursor:pointer}.remove:hover{color:#fff;background:#8f2d22eb}@media(hover:hover){.remove{opacity:0}.record:hover .remove,.record:focus-within .remove{opacity:1}}.zoom{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.viewer{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:#080c0ae0;cursor:zoom-out}.viewer figure{background:transparent;box-shadow:none}.viewer img{width:auto;max-width:min(920px,100%);max-height:calc(100vh - 88px);height:auto;border-radius:12px;box-shadow:0 18px 40px #0006;cursor:default}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#ffffff29;color:#fff;border-radius:999px;padding:10px 14px;font:inherit;cursor:pointer}.viewer-nav.prev{left:18px}.viewer-nav.next{right:18px}.viewer-nav:hover{background:#ffffff47}.viewer figcaption{text-align:center}figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:nowrap;gap:8px;align-items:baseline;overflow:hidden;white-space:nowrap;padding:28px 10px 8px;background:linear-gradient(transparent,#080c0ae0);font-size:12px;color:#e4eee8;font-variant-numeric:tabular-nums;pointer-events:none}.viewer figcaption{position:static;display:block;padding:8px 0 0;background:none;text-align:center;color:var(--print-quiet)}@media(prefers-reduced-motion:reduce){figure img{transition:none}.record:hover img{transform:none}.spin{animation:none}}@media(max-width:860px){.shell{grid-template-columns:1fr}.desk{position:static;height:auto;border-right:0;border-bottom:1px solid #0c100e}.desk-scroll{overflow:visible}.prints{padding-top:22px}.board{grid-template-columns:1fr 1fr}}@media(max-width:560px){.desk-head,.desk-scroll,.desk-foot,.prints{padding-left:16px;padding-right:16px}h1{font-size:28px}}.app{display:flex;flex-direction:column;height:100vh;background:var(--room)}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(400px,460px) minmax(0,1fr)}.app .desk{height:100%;position:relative;top:auto}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;min-height:64px;padding:10px 22px;background:#0c1210;color:#e4eee8;border-bottom:1px solid #26362e}.brand{display:grid;gap:1px;flex:none}.brand-name{font-size:19px;font-weight:650;letter-spacing:-.04em;color:#f3f7f4}.brand-sub{font-size:9px;letter-spacing:.18em;color:#8aa394}.top-status{display:flex;align-items:flex-start;gap:8px;min-width:0;color:#b7c7be;font-size:12px}.top-status-copy{display:grid;gap:1px;min-width:0;font-variant-numeric:tabular-nums}.top-status-main,.top-status-sub,.top-status-stop{margin:0;display:flex;gap:6px;flex-wrap:wrap}.top-status-stop{color:#f0e2a8}.top-note{margin:0;color:#f0e2a8;font-size:12px}.top-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.top-actions .power-actions{display:flex;gap:6px}.who{color:#b7c7be;font-size:12px;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-chip{border:1px solid #3d5248;background:transparent;color:#e4eee8;border-radius:999px;padding:5px 10px;font:inherit;font-size:12px;cursor:pointer}.top-chip:hover{background:#ffffff14;border-color:#6d8a7b}.top-chip:disabled{opacity:.45;cursor:default}.composer-head{display:grid;gap:4px}.composer-head h1{font-size:30px}.composer-hint{margin:0;color:var(--quiet);font-size:13px}.eyebrow{margin:0;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--print-quiet)}.composer-head .eyebrow{color:var(--quiet)}.prints.stage{height:100%;overflow:auto;padding:18px 22px 64px}.queue{margin-bottom:24px}.queue-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.queue h2,.gallery-head h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.03em}.queue h2 span,.gallery-head h2 span{color:var(--print-quiet);font-variant-numeric:tabular-nums;font-weight:500}.queue-row{display:grid;gap:8px}.queue-card{display:flex;gap:10px;padding:10px 12px;background:#141e19;border:1px solid #2a3a32;border-radius:10px;min-width:0}.queue-copy{min-width:0}.queue-copy p{margin:0;color:#e4eee8;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-copy span{color:#8aa394;font-size:12px;font-variant-numeric:tabular-nums}.queue-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#f0e2a8;flex:none}.queue-dot[data-status=running]{background:var(--live)}.queue-empty{margin:0;color:var(--print-quiet);font-size:13px}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.filters{display:flex;flex-wrap:wrap;gap:5px}.filter{border:1px solid #2f4037;background:transparent;color:#b7c7be;border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.filter span{color:#8aa394;margin-left:4px;font-variant-numeric:tabular-nums}.filter:hover{border-color:#6d8a7b}.filter[aria-pressed=true]{background:#e4eee8;border-color:#e4eee8;color:#14201a}.filter[aria-pressed=true] span{color:#3e564b}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:60;max-width:calc(100% - 32px);padding:10px 16px;border-radius:999px;background:#e7ece8;color:#14201a;box-shadow:0 12px 28px #00000047;font-size:13px;pointer-events:none}.toast.bad{background:var(--bad-soft);color:var(--bad)}@media(max-width:860px){.app{height:auto;min-height:100vh}.workspace{grid-template-columns:1fr}.app .desk{height:auto;position:static;border-right:0;border-bottom:1px solid #0c100e}.desk-scroll{overflow:visible}.prints.stage{height:auto;overflow:visible}.topbar{flex-wrap:wrap;gap:10px;padding:12px 16px}.top-status{order:3;width:100%}.top-note{order:4;width:100%}.top-actions{margin-left:auto}}@media(max-width:560px){.topbar{padding-left:16px;padding-right:16px}.brand-name{font-size:18px}.composer-head h1{font-size:28px}.prints.stage{padding-left:16px;padding-right:16px}.board{grid-template-columns:1fr 1fr}}:root{color-scheme:light;--color-paper: oklch(96.5% .007 155);--color-panel: oklch(99% .003 155);--color-field: oklch(96% .007 155);--color-canvas: oklch(92% .008 155);--color-ink: oklch(25% .012 155);--color-muted: oklch(45% .018 155);--color-rule: oklch(84% .012 155);--color-accent: oklch(36% .065 157);--color-accent-ink: oklch(98% .006 155);--color-accent-hover: oklch(42% .07 157);--color-soft: oklch(92% .024 157);--color-focus: oklch(62.5% .08 157);--color-error: oklch(43% .145 25);--color-error-soft: oklch(94% .025 25);--color-warning: oklch(42% .085 75);--color-warning-soft: oklch(94% .03 85);--color-overlay: oklch(12% .008 155 / .8);--color-shadow: oklch(15% .008 155 / .12);--font-display: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--font-body: var(--font-display);--font-mono: "SFMono-Regular", Consolas, monospace;--space-3xs: 4px;--space-2xs: 8px;--space-xs: 12px;--space-sm: 16px;--space-md: 20px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 28px;--radius-sm: 4px;--radius-input: 6px;--radius-card: 8px;--radius-dialog: 12px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-short: .14s;--ink: var(--color-ink);--desk: var(--color-panel);--line: var(--color-rule);--quiet: var(--color-muted);--field: var(--color-field);--action: var(--color-accent);--action-text: var(--color-accent-ink);--room: var(--color-paper);--print: var(--color-ink);--print-quiet: var(--color-muted);--bad: var(--color-error);--bad-soft: var(--color-error-soft);--live: var(--color-accent);--focus: var(--color-focus)}:root[data-theme=dark]{color-scheme:dark;--color-paper: oklch(18% .008 155);--color-panel: oklch(22% .008 155);--color-field: oklch(26% .009 155);--color-canvas: oklch(15% .006 155);--color-ink: oklch(94% .006 155);--color-muted: oklch(74% .014 155);--color-rule: oklch(37% .012 155);--color-accent: oklch(85% .075 157);--color-accent-ink: oklch(23% .03 157);--color-accent-hover: oklch(90% .065 157);--color-soft: oklch(30% .025 157);--color-focus: oklch(55% .08 157);--color-error: oklch(82% .1 25);--color-error-soft: oklch(30% .04 25);--color-warning: oklch(83% .08 85);--color-warning-soft: oklch(30% .025 85);--color-shadow: oklch(8% .008 155 / .35)}html,body{overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font:var(--text-md)/1.5 var(--font-body)}button,input,textarea,select{font:inherit}button{touch-action:manipulation}button:not(:disabled),summary{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}button:active:not(:disabled){opacity:.8}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-accent);color:var(--color-accent-ink)}h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-style:normal}.app-icon{display:inline-block;vertical-align:middle;flex:none}.is-error,.inline-error{color:var(--color-error)}.inline-error{margin:0;font-size:var(--text-sm);overflow-wrap:anywhere}.inline-warning{margin:0;padding:var(--space-xs);border-radius:var(--radius-input);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-sm);overflow-wrap:anywhere}.field-hint{margin:0;font-size:var(--text-xs);line-height:1.55;color:var(--color-muted);overflow-wrap:anywhere}.control-title{margin:0;font-size:var(--text-sm);font-weight:600;letter-spacing:0}.skip-link{position:fixed;top:var(--space-2xs);left:var(--space-2xs);z-index:100;padding:var(--space-xs);transform:translateY(-200%);background:var(--color-panel);color:var(--color-ink)}.skip-link:focus{transform:none}.studio-app{height:100dvh;min-height:0;background:var(--color-paper)}.studio-topbar{flex:none;display:flex;align-items:center;gap:var(--space-xl);min-height:68px;padding:var(--space-xs) var(--space-lg);background:var(--color-panel);color:var(--color-ink);border-bottom:1px solid var(--color-rule)}.studio-brand{display:flex;align-items:center;gap:var(--space-2xs);white-space:nowrap;font-size:var(--text-xl);font-weight:600;letter-spacing:-.04em}.studio-brand .app-icon{color:var(--color-accent)}.studio-nav,.studio-header-actions,.mobile-workspace-nav{display:flex;align-items:center;gap:var(--space-3xs)}.studio-nav button,.mobile-workspace-nav button{border:0;border-radius:var(--radius-input);padding:var(--space-2xs) var(--space-sm);background:transparent;color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap}.studio-nav button[aria-pressed=true],.mobile-workspace-nav button[aria-pressed=true]{background:var(--color-soft);color:var(--color-ink);font-weight:600}.studio-header-actions{margin-left:auto;gap:var(--space-2xs);min-width:0}.credit-balance{color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.account-credits{margin:0 0 var(--space-2xs);padding:0 var(--space-2xs) var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}@media(max-width:560px){.credit-balance{display:none}}.device-trigger,.account-trigger{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-2xs);border:0;background:transparent;color:var(--color-muted);border-radius:var(--radius-input);font-size:var(--text-xs);min-width:36px;min-height:36px}.device-trigger>span:last-child{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-trigger span{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-dot{display:block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--color-muted)}.service-dot.online{background:var(--color-accent)}.service-dot.offline{background:var(--color-error)}.studio-stop-banner{display:flex;align-items:center;gap:var(--space-2xs);margin:0;flex:none;padding:var(--space-2xs) var(--space-lg);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.studio-popover{position:fixed;inset:76px var(--space-lg) auto auto;margin:0;width:min(360px,calc(100vw - 32px));padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-panel);color:var(--color-ink);box-shadow:0 12px 36px var(--color-shadow)}.studio-popover::backdrop{background:transparent}.studio-popover h2{display:flex;align-items:center;gap:var(--space-2xs);margin:0 0 var(--space-sm);font-size:var(--text-lg)}.device-facts{margin:0;display:grid;gap:var(--space-xs);font-size:var(--text-sm)}.device-facts>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-sm)}.device-facts dt{color:var(--color-muted)}.device-facts dd{margin:0;overflow-wrap:anywhere}.device-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-sm)}.device-popover>p{margin-top:var(--space-xs)}.account-popover{width:min(240px,calc(100vw - 32px));padding:var(--space-xs)}.account-name{display:grid;gap:var(--space-3xs);margin:0 0 var(--space-2xs);padding:var(--space-2xs);font-weight:600;overflow-wrap:anywhere}.account-name span{color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.menu-item{display:block;width:100%;border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-ink);text-align:left;padding:var(--space-xs)}.mobile-workspace-nav{display:none}.studio-workspace{grid-template-columns:336px minmax(0,1fr);min-height:0}.studio-workspace.library-mode{grid-template-columns:minmax(0,1fr)}.studio-composer{display:flex;flex-direction:column;min-height:0;background:var(--color-panel);color:var(--color-ink);border-right:1px solid var(--color-rule)}.composer-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);padding:var(--space-lg) var(--space-md) var(--space-md)}.composer-heading h1{margin:0;font-size:var(--text-xl);letter-spacing:-.03em;line-height:1.3;font-weight:600}.identity-lock{display:flex;align-items:center;gap:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.studio-composer-form{display:flex;flex-direction:column;flex:1;min-height:0}.studio-composer-scroll{display:flex;flex-direction:column;gap:var(--space-lg);flex:1;min-height:0;overflow:auto;padding:0 var(--space-md) var(--space-lg);scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent}.studio-composer-scroll>[style*="display: none"]{margin:0}.reference-section,.prompt-editor{display:grid;gap:var(--space-2xs)}.reference-card{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs);min-width:0;border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-panel);color:var(--color-ink)}.reference-thumbnail{display:block;width:48px;height:64px;border:0;border-radius:var(--radius-sm);padding:0;overflow:clip;background:var(--color-canvas);cursor:zoom-in!important;flex:none}.reference-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.reference-copy{flex:1;min-width:0}.reference-copy p{margin:0 0 var(--space-3xs);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-copy>span{display:block;font-size:var(--text-xs);color:var(--color-muted)}.reference-empty{padding-block:var(--space-md)}.reference-empty>.app-icon{color:var(--color-muted)}.reference-picker{position:relative;display:grid;align-items:center;color:var(--color-accent);font-size:var(--text-xs);padding:var(--space-2xs) var(--space-3xs);cursor:pointer;flex:none}.reference-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.reference-picker:focus-within{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.reference-reset{justify-self:start}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs)}.field-heading label{color:var(--color-ink);font-size:var(--text-sm);font-weight:600}.field-heading span{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap}.studio-composer input:not([type=file]),.studio-composer textarea,.studio-composer select{width:100%;min-width:0;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-field);color:var(--color-ink);box-shadow:none;caret-color:var(--color-accent)}.studio-composer input:not([type=file]),.studio-composer select{height:40px}.studio-composer textarea{resize:vertical;min-height:112px;line-height:1.65}.studio-composer .prompt-editor textarea{min-height:164px}.studio-composer input::placeholder,.studio-composer textarea::placeholder{color:var(--color-muted);opacity:.9}.studio-composer label{color:var(--color-muted);font-size:var(--text-xs);gap:var(--space-2xs)}.studio-composer .field-heading label{color:var(--color-ink);font-size:var(--text-sm)}.composer-tools{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-top:calc(-1 * var(--space-sm))}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3xs);padding:var(--space-3xs) 0;border:0;background:transparent;color:var(--color-accent);border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap}.text-button[aria-expanded=true]{text-decoration:underline;text-underline-offset:4px}.assistant-panel{padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-field);color:var(--color-ink)}.assistant-panel .shop,.assistant-panel .chat{margin-top:var(--space-xs);gap:var(--space-xs)}.assistant-panel .chat-input{min-height:72px}.assistant-panel .shop-note,.assistant-panel .chat-user,.assistant-panel .chat-prompt{font-size:var(--text-xs);color:var(--color-muted);overflow-wrap:anywhere;white-space:pre-wrap}.assistant-panel .chat-user{color:var(--color-ink)}.assistant-panel .chat-log{max-height:220px;scrollbar-width:thin}.assistant-panel .chip,.assistant-panel .write{border-radius:var(--radius-sm);font-size:var(--text-xs);background:var(--color-panel);color:var(--color-ink)}.assistant-panel .chip[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.assistant-panel .shop-note.bad{color:var(--color-error)}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-xs)}.sampling-section{display:grid;gap:var(--space-2xs)}.advanced-settings{margin-top:var(--space-xs);border-top:1px solid var(--color-rule);padding-top:var(--space-sm)}.advanced-settings summary{color:var(--color-muted);font-size:var(--text-xs);font-weight:400;padding-block:var(--space-3xs)}.advanced-settings>.settings-grid,.advanced-settings>label{margin-top:var(--space-sm)}.advanced-settings textarea{min-height:100px;margin-top:0}.studio-composer-footer{flex:none;display:grid;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-rule);background:var(--color-panel);color:var(--color-ink)}.button-primary,.studio-composer button.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:42px;padding:var(--space-2xs) var(--space-sm);border:1px solid transparent;border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-accent-ink);font-weight:600;font-size:var(--text-sm);box-shadow:none;white-space:nowrap}.generate-button{width:100%}.composer-message{margin:0;min-height:1.55em;color:var(--color-muted);font-size:var(--text-xs);line-height:1.55;overflow-wrap:anywhere}.composer-message.is-error{color:var(--color-error)}.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-panel);color:var(--color-ink);padding:var(--space-2xs) var(--space-xs);font-size:var(--text-xs);white-space:nowrap}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:var(--space-2xs);border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted);flex:none}.spin{border-color:color-mix(in oklch,currentColor 20%,transparent);border-top-color:currentColor}.studio-stage{min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--space-sm);overflow:auto;padding:var(--space-lg) var(--space-xl);scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent;background:var(--color-paper);color:var(--color-ink)}.result-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs);flex:none}.result-heading h2{margin:0;font-size:var(--text-lg);font-weight:600;letter-spacing:-.02em}.result-heading p{margin:var(--space-3xs) 0 0;color:var(--color-muted);font-size:var(--text-xs)}.result-view-actions{display:flex;align-items:center;gap:var(--space-2xs)}.segmented-control{display:flex;align-items:center;gap:var(--space-3xs);padding:var(--space-3xs);border-radius:var(--radius-input);background:var(--color-field);color:var(--color-muted)}.segmented-control button{padding:var(--space-3xs) var(--space-2xs);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);white-space:nowrap;font-size:var(--text-xs)}.segmented-control button[aria-pressed=true]{background:var(--color-panel);color:var(--color-ink)}.queue-strip{flex:none;border:1px solid var(--color-rule);border-radius:var(--radius-input);padding:0;background:var(--color-soft);color:var(--color-ink)}.queue-strip>summary{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-xs);color:var(--color-ink);font-size:var(--text-xs);font-weight:400}.queue-strip>summary::-webkit-details-marker{display:none}.queue-expand{margin-left:auto;color:var(--color-muted);white-space:nowrap}.queue-list{display:grid;gap:var(--space-3xs);padding:0 var(--space-xs) var(--space-xs)}.queue-item{min-width:0;width:100%;padding:var(--space-2xs);border:0;border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-ink);text-align:left}.queue-item p{margin:0;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item span{font-size:var(--text-xs);color:var(--color-muted);font-variant-numeric:tabular-nums}.result-canvas{flex:1 0 360px;min-height:360px;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:var(--space-lg);padding:var(--space-md);background:var(--color-canvas);color:var(--color-ink);border-radius:var(--radius-input)}.result-canvas.is-comparing{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.canvas-figure{min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--space-2xs);margin:0;background:transparent;border-radius:0;box-shadow:none;overflow:visible}.canvas-image-wrap{position:relative;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0;border-radius:var(--radius-sm)}.canvas-image-wrap img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0}.canvas-zoom{cursor:zoom-in!important}.canvas-figure figcaption{position:static;display:block;text-align:center;color:var(--color-muted);font-size:var(--text-xs);background:none;padding:0;white-space:normal;pointer-events:auto}.canvas-empty{align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg);text-align:center;max-width:480px;min-width:0}.canvas-empty>.app-icon{color:var(--color-muted)}.canvas-empty h3{margin:0;font-size:var(--text-lg);font-weight:500}.canvas-empty p{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.8;overflow-wrap:anywhere}.canvas-empty p.is-error{color:var(--color-error)}.canvas-empty .button-secondary{margin-top:var(--space-2xs)}.batch-images{flex:none;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2xs)}.batch-images button{position:relative;padding:2px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-ink)}.batch-images button[aria-pressed=true]{border-color:var(--color-accent);outline:1px solid var(--color-accent)}.batch-images img{display:block;object-fit:cover;border-radius:2px}.batch-images span{position:absolute;right:2px;bottom:2px;padding:0 var(--space-3xs);background:var(--color-panel);color:var(--color-ink);font-size:var(--text-xs)}.result-caption{flex:none;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.result-description{flex:1 1 200px;min-width:0}.result-description p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 var(--space-3xs);font-size:var(--text-sm);overflow-wrap:anywhere}.result-description>span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);font-variant-numeric:tabular-nums}.result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.recent-section{flex:none;margin-top:auto;padding-top:var(--space-sm);border-top:1px solid var(--color-rule)}.recent-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);margin-bottom:var(--space-xs)}.recent-heading h2{margin:0;font-size:var(--text-sm);font-weight:600}.recent-heading h2 span{margin-left:var(--space-3xs);color:var(--color-muted);font-weight:400;font-size:var(--text-xs)}.recent-empty{margin:0 0 var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs)}.recent-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2xs)}.recent-card{display:block;min-width:0;overflow:clip;padding:0;border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-panel);color:var(--color-muted)}.recent-card[aria-pressed=true]{border-color:var(--color-accent);outline:1px solid var(--color-accent)}.recent-card>img{display:block;width:100%;height:clamp(68px,10dvh,112px);object-fit:cover}.recent-placeholder{min-height:68px;height:10dvh;max-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3xs);background:var(--color-field);color:var(--color-muted);font-size:var(--text-xs)}.recent-label{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3xs);padding:var(--space-3xs) var(--space-2xs);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.stage-library{padding:var(--space-xl)}.gallery{min-width:0}.library-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-lg)}.library-heading h1{margin:0;font-size:var(--text-2xl);font-weight:600;line-height:1.3}.library-heading h1 span{color:var(--color-muted);font-size:var(--text-lg);font-weight:400;margin-left:var(--space-2xs)}.library-heading p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.filters{gap:var(--space-3xs)}.filters .filter{border:1px solid var(--color-rule);border-radius:var(--radius-input);padding:var(--space-2xs) var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);background:transparent}.filters .filter span{color:inherit}.filters .filter[aria-pressed=true]{color:var(--color-accent-ink);background:var(--color-accent);border-color:var(--color-accent)}.library-empty{margin:0;padding:var(--space-2xl) var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);text-align:center;border:1px dashed var(--color-rule);border-radius:var(--radius-card)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(232px,100%),1fr));gap:var(--space-lg)}.asset-card{min-width:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.asset-visual{position:relative;overflow:clip;border-radius:var(--radius-card);background:var(--color-canvas);color:var(--color-ink)}.asset-image,.asset-pending{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4 / 5;padding:0;border:0;background:transparent;color:var(--color-muted)}.asset-image img{display:block;width:100%;height:100%;object-fit:cover}.asset-pending{flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);font-size:var(--text-sm);overflow-wrap:anywhere}.asset-count,.asset-expand{position:absolute;bottom:var(--space-2xs);padding:var(--space-3xs) var(--space-2xs);border:0;border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-ink);font-size:var(--text-xs)}.asset-count{left:var(--space-2xs);pointer-events:none}.asset-expand{right:var(--space-2xs);display:flex;align-items:center;justify-content:center;min-height:28px}.asset-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs)}.asset-meta .took{color:var(--color-muted)}.asset-prompt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:var(--text-sm);line-height:1.55;overflow-wrap:anywhere}.asset-tools{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs);margin-top:auto}.asset-delete{margin-left:auto}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:var(--space-lg);background:var(--color-paper);color:var(--color-ink)}.auth-card{width:min(380px,100%);display:grid;gap:var(--space-md);padding:var(--space-xl);border:1px solid var(--color-rule);border-radius:var(--radius-dialog);background:var(--color-panel);color:var(--color-ink)}.auth-brand{display:flex;align-items:center;gap:var(--space-2xs);color:var(--color-accent);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2xs)}.auth-card h1{margin:0;font-size:var(--text-2xl);line-height:1.3;font-weight:600}.auth-hint{margin:calc(-1 * var(--space-xs)) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.auth-card label{font-size:var(--text-sm);color:var(--color-muted);gap:var(--space-2xs)}.auth-card input{width:100%;min-width:0;height:44px;border:1px solid var(--color-rule);border-radius:var(--radius-input);padding:var(--space-2xs) var(--space-xs);background:var(--color-field);color:var(--color-ink)}.auth-card .auth-submit{box-shadow:none;border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-accent-ink);min-height:44px}.auth-error{min-height:1.5em;margin:0;color:var(--color-error);font-size:var(--text-xs);overflow-wrap:anywhere}.studio-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 32px));height:fit-content;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--color-rule);border-radius:var(--radius-dialog);padding:var(--space-lg);background:var(--color-panel);color:var(--color-ink);box-shadow:0 16px 48px var(--color-shadow);overscroll-behavior:contain}.studio-dialog::backdrop{background:var(--color-overlay)}.studio-dialog h2{margin:0 0 var(--space-xs);font-size:var(--text-xl)}.studio-dialog p{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.7}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-lg)}.button-danger{border:1px solid transparent;border-radius:var(--radius-input);background:var(--color-error);color:var(--color-panel);padding:var(--space-2xs) var(--space-sm)}:root[data-theme=dark] .button-danger{color:var(--color-error-soft)}.image-dialog{width:min(1100px,calc(100% - 32px));padding:var(--space-sm)}.image-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);margin-bottom:var(--space-xs)}.image-dialog-header h2{margin:0;font-size:var(--text-sm)}.image-dialog figure{display:grid;justify-items:center;gap:var(--space-xs);background:transparent;margin:0;border-radius:0;box-shadow:none}.image-dialog figure>img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 232px);object-fit:contain;border-radius:var(--radius-sm)}.image-dialog figcaption{display:block;position:static;padding:0;margin:0;white-space:normal;background:none;color:var(--color-muted);font-size:var(--text-xs);text-align:center}.image-dialog .dialog-actions{justify-content:center;margin-top:var(--space-sm)}.image-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);margin-top:var(--space-xs)}.image-navigation>span{font-size:var(--text-xs);color:var(--color-muted);font-variant-numeric:tabular-nums}.toast{border-radius:var(--radius-input);background:var(--color-panel);color:var(--color-ink);border:1px solid var(--color-rule);box-shadow:0 8px 24px var(--color-shadow)}.toast.bad{background:var(--color-error-soft);color:var(--color-error)}@media(hover:hover){.studio-nav button:hover,.mobile-workspace-nav button:hover,.icon-button:hover,.device-trigger:hover,.account-trigger:hover,.menu-item:hover{background:var(--color-field);color:var(--color-ink)}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.button-secondary:hover,.queue-item:hover{background:var(--color-soft)}.button-primary:hover,.studio-composer button.button-primary:hover,.auth-card .auth-submit:hover{background:var(--color-accent-hover);color:var(--color-accent-ink)}.studio-composer textarea:hover,.studio-composer input:not([type=file]):hover,.studio-composer select:hover{border-color:var(--color-muted)}.asset-delete:hover{color:var(--color-error);background:var(--color-error-soft)}}@media(max-width:1100px){.studio-workspace{grid-template-columns:312px minmax(0,1fr)}.studio-stage{padding:var(--space-lg)}.recent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recent-card:nth-child(n+4){display:none}.result-actions{gap:var(--space-2xs)}}@media(max-width:760px){.studio-app{height:auto;min-height:100dvh}.studio-topbar{gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);flex-wrap:wrap}.studio-workspace{display:block}.studio-composer{border:0}.studio-composer-scroll{overflow:visible;gap:var(--space-lg)}.studio-composer-form{min-height:calc(100dvh - 240px)}.studio-composer-footer{position:sticky;bottom:0;z-index:2;padding-bottom:max(var(--space-sm),env(safe-area-inset-bottom))}.mobile-workspace-nav{display:flex;gap:var(--space-2xs);background:var(--color-panel);color:var(--color-ink);padding:var(--space-2xs) var(--space-sm);border-bottom:1px solid var(--color-rule)}.studio-workspace:not(.library-mode)[data-mobile=edit] .studio-stage{display:none}.studio-workspace:not(.library-mode)[data-mobile=results] .studio-composer{display:none}.studio-stage{overflow:visible;min-height:0;padding:var(--space-md) var(--space-sm);gap:var(--space-sm)}.result-canvas{flex:none;min-height:360px;padding:var(--space-sm);gap:var(--space-xs)}.result-canvas.is-comparing{min-height:280px}.result-heading{align-items:flex-start}.result-heading h2{font-size:var(--text-sm)}.result-description{flex-basis:100%}.recent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recent-card>img{height:88px}.recent-label{font-size:var(--text-xs);padding:var(--space-3xs)}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg) var(--space-xs)}.asset-tools{gap:var(--space-2xs)}.asset-tools .text-button{font-size:var(--text-xs)}.library-heading{gap:var(--space-sm)}.library-heading h1{font-size:var(--text-xl)}.filters .filter{padding:var(--space-2xs)}.asset-delete{margin-left:0}.studio-popover{top:76px;right:var(--space-sm)}}@media(max-width:560px){.studio-topbar{gap:var(--space-2xs)}.studio-brand{font-size:var(--text-lg)}.studio-nav{order:3;width:100%}.studio-nav button{flex:1;padding-block:var(--space-2xs)}.studio-header-actions{gap:var(--space-3xs)}.device-trigger>span:last-child,.account-trigger>span{display:none}.composer-heading{padding:var(--space-md) var(--space-sm)}.composer-heading h1{font-size:var(--text-lg)}.studio-composer-scroll,.studio-composer-footer{padding-inline:var(--space-sm)}.result-view-actions{gap:0}.result-view-actions>.icon-button{display:none}.result-heading p{font-size:var(--text-xs)}.asset-meta{display:grid}.asset-meta .took{display:none}.asset-prompt{font-size:var(--text-xs)}.auth-card{padding:var(--space-lg)}}@media(pointer:coarse){.studio-app button,.auth-page button,.studio-dialog button,.studio-popover button,.advanced-settings summary,.reference-picker,.queue-strip summary{min-height:44px}.icon-button,.device-trigger,.account-trigger{min-width:44px}.studio-composer input:not([type=file]),.studio-composer select,.auth-card input{min-height:44px}input,textarea,select{font-size:16px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.spin{animation:none}button{transition:none}}.users-page{display:flex;flex-direction:column;gap:var(--space-lg);min-width:0;min-height:0;overflow:auto;padding:var(--space-xl);background:var(--color-paper);color:var(--color-ink);scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent}.users-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.users-heading h1{margin:0;font-size:var(--text-2xl);font-weight:600;line-height:1.3}.users-heading p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.users-back{margin-bottom:var(--space-xs)}.users-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.users-search{position:relative;display:flex;align-items:center;flex:1 1 240px;max-width:360px;min-width:0}.users-search>.app-icon{position:absolute;left:var(--space-xs);pointer-events:none;color:var(--color-muted)}.users-search input,.users-status-filter select,.users-dialog input,.users-dialog select{width:100%;min-width:0;height:42px;padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-panel);color:var(--color-ink)}.users-search input{padding-left:var(--space-xl)}.users-search input::placeholder,.users-dialog input::placeholder{color:var(--color-muted)}.users-status-filter{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted)}.users-status-filter>span{white-space:nowrap}.users-status-filter select{width:auto}.users-count{margin-left:auto;color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.users-toolbar>.button-secondary{min-height:42px}.users-error,.users-feedback{margin:0;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-input);font-size:var(--text-sm);overflow-wrap:anywhere}.users-error{background:var(--color-error-soft);color:var(--color-error)}.users-feedback{background:var(--color-soft);color:var(--color-ink)}.users-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:200px;color:var(--color-muted);font-size:var(--text-sm)}.users-table-wrap{border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-panel);color:var(--color-ink)}.users-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--text-sm)}.users-table th,.users-table td{padding:var(--space-sm) var(--space-md);text-align:left;vertical-align:middle;overflow-wrap:anywhere}.users-table th{color:var(--color-muted);font-size:var(--text-xs);font-weight:500;border-bottom:1px solid var(--color-rule)}.users-table th:first-child{width:24%}.users-table th:last-child{width:30%}.users-table tr+tr td{border-top:1px solid var(--color-rule)}.user-name-cell strong{font-weight:500}.user-current{display:inline-block;margin-left:var(--space-2xs);padding:2px var(--space-2xs);border-radius:var(--radius-sm);background:var(--color-soft);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.user-status{display:inline-flex;align-items:center;gap:var(--space-2xs);white-space:nowrap}.user-status>span{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.user-status.is-disabled{color:var(--color-muted)}.user-status.is-disabled>span{background:var(--color-muted)}.user-password-state{color:var(--color-muted);font-size:var(--text-xs)}.user-password-state.needs-change{color:var(--color-warning)}.user-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-sm)}.users-table .users-actions-heading,.user-actions-cell{text-align:right}.user-disable{color:var(--color-error)}.users-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-2xl) var(--space-lg);color:var(--color-muted);text-align:center}.users-empty h2{margin:0;color:var(--color-ink);font-size:var(--text-lg);font-weight:500}.users-empty p{margin:0;font-size:var(--text-sm)}.users-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.users-pagination>div{display:flex;align-items:center;gap:var(--space-xs)}.users-dialog{width:min(460px,calc(100% - 32px))}.users-dialog-form{display:flex;flex-direction:column;gap:var(--space-sm)}.users-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs)}.users-dialog-heading h2{margin:0;font-size:var(--text-xl)}.users-dialog label{display:grid;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--color-muted)}.users-dialog .field-hint{font-size:var(--text-xs);color:var(--color-muted)}.users-dialog input[readonly]{font-family:var(--font-mono);letter-spacing:.04em}.users-dialog .button-primary,.users-dialog button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:var(--space-2xs) var(--space-sm);border:1px solid transparent;border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-accent-ink);box-shadow:none;font-size:var(--text-sm)}.users-dialog button.button-danger{background:var(--color-error);color:var(--color-panel)}:root[data-theme=dark] .users-dialog button.button-danger{color:var(--color-error-soft)}.users-dialog .dialog-actions{margin-top:0}.users-modal-error{min-height:1.5em;margin:0;color:var(--color-error)!important;font-size:var(--text-xs)!important}.credential-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs)}@media(hover:hover){.users-table tbody tr:hover{background:var(--color-field)}.users-dialog .button-primary:hover{background:var(--color-accent-hover)}}@media(max-width:1000px){.users-table th,.users-table td{padding:var(--space-xs)}.users-table th:first-child{width:25%}.users-table th:last-child{width:28%}.user-current{display:block;width:fit-content;margin:var(--space-3xs) 0 0}}@media(max-width:760px){.users-page{overflow:visible;padding:var(--space-lg) var(--space-sm)}.users-heading h1{font-size:var(--text-xl)}.users-search{flex-basis:100%;max-width:none}.users-count{margin-left:0;flex:1}.users-status-filter>span{display:none}.users-table-wrap{border:0;border-radius:0;background:transparent}.users-table,.users-table tbody{display:block;width:100%}.users-table thead{display:none}.users-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-panel);color:var(--color-ink)}.users-table tr+tr{margin-top:var(--space-xs)}.users-table td,.users-table tr+tr td{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3xs);padding:0;border:0;text-align:left;min-width:0}.users-table td:before{content:attr(data-label);color:var(--color-muted);font-size:var(--text-xs)}.users-table td.user-name-cell{grid-column:1 / -1;flex-direction:row;align-items:center;flex-wrap:wrap}.users-table td.user-name-cell:before,.users-table td.user-actions-cell:before{display:none}.user-current{display:inline-block;margin:0}.users-table td.user-actions-cell{grid-column:1 / -1;border-top:1px solid var(--color-rule);padding-top:var(--space-xs);margin-top:var(--space-3xs)}.user-row-actions{justify-content:flex-start;width:100%}.users-pagination>div{width:100%;justify-content:space-between}.users-dialog{padding:var(--space-md)}}
