:root,html[data-theme=dark]{color-scheme:dark;--bg: #15171c;--panel: #1d2026;--raised: #272c34;--line: #373d48;--text: #e8ebf0;--muted: #a1acbd;--subtle: #919db0;--accent: #EE1A26;--accent-hover: #d41722;--blue: #98bff0;--hover: #303640;--input: #191c22;--canvas: #252a32;--grid: #3b424d;--canvas-bg: var(--canvas);--canvas-dot: var(--grid);--canvas-selection: var(--blue);--canvas-selection-fill: color-mix(in srgb,var(--blue) 12%,transparent);--shadow: 0 14px 42px #00000040;--error: var(--accent);--selected: #2a3b53;--focus: #a0c6f4;--success: #86cdb0;--warning: #f0c37b;--warning-bg: #3c3020;--overlay: #090c1480;--on-accent: #ffffff}@font-face{font-family:Anno Sans;src:url(/fonts/DejaVuSans.ttf) format("truetype");font-display:swap}:root{font-family:Anno Sans,Segoe UI,sans-serif;font-size:14px;line-height:1.5;font-synthesis:none;color:var(--text);background:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button,.button{min-height:40px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 14px;border-radius:8px;font-size:14px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s;line-height:1.3;flex-shrink:0}button:hover,.button:hover{background:var(--hover);border-color:var(--subtle)}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,.button:focus-within{outline:2px solid var(--focus);outline-offset:3px}input,textarea,select{width:100%;min-height:40px;border:1px solid var(--line);background:var(--input);color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 13%,transparent)}input:disabled,textarea:disabled,select:disabled{color:var(--subtle);background:var(--raised)}input::placeholder,textarea::placeholder{color:var(--subtle);opacity:1}[hidden]{display:none!important}label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:13px}h1,h2,h3,p{margin:0}h2{font-size:22px;letter-spacing:-.6px;line-height:1.3}h3{font-size:15px}p{line-height:1.65;font-size:14px}.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.icon-button{height:40px;min-height:40px;width:40px;padding:0;background:transparent;border-color:transparent;border-radius:8px;flex-shrink:0}.icon-button:hover{background:var(--hover);border-color:transparent}.icon-button.active{background:var(--selected);color:var(--blue)}.text-button{background:transparent;border-color:transparent;color:var(--muted);font-size:13px;padding:8px;min-height:40px}.text-button:hover{background:var(--hover);border-color:transparent;color:var(--text)}.muted{color:var(--muted);font-size:13px;line-height:1.65}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex-shrink:0}.brand img{height:35px;width:28px}.brand>span{font-weight:800;font-size:24px;letter-spacing:2px}.brand-tag{font-size:12px;font-weight:400;letter-spacing:2px;color:var(--subtle);margin-left:10px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.5px;color:var(--muted)}.status-dot,.sync-indicator>span,.project-dot{width:7px;height:7px;background:var(--success);border-radius:50%;display:inline-block;flex-shrink:0}.error-message{font-size:13px;color:var(--text);background:color-mix(in srgb,var(--error) 7%,var(--panel));border:1px solid var(--error);border-radius:8px;padding:12px;line-height:1.6}.toast{position:fixed;bottom:48px;left:50%;transform:translate(-50%);z-index:1000;background:var(--panel);color:var(--text);border:1px solid var(--error);border-radius:12px;padding:12px 16px;font-size:14px;max-width:min(650px,92vw);display:flex;gap:18px;align-items:center;box-shadow:var(--shadow)}.boot-screen{height:100dvh;display:flex;align-items:center;justify-content:center;gap:18px;font-size:15px;color:var(--muted);background:var(--bg)}.boot-screen img{width:35px}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.auth-shell{min-height:100dvh;background:var(--bg)}.auth-form-area{min-height:100dvh;display:grid;place-items:center;padding:40px 24px}.auth-form{width:min(100%,390px)}.auth-brand{justify-content:center;margin-bottom:28px;gap:10px}.auth-brand img{width:42px;height:42px}.auth-brand>span{font-size:27px;font-weight:600;letter-spacing:2px}.auth-brand .brand-tag{font-size:11px;letter-spacing:2px;margin-left:10px}.auth-form form{display:flex;flex-direction:column;gap:22px}.auth-form label{gap:9px}.auth-form input{height:48px;padding:0 14px;border-radius:10px;background:var(--input)}.auth-form input:-webkit-autofill,.auth-form input:-webkit-autofill:hover,.auth-form input:-webkit-autofill:focus{box-shadow:0 0 0 1000px var(--input) inset;-webkit-text-fill-color:var(--text);caret-color:var(--text)}.auth-submit{position:relative;width:100%;height:48px;margin-top:4px;padding:0 44px;border-radius:10px;justify-content:center}.auth-submit svg{position:absolute;right:16px}.auth-form .error-message{white-space:pre-line;overflow-wrap:anywhere;line-height:1.5}@media(max-width:600px){.auth-form-area{padding:32px 24px}.auth-brand>span{font-size:27px}.auth-brand{gap:10px}}.dashboard{min-height:100dvh;background:var(--bg)}.dashboard-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,24px);border-bottom:1px solid var(--line);background:var(--panel)}.account{display:flex;gap:14px;align-items:center;font-size:14px}.account small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.avatar{width:38px;height:38px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:50%;color:var(--text);font-size:15px}.dashboard-main{max-width:1240px;margin:0 auto;padding:56px 40px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;gap:20px}.dashboard-heading>div{margin-right:auto}.dashboard-heading h1{font-size:36px;letter-spacing:-1.5px;font-weight:500;margin:12px 0}.count-badge{display:inline-flex;background:var(--raised);color:var(--muted);border:1px solid var(--line);border-radius:6px;min-width:26px;justify-content:center;padding:2px 7px;font-size:12px;vertical-align:middle;margin-left:12px;letter-spacing:0}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{position:relative;display:block;text-align:left;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 2px 5px color-mix(in srgb,var(--text) 3%,transparent);min-width:0}.project-card:hover{border-color:var(--subtle);background:var(--panel)}.project-open{display:block;width:100%;height:100%;text-align:left;padding:0;background:transparent;border:0;border-radius:0;min-width:0}.project-open:hover{background:transparent}.project-open:focus-visible{outline-offset:-3px}.project-actions{position:absolute;right:12px;top:12px;display:flex;gap:4px}.project-delete{background:var(--panel);border-color:var(--line);color:var(--muted);box-shadow:0 2px 6px color-mix(in srgb,var(--text) 6%,transparent)}.project-delete:hover{color:var(--error);border-color:var(--error);background:var(--panel)}.project-cache{background:var(--panel);border-color:var(--line);color:var(--muted)}.delete-project-name{overflow-wrap:anywhere}.project-cover{height:185px;background:var(--raised);position:relative;overflow:hidden;display:grid;place-items:center;border-bottom:1px solid var(--line)}.cover-1{background:color-mix(in srgb,var(--success) 8%,var(--raised))}.cover-2{background:color-mix(in srgb,var(--accent) 5%,var(--raised))}.cover-paper{background:#e3d7bf;width:68%;height:190px;transform:rotate(-6deg) translateY(30px);padding:21px 23px;box-shadow:0 12px 20px #0002}.cover-paper>div{height:12px;border:1px solid #b59772;margin-top:13px;position:relative}.cover-paper>div:before{content:"";height:2px;background:#786d60;opacity:.3;position:absolute;left:8px;right:8px;top:4px}.project-card-body{padding:22px}.project-card h3{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card p{font-size:13px;color:var(--muted);margin-top:9px}.project-card footer{border-top:1px solid var(--line);margin-top:23px;padding-top:15px;font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.project-card time{margin-left:auto;font-size:12px}.project-empty{grid-column:1/-1;padding:40px 0;color:var(--muted);font-size:14px}.editor{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.editor-header{height:68px;flex-shrink:0;display:flex;gap:12px;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);background:var(--panel);position:relative;z-index:85}.small-logo{width:20px;height:30px}.editor-back{color:var(--muted)}.project-name{min-width:100px;max-width:240px;overflow:hidden}.project-name b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-name>span{display:block;color:var(--muted);font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-menus{display:flex;gap:2px;margin-left:14px;align-items:center}.editor-menus>button,.menu>summary{background:transparent;border:1px solid transparent;color:var(--muted);font-size:13px;padding:10px 12px;border-radius:8px;cursor:pointer;list-style:none;min-height:40px;display:flex;align-items:center}.editor-menus>button:hover,.menu>summary:hover{background:var(--hover);color:var(--text)}.menu{position:relative}.menu summary::-webkit-details-marker{display:none}.menu-popover{position:absolute;top:calc(100% + 8px);left:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;width:max-content;max-width:calc(100vw - 24px);padding:6px;z-index:90;box-shadow:var(--shadow)}.menu-popover>button{border-color:transparent;background:transparent;display:flex;justify-content:flex-start;width:100%;font-size:13px;padding:11px}.menu-popover>button:hover{background:var(--hover)}.mobile-menu{display:none}.editor-header>.editor-status{margin-left:auto}.save-button{font-size:13px;height:40px;padding:0 14px;white-space:nowrap}.editor-toolbar{height:56px;flex-shrink:0;background:var(--panel);display:flex;gap:18px;align-items:center;padding:0 18px;border-bottom:1px solid var(--line)}.page-navigation{display:flex;gap:3px;align-items:center;flex-shrink:0}.page-counter{background:transparent;border-color:transparent;font-size:13px;color:var(--text);padding:8px;min-width:90px;font-variant-numeric:tabular-nums}.filename{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.toolbar-right{display:flex;gap:5px;align-items:center;margin-left:auto;flex-shrink:0}.editor-body{display:flex;min-height:0;flex:1;position:relative}.tool-rail{width:64px;flex-shrink:0;padding:14px 10px 10px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px;background:var(--panel);overflow-y:auto;scrollbar-width:none}.tool-group{display:flex;flex-direction:column;gap:6px}.tool-group.ai-tools{border-top:1px solid var(--line);padding-top:18px}.tool-button{position:relative;width:44px;height:44px;min-height:44px;background:transparent;border:1px solid transparent;color:var(--muted);flex-shrink:0;padding:0;border-radius:10px}.tool-button:hover{background:var(--hover);border-color:transparent}.tool-button.active{background:var(--selected);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 24%,transparent)}.tool-button.active:before{content:"";position:absolute;left:-11px;height:24px;width:3px;border-radius:0 3px 3px 0;background:var(--blue)}.tool-bottom{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:12px}.workspace{min-width:0;flex:1;display:flex;flex-direction:column;background:var(--canvas)}.canvas-panel{flex:1;min-height:0;position:relative;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden;background:var(--canvas);background-image:radial-gradient(var(--grid) 1px,transparent 1px);background-size:20px 20px}.canvas-panel>.canvas-viewport,.canvas-panel>.canvas-editor{flex:1;min-width:0}.value-bar{background:var(--panel);border-top:1px solid var(--line);height:122px;padding:14px 20px;flex-shrink:0}.value-heading{display:flex;align-items:center;gap:12px;line-height:1.3;margin-bottom:10px}.value-heading>span:first-child{font-size:13px;color:var(--muted);font-weight:500}.value-heading small{color:var(--muted);font-size:12px}.value-bar textarea{height:64px;resize:none;padding:10px 12px;font-size:14px;line-height:1.5}.inspector-wrap{width:340px;flex-shrink:0}.editor-status{min-width:0;max-width:300px;min-height:34px;display:flex;align-items:center;background:var(--raised);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12px;color:var(--text);gap:8px}.editor-status>span{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-status>span>svg{flex-shrink:0}.editor-status[data-conflict=true]{border-color:var(--warning)}.empty-canvas{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;text-align:center;padding:28px;color:var(--text)}.empty-canvas h2{font-size:24px;font-weight:500;letter-spacing:-.7px}.page-image-loading{width:100%;height:100%;display:grid;place-items:center;color:var(--muted)}.upload-symbol{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:18px;width:78px;height:78px;display:grid;place-items:center;color:var(--subtle);margin-bottom:5px;box-shadow:var(--shadow)}.upload-symbol svg:last-child{position:absolute;right:9px;bottom:11px;color:var(--blue)}.mobile-inspector,.inspector-dismiss{display:none}.activity-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;gap:20px}.pixel-wave{display:grid;grid-template-columns:repeat(12,7px);gap:4px;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.pixel-wave i{height:7px;width:7px;background:var(--blue);animation:wave 1.7s ease-in-out infinite;opacity:.25}@keyframes wave{50%{opacity:1;transform:translateY(-3px)}}.activity-stats{color:var(--text);font-size:14px;background:var(--panel);padding:6px 12px;border-radius:6px}.stop-button{font-size:14px;background:var(--panel)}.conflict-banner{position:absolute;top:124px;left:64px;right:340px;background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning);z-index:60;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;gap:12px}.conflict-banner button{background:var(--panel);border-color:var(--warning);font-size:13px}.inspector{height:100%;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.section-heading{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin-bottom:8px;min-height:28px;gap:8px}.section-heading small{font-size:12px;letter-spacing:0;color:var(--subtle)}.inspector-class-actions{display:flex;align-items:center;gap:2px}.classes-panel{padding:14px 12px;border-bottom:1px solid var(--line);flex-shrink:0;max-height:38%;overflow:auto}.classes-panel>.section-heading{padding:0 6px}.class-row{height:44px;border:1px solid transparent;border-radius:8px;display:flex;align-items:center;gap:10px;padding-left:9px}.class-row.active{background:var(--raised);border-color:var(--line)}.class-name{border-color:transparent;background:transparent;padding:0;min-width:0;flex:1;justify-content:flex-start;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:0;height:40px}.class-name:hover{background:transparent;border-color:transparent;color:var(--blue)}.class-count{font-size:12px;color:var(--subtle);min-width:20px;text-align:right;font-variant-numeric:tabular-nums}.class-rename{min-width:0;flex:1;width:0;font-size:14px;height:34px;min-height:34px;padding:6px 8px;border-radius:6px}.class-rename[aria-invalid=true]{border-color:var(--error)}.delete-class{opacity:.6;flex-shrink:0}.class-row:hover .delete-class,.delete-class:focus-visible{opacity:1}.color-input{width:16px;height:16px;min-height:16px;border:0;padding:0;border-radius:3px;background:transparent;cursor:pointer;flex-shrink:0}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:0;border-radius:3px}.add-class{display:flex;gap:4px;margin-top:12px}.add-class input{min-width:0;font-size:14px;height:40px;padding:8px}.object-list-heading{padding:12px 18px 0;min-height:46px;flex-shrink:0}.objects-scroll{overflow-y:auto;min-height:70px;flex:1;padding:0 10px 8px}.object-row{height:var(--object-row-height,44px);position:absolute;left:0;right:0;display:flex;align-items:center;border:1px solid transparent;border-bottom-color:var(--line);border-radius:6px;background:var(--panel);padding-right:2px}.object-row:hover{background:var(--raised)}.object-row.selected{background:var(--selected);border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}.object-row.hidden-object{opacity:.45}.object-name{background:transparent;border-color:transparent;border-radius:0;padding:0;min-width:0;flex:1;display:flex;align-items:center;gap:9px;justify-content:flex-start;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;height:42px}.object-name:hover{background:transparent;border-color:transparent;color:var(--blue)}.object-name>i{height:10px;width:10px;flex-shrink:0;border-radius:2px}.object-name>span{overflow:hidden;text-overflow:ellipsis}.object-name small{color:var(--subtle);font-size:12px}.delete-object{opacity:.6}.object-row:hover .delete-object,.delete-object:focus-visible{opacity:1}.selected-panel{border-top:1px solid var(--line);padding:14px 18px 18px;flex-shrink:0}.selected-panel label{font-size:13px;gap:7px;margin-top:12px}.empty-objects{padding:24px 8px;font-size:13px;color:var(--muted);line-height:1.8}.select-field{width:100%;min-width:0}.select-trigger{width:100%;min-height:40px;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--input);font-size:14px;border-radius:9px}.select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger>svg{flex-shrink:0;color:var(--muted);transition:transform .15s}.select-trigger[aria-expanded=true]{border-color:var(--focus)}.select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.select-menu{z-index:2000;padding:5px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:auto;font-size:14px}.select-option{display:flex;align-items:center;gap:9px;min-height:38px;padding:9px 10px;border-radius:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.select-option.highlighted{background:var(--selected)}.select-option[aria-selected=true]{color:var(--blue)}.select-option>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-option>i{width:10px;height:10px;flex-shrink:0;border-radius:3px}.select-option>svg{flex-shrink:0}.modal{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:0;width:560px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);box-shadow:var(--shadow)}.shortcut-help-grid{margin:18px 0;display:flex;flex-direction:column;gap:0}.shortcut-help-grid>div{display:grid;grid-template-columns:minmax(170px,1fr) 1.6fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.shortcut-help-grid dd{margin:0;color:var(--muted)}.shortcut-help-grid kbd{font:inherit;color:var(--text)}@media(max-width:700px){.shortcut-help-button{display:none}.shortcut-help-grid>div{grid-template-columns:1fr;gap:5px}}.modal.wide{width:780px}.modal::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal>header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);gap:16px}.modal>header h2{font-size:20px;font-weight:500;letter-spacing:-.5px}.modal-content{padding:24px;max-height:calc(100dvh - 144px);overflow-y:auto}.modal-content>p,.modal-content>h3{margin-bottom:16px}.segmented{display:flex;border:1px solid var(--line);background:var(--raised);padding:3px;width:fit-content;max-width:100%;border-radius:10px;gap:3px}.segmented>button{background:transparent;border-color:transparent;font-size:13px;padding:8px 14px;border-radius:7px;min-height:36px}.segmented>button.active{background:var(--panel);color:var(--text);border-color:var(--line);box-shadow:0 1px 3px color-mix(in srgb,var(--text) 6%,transparent)}.form-section{margin-top:26px}.field-title{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:12px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-label{flex-direction:row;align-items:center;gap:12px;cursor:pointer;font-size:14px;letter-spacing:0;color:var(--text);padding:8px 0;min-height:40px}.check-label input{width:18px;height:18px;min-height:18px;accent-color:var(--blue);flex-shrink:0}.dialog-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:26px;flex-wrap:wrap}.dialog-actions>span{margin-right:auto}.dialog-overlay{position:fixed;inset:0;z-index:100;background:var(--overlay);display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.small-dialog{width:430px;max-width:100%;background:var(--panel);padding:28px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.small-dialog h2{margin-bottom:24px}.create-project-form>.error-message{margin-top:16px}.api-connection{display:grid;grid-template-columns:1fr 1fr;gap:16px}.api-status{display:flex;justify-content:space-between;align-items:center;margin:18px 0 28px;gap:16px}.model-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.model-columns h3{display:flex;align-items:center;gap:9px;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px;font-weight:500}.model-list{display:flex;flex-direction:column;gap:9px;min-height:110px}.model-tile{width:100%;min-height:66px;background:var(--panel);border-color:var(--line);padding:12px 14px;justify-content:flex-start;gap:12px;text-align:left}.model-tile.active{background:var(--selected);border-color:var(--blue)}.model-tile b{font-size:14px;font-weight:500;display:block;overflow-wrap:anywhere}.model-tile small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.model-check{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;color:var(--blue)}.model-tile.active .model-check{background:var(--blue);border-color:var(--blue);color:var(--panel)}.model-empty{padding:20px 12px;border:1px dashed var(--line);border-radius:9px;font-size:13px;color:var(--muted);line-height:1.7}.slider-label{margin:24px 0;position:relative;font-size:13px}.slider-label output{position:absolute;right:0;color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}.slider-label input{padding:0;background:transparent;box-shadow:none;margin-top:4px;border:0;accent-color:var(--blue);min-height:28px}.gallery-toolbar{display:flex;gap:9px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search-field{display:flex;flex-direction:row;align-items:center;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:0 10px;flex:1;gap:7px;min-width:180px}.search-field:focus-within{border-color:var(--focus)}.search-field input{background:transparent;border:0;box-shadow:none;padding:10px 3px;min-width:0}.gallery-toolbar>button{font-size:13px;padding:9px}.gallery-view{display:flex;gap:2px;border:1px solid var(--line);padding:3px;border-radius:10px;margin-left:auto}.gallery-view .icon-button{width:34px;height:34px;min-height:34px;border-radius:6px}.page-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;max-height:440px;overflow-y:auto;padding:1px}.page-gallery.list{grid-template-columns:1fr;gap:8px}.page-gallery.list .page-card{display:flex;align-items:center;gap:12px;padding:8px}.page-gallery.list .page-thumbnail{width:64px;height:56px;flex-shrink:0}.page-gallery.list .page-card>span{min-width:0;flex:1;padding:0;text-align:left}.page-gallery.list .missing-thumbnail{font-size:9px;padding:3px}.page-card{display:block;padding:6px;background:var(--panel);border:1px solid var(--line);overflow:hidden;border-radius:10px;min-width:0}.page-card.active{border-color:var(--blue);background:var(--selected)}.page-thumbnail{position:relative;background:var(--canvas);height:150px;display:grid;place-items:center;overflow:hidden;border-radius:5px}.page-thumbnail img{width:100%;height:100%;object-fit:contain}.page-card>span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:10px 4px}.page-card small{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;color:var(--text)}.page-selected{position:absolute;right:6px;top:6px;border-radius:50%;height:25px;width:25px;background:var(--blue);display:grid;place-items:center;color:var(--panel)}.missing-thumbnail{font-size:12px;color:var(--muted);padding:12px;text-align:center}.gallery-empty{grid-column:1/-1;padding:36px 16px;color:var(--muted);text-align:center;font-size:14px}.storage-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;margin-bottom:14px}.storage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px}.storage-stats>div{padding:14px 12px;border:1px solid var(--line);border-radius:9px;background:var(--raised);min-width:0}.storage-stats dt{font-size:12px;color:var(--muted)}.storage-stats dd{margin:7px 0 0;font-size:21px;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.storage-cache-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.storage-refresh{margin-right:auto}.storage-confirmation p+p{margin-top:14px}.storage-confirmation+.error-message{margin-top:18px}.storage-projects{margin-top:20px;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}.storage-projects>div{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px}.storage-projects span{flex:1;min-width:0}.storage-projects b{font-size:13px;font-weight:500;display:block;overflow-wrap:anywhere}.storage-projects small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.admin-main{max-width:1120px}.admin-users{display:flex;flex-direction:column;gap:10px}.admin-user{display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:16px}.admin-user-info{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;overflow-wrap:anywhere}.admin-user-info>span,.admin-user-info>small{font-size:13px;color:var(--muted)}.account-state{font-size:12px;color:var(--muted);white-space:nowrap}.account-state.paused{color:var(--warning)}.danger{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.danger:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.account-form{display:flex;flex-direction:column;gap:16px}.project-team{background:var(--panel);border-color:var(--line);color:var(--muted)}.project-members{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.project-member{display:flex;align-items:center;gap:12px}.project-member>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;overflow-wrap:anywhere}.project-member small{color:var(--muted)}.member-invite{display:flex;gap:10px;align-items:flex-end;margin-bottom:20px}.member-invite>label{flex:1}.member-invite input{min-width:0}.project-members+.muted{margin-top:18px}.members-input{margin-top:16px}@media(max-width:700px){.admin-header{flex-wrap:wrap;height:auto;gap:12px;padding:16px}.admin-header>.primary{width:100%}.admin-header>h2{flex:1}.admin-user{flex-wrap:wrap}.admin-user-info{flex-basis:65%}.admin-user>button{flex:1}.admin-main{padding:20px}}@media(min-width:1600px){.inspector-wrap{width:360px}.conflict-banner{right:360px}.project-grid{gap:26px}}@media(max-width:1200px){.editor-header{gap:8px;padding:0 12px}.editor-menus{margin-left:0}.editor-menus>button,.menu>summary{padding:10px}.project-name{max-width:180px}.inspector-wrap{width:320px}.conflict-banner{right:320px}}@media(max-width:960px){.dashboard-main{padding:40px 28px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-menus{display:none}.mobile-menu{display:block;margin-left:auto}.editor-header>.shortcut-help-button{margin-left:0}.mobile-menu .menu-popover{left:auto;right:0}.mobile-menu>summary{gap:7px;color:var(--text)}.save-button{margin-left:0}.project-name{max-width:250px;flex:1}.inspector-wrap{display:none}.inspector-wrap.mobile-open{display:block;position:absolute;right:0;top:0;bottom:0;width:340px;max-width:calc(100% - 64px);z-index:75;box-shadow:var(--shadow)}.inspector-dismiss{display:grid;place-items:center}.mobile-inspector{display:flex}.conflict-banner{right:12px}.account{gap:10px}.account>span:not(.avatar){display:none}}@media(max-width:600px){.dashboard-header{height:76px;padding:0 20px}.brand{gap:9px}.brand>span{font-size:21px}.brand-tag{font-size:11px;margin-left:7px}.dashboard-main{padding:32px 20px}.dashboard-heading{display:grid;grid-template-columns:1fr auto;gap:16px;margin-bottom:28px}.dashboard-heading>div{grid-column:1/-1}.dashboard-heading h1{font-size:32px}.dashboard-heading .primary{justify-self:start}.project-grid{grid-template-columns:1fr}.project-cover{height:190px}.account{gap:4px}.avatar{display:none}.editor-header{height:64px;gap:6px;padding:0 8px}.small-logo{display:none}.project-name{min-width:0;max-width:none}.project-name>span{font-size:12px}.mobile-menu>summary{font-size:13px;padding:9px 7px}.mobile-menu>summary>span{display:none}.save-button{width:40px;padding:0}.save-button>span{display:none}.editor-toolbar{height:56px;gap:8px;padding:0 8px}.filename{display:none}.toolbar-right{gap:0}.editor-toolbar .icon-button{width:32px;min-width:32px}.page-counter{min-width:64px;padding:8px 4px}.page-navigation{gap:0}.tool-rail{width:56px;padding:10px 6px;gap:14px}.tool-button.active:before{left:-7px}.tool-group.ai-tools{padding-top:14px}.value-bar{height:122px;padding:14px 12px}.value-heading{gap:8px;white-space:nowrap}.value-heading small{overflow:hidden;text-overflow:ellipsis}.editor-header{height:108px;flex-wrap:wrap;align-content:center}.editor-status{order:10;flex-basis:100%;max-width:none;height:35px;padding:5px 9px;font-size:11px;gap:8px}.editor-header>.editor-status{margin-left:0}.modal-content{padding:20px}.modal>header{padding:16px 20px}.api-connection,.model-columns{grid-template-columns:1fr}.model-list{min-height:0}.field-grid{gap:8px}.page-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-toolbar .search-field{flex-basis:100%}.conflict-banner{left:56px;top:120px;flex-direction:column;align-items:flex-start}}@media(max-width:360px){.editor-toolbar{height:96px;flex-wrap:wrap;align-content:center;gap:2px}.toolbar-right{flex-basis:100%;justify-content:flex-end}.editor-toolbar .icon-button{width:40px;min-width:40px}}.admin-header{justify-content:flex-start;gap:20px}.admin-header h2{font-size:20px;font-weight:500;margin:0}.admin-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.admin-tabs{width:max-content;margin-bottom:24px}.account-limits{margin:0;padding:16px 0 0;border:0;border-top:1px solid var(--line)}.account-limits legend{font-size:13px;padding-right:10px;color:var(--text)}.account-limits>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.account-limits input{min-width:0;width:100%;font-variant-numeric:tabular-nums}.admin-list-controls{display:flex;align-items:center;gap:12px;margin-bottom:20px}.admin-list-controls input{flex:1;min-width:0}.admin-list-controls .select-field{width:180px;flex:none}.statistics-sort{background:none;border:0;padding:0;color:var(--muted);font-size:12px;white-space:nowrap}.statistics-screenreader-table{position:absolute;display:block;width:1px;max-width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.rights-projects{display:flex;flex-direction:column;gap:12px}.rights-project{display:flex;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.rights-project>div:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere}.rights-project small{color:var(--muted);font-size:12px}.rights-project .select-field{width:180px;flex:none}.project-member .select-field{width:150px;flex:none}.member-invite .select-field{width:150px}.readonly-badge{font-size:11px;color:var(--muted);margin-left:12px;white-space:nowrap}.project-statistics{background:var(--panel);border-color:var(--line);color:var(--muted)}.statistics-controls{display:flex;align-items:center;gap:12px;margin-bottom:22px}.statistics-controls .select-field{min-width:130px}.statistics-controls .select-field:nth-child(2){min-width:180px;max-width:400px;flex:1}.statistics-controls>.icon-button{margin-left:auto}.statistics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.statistics-metrics>div{border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--raised)}.statistics-metrics strong{font-size:27px;font-weight:500;font-variant-numeric:tabular-nums}.statistics-metrics span{font-size:12px;color:var(--muted)}.statistics-loading{min-height:140px;display:grid;place-items:center}.statistics-empty{min-height:160px;display:grid;place-items:center;color:var(--muted);text-align:center}.statistics-chart{border:1px solid var(--line);border-radius:12px;padding:18px 10px;margin-bottom:22px;background:var(--panel)}.statistics-chart svg{display:block;width:100%;overflow:visible}.statistics-chart text{fill:var(--muted);font-size:11px}.chart-grid{stroke:var(--line);stroke-width:1}.chart-series polyline{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}.series-0{stroke:var(--accent);fill:var(--accent)}.series-1{stroke:#6aabff;fill:#6aabff}.chart-cursor{stroke:var(--muted);stroke-dasharray:4 4}.chart-legend{display:flex;gap:20px;justify-content:center;font-size:12px;color:var(--muted);flex-wrap:wrap}.chart-legend span{display:flex;align-items:center;gap:7px}.chart-legend i{width:9px;height:9px;border-radius:50%;background:var(--accent)}.chart-legend span:nth-child(2) i{background:#6aabff}.chart-detail{min-height:22px;font-size:12px;color:var(--muted);text-align:center}.statistics-table-wrap{overflow:auto;max-width:100%}.statistics-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;font-variant-numeric:tabular-nums}.statistics-table caption{text-align:left;padding:0 0 14px;font-weight:500}.statistics-table th,.statistics-table td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap;text-align:right}.statistics-table th:first-child{text-align:left;white-space:normal;overflow-wrap:anywhere}.statistics-table thead th{color:var(--muted);font-size:12px;font-weight:400}.statistics-table tbody th{font-weight:400}.statistics-user{background:none;border:0;padding:0;text-align:left;display:flex;flex-direction:column;gap:4px}.statistics-user small{color:var(--muted)}.statistics-stamp{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:11px}.forbidden-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.forbidden-screen h1{font-size:28px;font-weight:500}.forbidden-screen p{color:var(--muted)}.coco-dialog .form-section{margin-top:18px}.coco-dialog .field-title{margin-bottom:8px}.coco-dialog .field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px}.coco-dialog .check-label{min-height:32px;padding:5px 0;gap:8px;font-size:13px}.coco-dialog .dialog-actions{margin-top:18px}.coco-dialog .dialog-actions>.primary{width:100%;height:42px;min-height:42px;justify-content:center}.annotation-dropzone{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;width:100%;min-height:80px;margin-top:18px;border:1px dashed var(--line);border-radius:10px;text-align:center;color:var(--muted);font-size:13px;background:var(--input)}.annotation-dropzone:hover{border-color:var(--muted);background:var(--raised);color:var(--text)}.annotation-dropzone svg{flex:none;color:var(--muted)}.annotation-dropzone.dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--panel));color:var(--text)}.coco-class-preview{margin-top:16px;border:1px solid var(--line);border-radius:10px;padding:10px 14px}.coco-preview-heading{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:2px}.coco-class-choice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px 10px;padding:10px 0;border-top:1px solid var(--line)}.coco-class-choice>.check-label{grid-column:1/-1}.coco-class-choice.excluded{opacity:.55}.coco-class-choice .check-label{min-width:0}.coco-class-choice .check-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coco-class-choice input:not([type=checkbox]){min-width:0;width:100%;padding:10px}.coco-class-choice .select-trigger{padding:10px;font-size:12px}@media(max-width:550px){.coco-dialog .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annotation-dropzone{gap:10px;padding:14px}.coco-class-preview{padding:8px 10px}.coco-class-choice input:not([type=checkbox]),.coco-class-choice .select-trigger{font-size:12px;padding:9px}}@media(max-width:700px){.admin-header-actions{gap:6px}.admin-header h2{flex:0}.admin-header-actions .primary{font-size:12px}.statistics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-controls{flex-wrap:wrap}.statistics-controls .select-field:nth-child(2){min-width:140px}.rights-project{gap:12px}.rights-project .select-field{width:150px}.member-invite,.project-member{flex-wrap:wrap}.statistics-stamp{line-height:1.5}.readonly-badge{display:none}}.account-profile{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:5px;border-radius:10px;text-align:left;min-width:0}.account-profile:hover{background:var(--raised)}.account-profile .avatar{flex:none;overflow:hidden}.account-profile .avatar img{width:100%;height:100%;object-fit:cover}.avatar{flex:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.admin-user .avatar,.project-member .avatar,.rights-user .avatar{display:grid}.rights-user{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--muted)}.coco-simplification-warning{padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:13px;line-height:1.5;background:var(--raised)}.account-profile-name{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.account-tabs{margin-bottom:22px}.self-account-form .dialog-actions{margin-top:8px}.self-account-form .dialog-actions .primary{min-width:150px}.self-account-form textarea{resize:vertical;min-height:90px;max-height:220px}.account-avatar-panel{display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:6px}.account-avatar-preview{width:160px;height:160px;border-radius:50%;overflow:hidden;background:var(--raised);border:1px solid var(--line);display:grid;place-items:center}.account-avatar-preview img{width:100%;height:100%;object-fit:cover}.account-avatar-preview>span{font-size:48px;color:var(--muted)}.account-avatar-actions{display:flex;align-items:center;gap:12px}.account-avatar-limit{color:var(--muted);font-size:12px;margin-top:-10px}.account-avatar-panel .dialog-actions{width:100%;margin-top:8px}.account-avatar-panel .error-message{width:100%}.account-password-note{font-size:12px;color:var(--muted);line-height:1.6}@media(max-width:700px){.account-profile-name{display:none}.account-profile{padding:3px;gap:0}.account-profile .avatar{display:grid;width:34px;height:34px}.self-account-form .dialog-actions .primary{width:100%}}
