*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 210 10% 10%;--foreground: 60 5% 90%;--card: 210 9% 13%;--card-foreground: 60 5% 90%;--popover: 210 9% 13%;--popover-foreground: 60 5% 90%;--primary: 84 78% 71%;--primary-foreground: 90 20% 10%;--secondary: 210 8% 19%;--secondary-foreground: 60 5% 90%;--muted: 210 8% 19%;--muted-foreground: 210 5% 59%;--accent: 210 8% 23%;--accent-foreground: 60 5% 95%;--destructive: 0 70% 48%;--destructive-foreground: 0 0% 98%;--border: 210 7% 23%;--input: 210 7% 25%;--ring: 84 78% 71%;--radius: .65rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-px{height:1px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.max-w-lg{max-width:32rem}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-input{border-color:hsl(var(--input))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.overline{text-decoration-line:overline}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}*{box-sizing:border-box}body{margin:0;font:13px Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border-width:0!important}body{overflow-x:clip}.route-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f7f8fa;color:#344254;font-size:13px;letter-spacing:.04em}.route-loading.is-loading:before{content:"";width:18px;height:18px;border:2px solid #d7dde8;border-top-color:#2f6fe4;border-radius:50%;animation:route-spin .8s linear infinite}@keyframes route-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.route-loading.is-loading:before{animation:none}}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--canvas-selection);outline-offset:3px}.app{height:100dvh;position:relative;overflow:hidden}header{height:66px;position:relative;z-index:10;background:var(--canvas-panel);display:flex;align-items:center;padding:0 24px;gap:14px;border-bottom:1px solid hsl(var(--border))}.brand{display:flex;align-items:center;gap:10px}.brand img{width:32px;height:32px}.brand strong{font-size:18px;letter-spacing:-.6px}.brand span{color:#484c4d;margin-left:16px;font-size:24px}.board-title{gap:12px;font-size:13px}.mode{font-size:9px;letter-spacing:1.3px;color:#a5aa9f;display:flex;gap:7px;align-items:center;border:1px solid #373e31;padding:5px 8px;border-radius:4px}.mode i{background:var(--canvas-selection);width:5px;height:5px;border-radius:50%}.header-actions{margin-left:auto;display:flex;gap:10px}.header-actions button{gap:8px;height:34px}.canvas{position:absolute;top:66px;right:0;bottom:47px;left:0;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-image:radial-gradient(#ffffff12 .8px,transparent .8px)}.canvas.panning{cursor:grab}.world{position:absolute;transform-origin:0 0}.board-item{position:absolute;cursor:move}.board-item.shadow{box-shadow:0 8px 24px #0006}.picture{position:relative;overflow:hidden;width:100%;height:100%}.picture img{position:absolute;max-width:none;pointer-events:none}.note{height:100%;padding:16px;color:#292a25;font-size:16px;line-height:24px;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere}.locked{position:absolute;bottom:4px;right:4px;background:#1119;padding:2px 5px;font-size:10px}.selection{position:absolute;border:1px solid var(--canvas-selection);pointer-events:none}.handle{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:var(--canvas-selection);border:1px solid #202326;padding:0;cursor:nwse-resize}.handle.rotate{left:50%;border-radius:50%;cursor:grab}.marquee{position:absolute;background:#c6f07817;border:1px solid var(--canvas-selection);pointer-events:none}.empty{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;width:min(620px,75vw)}.empty-symbol{margin:0 auto 28px;border:1px solid #555e46;background:linear-gradient(145deg,#c6f0780e,#c6f07802);color:var(--canvas-selection);width:72px;height:72px;display:grid;place-items:center;border-radius:19px;font-size:39px;box-shadow:0 0 80px #c6f07806}.empty .eyebrow{font-size:10px;letter-spacing:3px;color:#a0aa91;margin-bottom:20px}.empty h1{font-size:35px;font-weight:500;letter-spacing:1px;margin:0 0 17px;color:hsl(var(--foreground))}.empty p{color:#929994;font-size:14px;margin-bottom:18px}.empty>span{color:#656d68;font-size:12px}.empty-keys{margin-top:46px;color:#747d78;font-size:11px;display:flex;gap:10px;align-items:center;justify-content:center}kbd{border:1px solid #454b45;border-radius:4px;padding:3px 7px;font-family:inherit;font-size:10px;color:#a9b2a7;box-shadow:0 2px #171b17}.toolbar{position:absolute;left:20px;top:94px;width:49px;border:1px solid hsl(var(--border));border-radius:12px;background:var(--canvas-panel);padding:6px;z-index:5;box-shadow:0 8px 22px #0003;display:flex;flex-direction:column;gap:4px}.tool{width:35px;height:36px;color:#a9b0ad;border-radius:7px}.toolbar>.tool:first-child{background:#c6f07816;color:var(--canvas-selection)}hr{height:1px;width:100%;border:0;background:#353a3a;margin:8px 0}.row{display:flex;align-items:center;gap:10px}.row>strong,.row>span:first-child{flex:1}footer{position:absolute;bottom:0;left:0;right:0;height:47px;z-index:10;background:var(--canvas-panel);border-top:1px solid hsl(var(--border));padding:0 18px;display:flex;align-items:center;justify-content:space-between;color:#8e9890;font-size:11px}footer .row{gap:12px}footer i{height:13px;width:1px;background:#3c4440}footer button{height:30px!important}.zoom{gap:5px!important}.zoom>button[aria-label=缩放比例]{min-width:44px;color:#dce4d8;font-variant-numeric:tabular-nums}.inspector{position:absolute;top:94px;right:20px;width:238px;background:var(--canvas-panel);border:1px solid hsl(var(--border));border-radius:12px;padding:14px;z-index:5;box-shadow:0 8px 22px #0003}.inspector strong{font-size:12px;font-weight:500}.dimensions{display:flex;gap:10px;margin:15px 0}.dimensions span{width:50%;border:1px solid #373e39;border-radius:5px;padding:8px;color:#a3aea1;font-size:11px}.inspector label{font-size:11px;color:#959f97;display:block}.inspector input[type=range]{width:100%;margin:12px 0;accent-color:var(--canvas-selection)}.small-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.small-actions button{font-size:11px;height:30px;padding:0 8px;color:hsl(var(--foreground))}.context{position:fixed;z-index:40;background:var(--canvas-panel);border:1px solid hsl(var(--border));padding:6px;border-radius:9px;min-width:190px;box-shadow:0 10px 30px #0006}.context button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:4px}.context button:hover{background:#c6f07817}.modal{max-width:560px;max-height:88dvh;overflow-y:auto;background:var(--canvas-panel);border-color:hsl(var(--border));padding:28px}.modal.wide{max-width:900px}.stack{display:flex;flex-direction:column;gap:17px;margin-top:10px}.stack h3{font-size:13px;font-weight:600;color:hsl(var(--foreground));margin-top:8px}.muted{color:#939e96;font-size:12px;line-height:1.8}.stack label{font-size:12px;color:hsl(var(--foreground))}.stack label:not(.row)>input:not([type=checkbox]),.stack label>select{display:block;width:100%;margin-top:8px}input:not([type=checkbox]):not([type=range]):not([type=color]),select,textarea{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));border-radius:6px;padding:9px 11px;min-width:0}textarea{min-height:80px;resize:vertical}input[type=checkbox]{accent-color:var(--canvas-selection);width:15px;height:15px}input[type=color]{height:38px;border:0}.row input:not([type=checkbox]){flex:1}.board-row{border-bottom:1px solid #323a34;padding-bottom:8px}.board-row>button:first-of-type{flex:1;justify-content:flex-start;overflow:hidden}.thumbnail{width:55px;height:42px;-o-object-fit:contain;object-fit:contain;background:#151918;border-radius:4px}.stats{display:flex;flex-wrap:wrap;gap:12px}.stats>div{border:1px solid #3b463a;border-radius:8px;padding:15px;flex:1}.stats strong{display:block;color:var(--canvas-selection);font-size:22px}.stats span{font-size:10px;white-space:nowrap;color:#949f96}.scroll{overflow-x:auto}table{width:100%;text-align:left;border-collapse:collapse}th{color:#98a891;font-size:11px}td,th{padding:9px;border-bottom:1px solid #333d32}td input{width:80px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;margin-top:20px}.help-grid>div{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#b2bcae}.help-grid kbd{align-self:flex-start}.error{color:#ffc18c}.immersive header,.immersive footer,.immersive .toolbar,.immersive .inspector{display:none}.immersive .canvas{top:0;right:0;bottom:0;left:0}.exit-immersive{position:absolute;bottom:20px;right:20px;opacity:.6;z-index:30}.exit-immersive:hover{opacity:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#111e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:60;display:flex;align-items:center;justify-content:center}.lightbox>button{position:absolute;top:25px;right:25px;z-index:2}.crop-preview{height:220px;background:#121615;padding:10px}@media(max-width:1000px){.mode{display:none}.inspector{width:210px;right:12px}header{padding:0 14px;gap:5px}.brand span{margin-left:4px}.board-title{max-width:180px;overflow:hidden}.empty h1{font-size:29px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.remote-cursor{position:absolute;pointer-events:none;z-index:9;transform-origin:0 0;display:flex;align-items:flex-start;gap:5px}.remote-cursor span{background:#16241ee8;color:inherit;padding:3px 6px;border-radius:4px;font-size:11px;white-space:nowrap}.remote-selection{position:absolute;pointer-events:none;border:1px dashed #84d4ef;z-index:1}.snapshot-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.snapshot-preview img{width:100%;height:90px;-o-object-fit:contain;object-fit:contain;background:#141917}.snapshot-preview div{padding:10px;background:#353d2d;font-size:11px;max-height:90px;overflow:hidden}.image-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#24282cc9;color:#c6d0be;font-size:12px;border:1px dashed #59654c;cursor:pointer;overflow:hidden}.material-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.material-tools input{flex:1}.material-tools>label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px}.material-tools>span{color:#9aa39c;font-size:12px;font-variant-numeric:tabular-nums}.material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-height:55vh;overflow:auto}.material-card{border:1px solid #41483d;border-radius:10px;padding:10px;min-width:0}.material-card .preview{position:relative;height:110px;overflow:hidden}.material-card input{width:100%;margin-top:6px}.material-card small{display:block;overflow:hidden;text-overflow:ellipsis}.material-card .picture{position:absolute;top:0;right:0;bottom:0;left:0}.material-card .picture img{-o-object-fit:contain;object-fit:contain}.material-card[data-selected=true]{border-color:var(--canvas-selection)}.material-card a{color:#bfe78a}.image-retry{position:absolute;bottom:0;left:0;right:0;border:0;background:#202326bb;color:#d2e5bc;font-size:11px;cursor:pointer;padding:4px}.material-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.material-card label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;margin-bottom:10px}.material-card input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--canvas-selection)}.material-card label:has(input[type=file]){margin-top:8px;border:1px solid #41483d;border-radius:7px;padding:7px;cursor:pointer;color:#c5d5b6;text-align:center}.material-card input[type=file]{display:none}:root{--canvas-default: #202326;--canvas-panel: #1c1f22;--canvas-selection: #a4c6ff;--canvas-grid: #ffffff18}[data-canvas-theme=dark]{color-scheme:dark;--primary: 216 100% 82%;--primary-foreground: 220 45% 13%;--ring: 216 100% 82%}[data-canvas-theme=light]{color-scheme:light;--background: 220 18% 98%;--foreground: 220 12% 15%;--card: 0 0% 100%;--card-foreground: 220 12% 15%;--popover: 0 0% 100%;--popover-foreground: 220 12% 15%;--primary: 216 94% 48%;--primary-foreground: 0 0% 100%;--secondary: 220 16% 93%;--secondary-foreground: 220 12% 15%;--muted: 220 16% 93%;--muted-foreground: 220 7% 40%;--accent: 215 32% 93%;--accent-foreground: 220 12% 15%;--border: 220 12% 82%;--input: 220 12% 82%;--ring: 216 94% 48%;--canvas-default: #e7e8ec;--canvas-panel: #ffffffed;--canvas-selection: #1268e7;--canvas-grid: #30374725}.canvas[data-grid=none]{background-image:none}.canvas[data-grid=dots]{background-image:radial-gradient(var(--canvas-grid) 1px,transparent 1px)}.canvas[data-grid=lines]{background-image:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px)}.world{will-change:transform}.canvas[data-readonly=true] .board-item{cursor:default}.note-editor{width:100%;height:100%;min-height:0;resize:none;padding:16px;border:0;border-radius:0;color:#292a25;font-size:16px;line-height:24px;outline:2px solid var(--canvas-selection);outline-offset:0;-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:text}textarea.note-editor{color:#292a25;background:#e7dfaf}.note-editor:focus-visible{outline-offset:0}[data-canvas-theme] .app{font-size:14px}[data-canvas-theme] .app button{transition-property:box-shadow,transform}[data-canvas-theme=light] .empty :is(p,span),[data-canvas-theme=light] :is(.tool,.inspector label,.muted,.dimensions span,footer,.small-actions button,.stack label,.help-grid>div){color:#536073}[data-canvas-theme=light] .empty h1{color:#212834}[data-canvas-theme=light] kbd{background:#f8fafc;border-color:#b8c2ce;box-shadow:0 2px #dce1e8;color:#536073}[data-canvas-theme=light] .zoom>button[aria-label=缩放比例]{color:#253449}.settings-section{border-top:1px solid hsl(var(--border));padding-top:16px;display:grid;gap:14px}.settings-section h3{margin:0;font-size:15px}.history-list{display:flex;flex-direction:column;gap:0;max-height:48vh;overflow:auto}.history-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid hsl(var(--border))}.history-row div{flex:1}.history-row strong{font-size:14px}.history-row small{display:block;margin-top:5px;color:hsl(var(--muted-foreground))}.history-dot{width:8px;height:8px;border-radius:50%;background:var(--canvas-selection)}.note-edit-hint{font-size:11px;color:hsl(var(--muted-foreground));line-height:1.7}.canvas-menu{min-width:220px}.canvas-submenu{min-width:230px;max-height:80vh;overflow-y:auto}.canvas-menu [role=menuitem],.canvas-submenu [role=menuitem]{padding:8px 12px;font-size:14px}.layer-row{display:flex;align-items:center;border-bottom:1px solid hsl(var(--border));gap:6px}.layer-row>button:first-child{display:flex;align-items:center;gap:12px;padding:12px 4px;min-width:0;flex:1;text-align:left}.layer-row>button:first-child>span:nth-child(2){flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.layer-row[data-selected=true]{background:hsl(var(--accent))}.crop-preview{height:244px;display:grid;place-items:center;overflow:hidden;background:hsl(var(--secondary))}.crop-surface{position:relative;width:100%;max-height:220px;overflow:hidden;touch-action:none;cursor:crosshair}.crop-surface>.picture{position:absolute;top:0;right:0;bottom:0;left:0}.crop-frame{position:absolute;border:2px solid #fff;box-shadow:0 0 0 1000px #0008;cursor:move}.crop-frame:before,.crop-frame:after{content:"";position:absolute;pointer-events:none;top:33.333%;right:0;bottom:33.333%;left:0;border-block:1px solid #fff5}.crop-frame:after{top:0;right:33.333%;bottom:0;left:33.333%;border:0;border-inline:1px solid #fff5}.crop-corner{position:absolute;width:14px;height:14px;background:#fff;border:1px solid #1118;padding:0;transform:translate(-50%,-50%);z-index:2}.crop-corner.nw{left:0;top:0;cursor:nwse-resize}.crop-corner.ne{left:100%;top:0;cursor:nesw-resize}.crop-corner.se{left:100%;top:100%;cursor:nwse-resize}.crop-corner.sw{left:0;top:100%;cursor:nesw-resize}.lightbox-navigation{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:24px;z-index:3;color:#d8dee9;font-size:13px}.tool{display:inline-flex!important;align-items:center;justify-content:center}.tool svg{display:block}.zoom>button[aria-label=缩放比例]{display:inline-flex;align-items:center;justify-content:center;line-height:1}header button svg,footer button svg{display:block;flex:none}.stack label:not(.row)>input[type=number]{width:140px}.stack label>input[type=color],.inspector input[type=color]{width:56px;height:30px;padding:2px;border-radius:6px;cursor:pointer}.stack label>input[type=number],.stack label>select{height:36px}.stack h3{margin:6px 0 0;padding-top:14px;border-top:1px solid hsl(var(--border));font-size:14px;letter-spacing:.01em}.stack h3:first-child{border-top:0;padding-top:0;margin-top:0}.modal{animation:canvas-dialog-in .18s cubic-bezier(.22,.85,.3,1) both}@keyframes canvas-dialog-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}}.tool{transition:background-color .12s ease-out,color .12s ease-out,transform .12s cubic-bezier(.34,1.28,.5,1)}.tool:not(:disabled):active{transform:scale(.92)}@media(prefers-reduced-motion:reduce){.modal{animation:none}.tool{transition:none}}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}@media(min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.portal-light{--background: 220 16% 97%;--foreground: 220 12% 15%;--card: 0 0% 100%;--card-foreground: 220 12% 15%;--popover: 0 0% 100%;--popover-foreground: 220 12% 15%;--primary: 211 100% 45%;--primary-foreground: 0 0% 100%;--secondary: 220 18% 94%;--secondary-foreground: 220 12% 15%;--muted: 220 18% 94%;--muted-foreground: 220 7% 42%;--accent: 216 55% 94%;--accent-foreground: 216 70% 32%;--border: 220 16% 85%;--input: 220 16% 78%;--ring: 211 100% 45%;color:#232831;background:#f5f6f8;--radius: .5rem;font:14px/1.6 Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.portal-light :is(h1,h2,h3,p){margin:0}.portal-light a{text-decoration:none;color:inherit}.portal-light a.bg-primary{color:hsl(var(--primary-foreground))}.portal-light :is(button,a):focus-visible{outline:2px solid hsl(var(--ring));outline-offset:4px}.portal-light .wordmark{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:650;letter-spacing:-1px;white-space:nowrap}.portal-light .wordmark img{width:32px;height:32px;border-radius:7px}.portal-light .wordmark sup{align-self:flex-start;font-size:10px;margin-left:-4px}.portal-light .eyebrow{font-size:10px;letter-spacing:2px;color:#667385;line-height:1.7;margin-bottom:12px}.portal-light .description{font-size:14px;color:#667385;line-height:1.9;margin:12px 0 22px}.portal-light :is(input:not([type=checkbox]):not([type=range]):not([type=color]):not(.bare-input),select,textarea){background:#fff;color:#344254;border:1px solid #dfe4ed;border-radius:6px;padding:10px 12px;font:inherit;min-width:0;max-width:100%;width:100%}.portal-light :is(input,select,textarea):focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.portal-light :is(input,textarea)::-moz-placeholder{color:#667385}.portal-light :is(input,textarea)::placeholder{color:#667385}.portal-light input:disabled{background:#f5f6f8;color:#667385}.portal-light button{box-shadow:none}.portal-form{display:flex;flex-direction:column;gap:10px}.portal-form>label{font-size:13px;color:#344254;margin-top:12px}.portal-form>label:first-child{margin-top:3px}.portal-form>small{font-size:12px;color:#667385;line-height:1.8}.portal-form>button{align-self:flex-start;margin-top:14px}.form-error,.portal-light .form-error{padding:13px 16px;margin:0 0 18px;background:#fff0e7;border:1px solid #eac8b3;border-radius:6px;color:#904626;font-size:13px;overflow-wrap:anywhere}.portal-notice,.portal-light .portal-notice{padding:13px 16px;margin:0 0 18px;background:#edf5e3;border:1px solid #d2e3bc;color:#42602b;border-radius:6px}.portal{min-height:100dvh}.portal-sidebar{width:228px;background:#f5f6f8;border-right:1px solid #dfe4ed;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:32px 20px 22px;z-index:30;overflow:auto}.portal-sidebar>.wordmark{margin:0 8px 35px}.sidebar-caption{font-size:10px;letter-spacing:1.5px;color:#667385;padding:0 12px 15px}.portal-sidebar nav{display:flex;flex-direction:column;gap:6px}.portal-sidebar nav a,.sidebar-secondary a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:7px;font-size:14px;color:#667385;transition:background .15s,color .15s}.portal-sidebar nav a:hover,.sidebar-secondary a:hover{background:#dfe4ed}.portal-sidebar nav a.active{background:hsl(var(--accent));color:hsl(var(--accent-foreground));font-weight:550}.sidebar-secondary{margin-top:26px;padding-top:18px;border-top:1px solid #dfe4ed}.sidebar-secondary a{font-size:13px}.sidebar-note{margin-top:auto;padding:54px 14px 30px;color:#667385}.sidebar-note>span{font:48px Georgia;color:#7f8d9f}.sidebar-note p{font-size:14px;line-height:2;margin-top:8px}.sidebar-note small{display:block;font-size:8px;letter-spacing:1px;margin-top:18px}.sidebar-account{padding-top:20px;border-top:1px solid #dfe4ed;display:flex;gap:10px;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#dfe4ed;color:#667385;flex-shrink:0}.sidebar-account>div{min-width:0;flex:1}.sidebar-account strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;font-weight:450;white-space:nowrap}.sidebar-account small{display:block;font-size:10px;color:#667385;margin-top:3px}.sidebar-account>button{color:#667385;background:transparent;border:0;padding:8px}.portal-body{margin-left:228px;width:calc(100% - 228px);min-width:0;min-height:100dvh;display:flex;flex-direction:column}.portal-header{height:78px;min-height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 42px;background:#fff;border-bottom:1px solid #dfe4ed;z-index:20}.portal-breadcrumb{display:flex;gap:16px;align-items:center;font-size:12px;color:#667385}.portal-breadcrumb strong{font-weight:500;color:#344254}.portal-status{display:flex;gap:8px;align-items:center;font-size:11px;color:#5e774a}.portal-status i{width:6px;height:6px;border-radius:50%;background:#84a369}.portal-status[data-state=error]{color:#a3452f}.portal-status[data-state=error] i{background:#c25a3c}.portal-status[data-state=offline]{color:#8a7a3a}.portal-status[data-state=offline] i{background:#c9a83c}.portal-main{padding:36px 42px;flex:1;max-width:1660px;width:100%;min-width:0;margin:auto}.portal-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.portal-heading h1{font-size:32px;font-weight:500;letter-spacing:-1px;line-height:1.5}.portal-heading-actions{display:flex;gap:10px;align-items:center}.portal-heading-actions button{font-size:13px;height:38px;border-radius:5px;padding:0 15px}.portal-footnote{display:flex;justify-content:space-between;margin:20px 42px;padding-top:18px;border-top:1px solid #dfe4ed;font-size:10px;color:#667385;letter-spacing:1px}.portal-menu{display:none}.portal-card{padding:28px;background:#fff;border:1px solid #dfe4ed;border-radius:9px;min-width:0}.portal-card h2{font-size:22px;font-weight:500;line-height:1.5}.portal-card h3{font-size:16px;font-weight:500;margin-top:10px}.portal-card h4{font-size:14px;font-weight:500}.portal-card+.portal-card{margin-top:24px}.portal-card .stack{gap:16px;margin-top:22px}.portal-card .stack label{display:flex;flex-direction:column;gap:8px;font-size:13px}.portal-card .stack>.row{display:flex;flex-wrap:wrap;gap:12px}.portal-card .stack .muted{color:#667385;font-size:13px}.portal-card .stack hr{width:100%;border-color:#dfe4ed}.portal-card .stack .row>span{flex:1;min-width:120px;overflow-wrap:anywhere}.portal-card .stack select{max-width:100%}.portal-card .stack details{font-size:12px;overflow-wrap:anywhere}.portal-card .stack summary{cursor:pointer}.portal-card .stack button{align-self:flex-start;max-width:100%}.workspace-welcome{border:1px solid #dfe4ed;border-radius:9px;background:linear-gradient(100deg,#f5f6f8,#f5f6f8);display:flex;justify-content:space-between;align-items:center;padding:22px 26px;margin-bottom:30px}.workspace-welcome p{font-size:18px;font-weight:450;margin-bottom:5px}.workspace-welcome div>span{font-size:13px;color:#667385}.welcome-glyph{font:64px/1 Georgia;color:#b7c3d3}.board-filter{display:flex;align-items:center;gap:14px;margin-bottom:24px}.segmented{display:flex;gap:3px;padding:4px;background:#f5f6f8;border:1px solid #dfe4ed;border-radius:7px}.segmented>button{display:flex;align-items:center;gap:9px;padding:8px 12px;background:transparent;color:#667385;border:0;border-radius:4px;font-size:12px;white-space:nowrap}.segmented>button[aria-pressed=true]{background:#fff;color:#344254;box-shadow:0 1px 5px #34425413}.segmented span{font-size:10px;color:#667385}.portal-search{display:flex;align-items:center;gap:10px;border:1px solid #dfe4ed;background:#fff;border-radius:6px;padding:0 12px;margin-left:auto;color:#667385;min-width:0}.portal-light .portal-search input{border:0;background:transparent;min-width:0;outline:none;padding:9px 0;width:190px;font-size:13px}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:24px}.board-card{border:1px solid #dfe4ed;border-radius:9px;background:#fff;overflow:hidden;min-width:0;transition:border-color .2s}.board-card:hover{border-color:#7f8d9f}.board-open{display:block;position:relative;padding:0;border:0;width:100%;background:#f5f6f8}.board-open:disabled{opacity:.7}.board-cover{aspect-ratio:1.5;overflow:hidden;display:grid;place-items:center;width:100%;background:#f5f6f8}.board-cover>img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.board-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:radial-gradient(#b7c3d344 .7px,transparent .7px);background-size:14px 14px}.board-placeholder>span{font:italic 64px Georgia;color:#7f8d9f}.board-placeholder>small{font-size:8px;letter-spacing:2px;color:#667385}.board-location{display:flex;align-items:center;gap:6px;position:absolute;top:12px;left:12px;padding:3px 7px;background:#ffffffed;border:1px solid #dfe4ed;border-radius:4px;color:#667385;font-size:10px}.board-card-info{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px}.board-card-info>div{min-width:0;flex:1}.board-card-info h2{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-card-info p{font-size:11px;color:#667385;margin-top:5px}.board-card-info button{color:#667385;flex-shrink:0}.new-board-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:240px;border:1px dashed #b7c3d3;border-radius:9px;background:#f5f6f8;color:#667385;font-size:13px}.new-board-tile:hover{background:#f5f6f8}.portal-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;min-height:280px;border:1px dashed #dfe4ed;border-radius:9px;padding:36px 20px;text-align:center;color:#667385}.portal-empty h2{font-size:21px;font-weight:400;color:#344254}.portal-empty p{font-size:13px}.workspace-storage-note{margin-top:24px!important;font-size:12px;color:#667385}.portal-dialog{max-width:480px;width:calc(100% - 32px);max-height:90dvh;overflow-y:auto}.portal-light.portal-dialog{padding:28px;gap:18px;border-color:#b7c3d3}.portal-dialog .portal-form{margin-top:0}.account-columns{display:grid;grid-template-columns:1fr 1.15fr;align-items:start;gap:24px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:26px}.metric-card{border:1px solid #dfe4ed;background:#fff;border-radius:9px;padding:24px}.metric-card>div{display:flex;justify-content:space-between;align-items:center;color:#667385;font-size:13px}.metric-card>strong{font-size:34px;font-weight:500;letter-spacing:-1px;display:block;margin:20px 0 8px;line-height:1.3}.metric-card>p{color:#667385;font-size:11px}.admin-overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.admin-overview-grid>.portal-card{margin-top:0}.settings-list{margin:20px 0 26px}.settings-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:15px 0;border-bottom:1px solid #dfe4ed;font-size:13px}.settings-list dt{color:#667385;flex-shrink:0}.settings-list dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}.portal-card.license-summary{background:#f5f6f8;padding:28px;min-height:380px;display:flex;flex-direction:column;align-items:flex-start}.license-summary>svg{margin:36px 0 24px;color:#667385}.license-summary button,.license-summary>a{margin-top:auto}.admin-user-search{display:flex;gap:12px;align-items:center;margin-bottom:24px}.admin-user-search>.portal-search{margin-left:0}.admin-user-search>span{margin-left:auto;font-size:11px;color:#667385}.portal-table-scroll{overflow:auto;max-width:100%}.portal-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;white-space:nowrap}.portal-table th{background:#f5f6f8;padding:13px 15px;color:#667385;font-size:12px;font-weight:500}.portal-table td{padding:18px 15px;border-bottom:1px solid #dfe4ed}.portal-table td strong{font-weight:500;display:block}.portal-table td small{color:#667385;display:block;margin-top:3px;font-size:10px}.table-actions{display:flex;align-items:center;gap:2px}.table-actions button{font-size:12px;padding:5px 9px}.state-badge{font-size:11px;padding:4px 9px;border-radius:5px}.state-badge.active{background:#e5f0d9;color:#47692f}.state-badge.inactive{background:#eee6e0;color:#855c3e}.settings-card{max-width:760px}.switch-row{display:flex;flex-direction:row;justify-content:space-between;gap:20px;align-items:center;padding:20px;border:1px solid #dfe4ed;background:#f5f6f8;border-radius:6px;margin-bottom:20px}.switch-row strong{display:block;font-size:14px;font-weight:500}.switch-row small{display:block;color:#667385;font-size:12px;margin-top:8px}.switch-row input[type=checkbox]{width:18px;height:18px;accent-color:hsl(var(--primary));flex-shrink:0}.login-page{display:grid;grid-template-columns:46% 54%;min-height:100dvh}.login-art{padding:44px 9%;background:#f5f6f8;display:flex;flex-direction:column;overflow:hidden;position:relative;min-height:800px}.login-art>.eyebrow{margin-top:72px}.login-art h1{font-size:clamp(32px,3.3vw,48px);font-weight:400;line-height:1.65;letter-spacing:-1px}.login-collage{position:relative;height:480px;flex:1;min-height:360px;margin:28px 0 24px}.login-collage img{position:absolute;box-shadow:0 12px 24px #34425412}.login-collage img:first-child{width:58%;height:90%;-o-object-fit:cover;object-fit:cover;left:2%;top:5%;transform:rotate(-8deg)}.login-collage img:nth-child(2){width:43%;height:65%;-o-object-fit:cover;object-fit:cover;right:-3%;bottom:0;transform:rotate(8deg)}.login-collage>span{position:absolute;right:0;top:0;font:30px/1.25 Georgia;color:#667385}.login-collage em{font-size:25px}.login-art>small{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#667385;margin-top:30px}.login-form-side{display:flex;flex-direction:column;padding:44px 11%;min-height:100dvh}.back-link{display:flex;align-items:center;gap:9px;font-size:13px;color:#667385!important}.login-form-wrap{margin:auto 0;padding:70px 0 50px}.login-form-wrap h2{font-size:30px;font-weight:450;letter-spacing:-1px;line-height:1.7}.login-form-wrap>.description{margin:12px 0 28px}.login-form-wrap .portal-form{margin-top:24px}.login-form-wrap .segmented{margin-top:22px;width:100%}.login-form-wrap .segmented>button{flex:1;justify-content:center}.password-field{position:relative}.portal-light .password-field>input{width:100%;padding-right:46px}.password-field>button{position:absolute;top:0;bottom:0;right:0;width:44px;border:0;background:transparent;color:#667385;display:grid;place-items:center}.portal-light .login-submit{align-self:stretch;height:46px;font-size:14px;display:flex;justify-content:space-between;padding:0 17px;gap:12px}.login-help{font-size:13px;color:#667385;margin-top:28px}.login-help summary{cursor:pointer}.login-help p{font-size:12px;line-height:1.9;margin-top:12px}.login-note{margin-top:32px!important;border-top:1px solid #dfe4ed;padding-top:22px;color:#667385;font-size:12px;line-height:2}.login-bottom{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#667385;letter-spacing:.8px}.spin{animation:portal-spin 1s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}.route-message{min-height:100dvh;padding:40px}.route-message>div{max-width:600px;margin:14vh auto}.route-message h1{font-size:32px;font-weight:450}.route-message>div>p:not(.eyebrow){margin:18px 0 28px;color:#667385}.route-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:1150px){.portal-main{padding:30px}.portal-header{padding:0 30px}.portal-footnote{margin:20px 30px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-grid,.account-columns{grid-template-columns:1fr}.board-filter{flex-wrap:wrap}.portal-search{flex:1}.portal-light .portal-search input{width:100%}.login-form-side,.login-art{padding:40px 8%}.login-collage>span{font-size:24px}.login-collage em{font-size:21px}}@media(max-width:760px){.portal-sidebar{top:70px;height:calc(100dvh - 70px);transform:translate(-100%);width:248px;box-shadow:10px 0 40px #34425416;padding-top:24px}.portal-sidebar.is-open{transform:translate(0)}.portal-sidebar>.wordmark{margin-bottom:25px}.sidebar-note{padding-top:25px}.portal-body{margin-left:0;width:100%}.portal-header{position:sticky;top:0;height:70px;min-height:70px;padding:0 20px;z-index:40}.portal-menu{display:inline-flex}.portal-breadcrumb{gap:10px;font-size:12px}.portal-status{font-size:10px}.portal-main{padding:28px 20px}.portal-heading{align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}.portal-heading h1{font-size:28px}.portal-heading-actions{width:100%}.portal-heading-actions button{flex:1}.portal-footnote{margin:20px;font-size:9px}.workspace-welcome{padding:20px}.workspace-welcome p{font-size:16px}.workspace-welcome div>span{font-size:12px;display:block;max-width:230px}.welcome-glyph{font-size:40px;margin-left:10px}.board-filter{gap:12px}.board-filter>.segmented{width:100%;justify-content:space-between}.segmented>button{padding:8px 10px;font-size:12px}.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.board-card-info{padding:12px}.board-card-info h2{font-size:13px}.new-board-tile{min-height:210px}.portal-card{padding:22px}.portal-card h2{font-size:21px}.admin-metrics{gap:14px}.metric-card{padding:19px}.metric-card>strong{font-size:28px}.metric-card>p{font-size:10px}.admin-user-search{flex-wrap:wrap}.admin-user-search>span{width:100%;margin:0}.portal-table{min-width:680px}.settings-list>div{gap:16px}.login-page{display:block}.login-art{min-height:0;padding:28px 26px 30px}.login-art>.eyebrow{margin-top:32px}.login-art h1{font-size:32px;line-height:1.55}.login-collage{position:absolute;right:15px;bottom:10px;width:160px;height:170px;min-height:0;margin:0;opacity:.3;pointer-events:none}.login-collage>span{display:none}.login-art>small{display:none}.login-form-side{padding:26px;min-height:0}.login-form-wrap{padding:45px 0}.login-form-wrap h2{font-size:28px}.login-form-wrap .portal-form input{font-size:16px}.login-bottom{padding-top:20px;padding-bottom:14px}.route-message{padding:26px}.route-message h1{font-size:27px}}@media(max-width:460px){.board-grid{grid-template-columns:1fr}.new-board-tile{min-height:170px}.portal-breadcrumb{gap:8px}.portal-status{max-width:105px;text-align:right}.portal-card{padding:20px}.portal-light .eyebrow{letter-spacing:1.6px}.account-columns{gap:18px}.table-actions{gap:0}.switch-row{padding:16px}.portal-card .stack .row button{font-size:12px}}@media(prefers-reduced-motion:reduce){.portal-light *{animation:none!important;transition:none!important}}.board-organization-filters{display:flex;gap:20px;align-items:center;margin:-8px 0 24px;color:#606770}.board-organization-filters label{white-space:nowrap;display:flex;gap:10px;align-items:center}.portal-light .portal-main .board-organization-filters select{width:auto;min-width:130px}.board-organization-filters>span{margin-left:auto}.board-tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.board-tags span,.board-tags button{font-size:12px;border-radius:4px;padding:3px 6px;background:#eaf0fa;color:#41506e}.board-permission{color:#666c76;font-size:12px}@media(max-width:600px){.board-organization-filters{flex-wrap:wrap;gap:10px}.board-organization-filters>span{margin-left:0}}.portal-light :is(button,a,input,select,textarea):focus-visible{outline-color:#0071e3}.chart-label{font-size:9px;fill:var(--ink-soft, #5a6063)}.chart-hint{font-size:11px;color:var(--ink-soft, #5a6063);margin:4px 0 0}.portal-shell button,.portal-main button,.admin-main button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.portal-shell button svg,.portal-main button svg,.admin-main button svg{display:block;flex:none}.portal-main .danger-soft{color:#b3261e;border-color:#e3c0bc;background:#fff}.portal-main .danger-soft:hover:not(:disabled){background:#fdf1ef;color:#8f1d17}.portal-light .portal-search,.portal-light .portal-search:focus-within{height:40px;border-radius:8px}.portal-light .portal-main input.bare-input,.portal-light .portal-main input.bare-input:focus,.portal-light .portal-main input.bare-input:focus-visible{border:0;border-radius:0;box-shadow:none;outline:none;background:transparent;height:auto;padding:0;font-size:13px;width:100%}.portal-search svg{color:#8a94a6;flex:none}.portal-search:focus-within{border-color:#9db6e8;box-shadow:0 0 0 3px #106bdf1f}.board-organization-filters{gap:24px}.board-organization-filters label{gap:8px;font-size:13px;color:#7a8494}.portal-light .board-organization-filters select{height:36px;padding:0 10px;border-radius:8px;font-size:13px;color:#2a3546}.board-organization-filters>span:last-child{color:#7a8494;font-size:12px;font-variant-numeric:tabular-nums}.portal-card .stack>label.form-field{display:block;font-size:13px;color:#4a5568;max-width:560px}.portal-main .portal-card .stack>label.form-field>select,.portal-main .portal-card .stack>label.form-field>input{width:100%;margin-top:8px;height:38px;border-radius:8px}.portal-card .form-row{display:flex;gap:12px;align-items:center;max-width:560px;margin-top:8px}.portal-main .portal-card .form-row>input{flex:1;min-width:0;height:38px;border-radius:8px}.portal-card .form-row>button{flex:none;height:38px}.portal-card .stack>label{max-width:560px}:root{--motion-fast: .13s;--motion-base: .2s;--ease-out: cubic-bezier(.22, .85, .3, 1);--ease-spring: cubic-bezier(.34, 1.28, .5, 1)}button,.portal-main button,.portal-side button,.portal-light button{transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-base) var(--ease-out),opacity var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-spring)}button:not(:disabled):active{transform:scale(.97)}.portal-main button:not(:disabled):hover{box-shadow:0 2px 10px #1c2a4414}.portal-side a,.portal-side button,.sidebar a{transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.portal-side a:hover,.sidebar a:hover{transform:translate(2px)}.board-card,.metric-card,.portal-card{transition:transform var(--motion-base) var(--ease-out),box-shadow var(--motion-base) var(--ease-out),border-color var(--motion-base) var(--ease-out)}.board-card:hover,.metric-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #1c2a441a}.segmented button{transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-spring)}.segmented button:not(:disabled):active{transform:scale(.96)}.portal-main input,.portal-main select,.portal-main textarea{transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.portal-main input:focus,.portal-main select:focus,.portal-main textarea:focus{outline:none;border-color:#9db6e8;box-shadow:0 0 0 3px #106bdf1f}.portal-main tbody tr{transition:background-color var(--motion-fast) var(--ease-out)}.portal-main tbody tr:hover{background:#f7f9fc}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}.portal-main>*,.portal-card{animation:rise-in var(--motion-base) var(--ease-out) both}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.portal-notice,.form-error,.toast{animation:toast-in var(--motion-base) var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.portal-light .portal-main select:not([multiple]):not([size]):not([disabled]),.portal-light .portal-side select:not([multiple]):not([size]):not([disabled]),.portal-light .login-page select:not([multiple]):not([size]):not([disabled]){-moz-appearance:none;appearance:none;-webkit-appearance:none;height:38px;padding:0 34px 0 12px;border-radius:8px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667385' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px;cursor:pointer}.portal-light .portal-main .board-organization-filters select:not([multiple]):not([size]):not([disabled]){height:36px}.account-page{display:grid;gap:24px;max-width:1040px}.profile-card{display:flex;align-items:center;gap:22px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#7fa2e8,#4f7fe0);color:#fff;font-weight:600;font-size:14px;overflow:hidden;flex:none}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-lg{width:72px;height:72px;font-size:26px;box-shadow:0 4px 14px #1c2a4424}.profile-main{flex:1;min-width:0}.profile-main h2{margin:6px 0 4px}.profile-main .description{margin:0 0 12px;display:flex;align-items:center;gap:8px}.name-field{max-width:420px}.name-label{display:block;font-size:12px;color:#7a8494;margin-bottom:6px}.name-row{display:flex;gap:10px;align-items:center}.name-input{flex:1;min-width:0;height:40px;padding:0 14px!important;border:1px solid #d9dfe9!important;border-radius:10px!important;background:#fbfcfe!important;color:#22303f!important;font-size:14px!important;transition:border-color .13s cubic-bezier(.22,.85,.3,1),box-shadow .13s cubic-bezier(.22,.85,.3,1),background-color .13s cubic-bezier(.22,.85,.3,1)}.name-input::-moz-placeholder{color:#a8b1c0}.name-input::placeholder{color:#a8b1c0}.name-input:hover{border-color:#c3cddd!important}.name-input:focus{background:#fff!important;border-color:#7ba4ee!important;box-shadow:0 0 0 4px #106bdf1f!important;outline:none!important}.avatar-editor{max-width:400px}.avatar-stage{position:relative;width:320px;height:320px;margin:0 auto;overflow:hidden;border-radius:14px;background:repeating-conic-gradient(#eef1f6,#eef1f6 25%,#f8fafc 0%,#f8fafc 50%) 50% / 20px 20px;box-shadow:inset 0 0 0 1px #e2e7f0;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-stage:active{cursor:grabbing}.avatar-stage img{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;transform-origin:center;-webkit-user-drag:none}.avatar-stage-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;box-shadow:0 0 0 9999px #17202e73,inset 0 0 0 1px #ffffff8c}.avatar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.avatar-toolbar [aria-pressed=true]{border-color:#2f6fe4;background:#eef3fd;color:#1d4ed8}.avatar-zoom{display:inline-flex;align-items:center;gap:4px}.avatar-reset{margin-left:auto}.avatar-zoom em{min-width:46px;font-style:normal;font-size:12px;text-align:center;color:#5b6675}.avatar-editor-control{display:block;font-size:12px;color:#7a8494}.avatar-editor-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.avatar-hint{font-size:11px;color:#98a2b3}.avatar-editor-control input[type=range]{width:100%;margin-top:6px;accent-color:#2f6fe4}.workspace-split{display:grid;grid-template-columns:236px minmax(0,1fr);gap:24px;align-items:start}.workspace-rail{position:sticky;top:24px;display:grid;gap:22px;padding:20px;background:#fff;border:1px solid #dfe4ed;border-radius:9px;max-height:calc(100dvh - 160px);overflow:auto}.workspace-rail .rail-block{display:grid;gap:2px}.workspace-rail .eyebrow{margin-bottom:8px}.rail-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#46536b;font-size:13px;text-align:left;cursor:pointer}.rail-item:hover{background:#f1f4f9}.rail-item[aria-pressed=true]{background:hsl(var(--accent));color:hsl(var(--accent-foreground));font-weight:550}.rail-item>span:last-child{font-size:11px;color:#8a94a6;font-variant-numeric:tabular-nums}.rail-name{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-folder{position:relative;display:flex;align-items:center}.rail-folder .rail-item{padding-right:56px}.rail-folder-actions{position:absolute;right:5px;display:flex;gap:2px;opacity:0;transition:opacity var(--motion-fast) var(--ease-out)}.rail-folder:hover .rail-folder-actions,.rail-folder:focus-within .rail-folder-actions{opacity:1}.rail-folder-actions button{padding:2px 5px;border:0;border-radius:5px;background:transparent;color:#8a94a6;font-size:12px;cursor:pointer}.rail-folder-actions button:hover{background:#e7ecf5;color:#46536b}.rail-rename{width:100%}.rail-new{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:8px}.rail-new button{padding:0}.rail-empty,.materials-budget{font-size:11px;line-height:1.8;color:#8a94a6}.materials-budget{margin:0}.workspace-col{display:grid;gap:16px;min-width:0}.materials-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.materials-toolbar .portal-search{margin-left:0;width:min(320px,100%)}.materials-toolbar .portal-search input{width:100%}.materials-check{display:flex;align-items:center;gap:7px;font-size:13px;color:#46536b}.materials-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:#667385}.materials-bar strong{font-size:15px;font-weight:550;color:#232831}.materials-bulk{display:flex;align-items:center;gap:8px;margin-left:auto}.materials-empty{background:#fff;border:1px dashed #dfe4ed;border-radius:9px}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.material-tile{display:grid;gap:8px;padding:12px;min-width:0;background:#fff;border:1px solid #dfe4ed;border-radius:10px;transition:transform var(--motion-base) var(--ease-out),box-shadow var(--motion-base) var(--ease-out),border-color var(--motion-base) var(--ease-out)}.material-tile:hover{transform:translateY(-2px);box-shadow:0 10px 26px #1c2a441a}.material-tile:focus-within{border-color:#9db6e8}.material-tile-pick{display:flex;align-items:center;gap:7px;font-size:11px;color:#8a94a6}.material-tile-thumb{position:relative;display:grid;place-items:center;height:140px;border-radius:7px;overflow:hidden;background:#f1f4f9}.material-tile-thumb img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.material-tile-thumb p{margin:0;padding:10px;font-size:12px;color:#46536b;overflow:hidden}.thumb-wait{width:100%;height:100%;background:repeating-linear-gradient(45deg,#f1f4f9 0,#f1f4f9 8px,#e9eef6 8px,#e9eef6 16px)}.portal-light .portal-main .material-tile :is(input:not([type=checkbox]):not([type=range]):not([type=color]):not(.bare-input),select){height:34px;padding:0 10px;font-size:12.5px}.material-tile-foot{display:flex;align-items:center;gap:8px}.material-tile-foot select{flex:1;min-width:0}.material-tile-open{display:inline-flex;align-items:center;gap:5px;max-width:50%;height:34px;padding:0 9px;border:1px solid #dfe4ed;border-radius:8px;background:#fff;color:#46536b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.material-tile-open:hover{border-color:#9db6e8;color:#1d4ed8}.material-tile-actions{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8a94a6}.material-tile-actions button{padding:4px 6px;border:0;border-radius:6px;background:transparent;color:#667385;font-size:12px;cursor:pointer}.material-tile-actions button:hover{background:#f1f4f9}.material-tile-actions button[aria-pressed=true]{color:#b8860b}@media(max-width:900px){.workspace-split{grid-template-columns:1fr}.workspace-rail{position:static;max-height:none}}.profile-avatar-actions{display:grid;gap:8px;justify-items:stretch;flex:none}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}@media(max-width:900px){.account-grid{grid-template-columns:1fr}}.account-grid .portal-card{display:grid;gap:10px;align-content:start;animation:none}.account-grid .portal-card .description{margin:0 0 6px}.usage-bar{height:6px;border-radius:3px;background:#e8ecf3;overflow:hidden;margin:4px 0 12px}.usage-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#5b8def,#16b364);transition:width .4s cubic-bezier(.22,.85,.3,1)}.token-row{justify-content:space-between}@media(max-width:760px){.profile-card{flex-wrap:wrap}.profile-avatar-actions{width:100%;grid-auto-flow:column}.account-grid{grid-template-columns:1fr}}.toaster{position:fixed;top:max(18px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:9000;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 28px));pointer-events:none}.toast-item{pointer-events:auto;cursor:pointer;max-width:100%;border:1px solid transparent;border-radius:10px;padding:11px 18px;font-size:13.5px;font-weight:500;line-height:1.55;text-align:center;text-wrap:pretty;box-shadow:0 12px 32px -14px #1018284d,0 2px 8px #10182812;animation:toast-in .22s cubic-bezier(.34,1.28,.5,1) both;transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.toast-item:hover{transform:translateY(-1px);box-shadow:0 16px 36px -14px #10182857}.toast-item.leaving{animation:toast-out .17s ease-in forwards}.toast-item.success{background:#e7f7ee;border-color:#b5e5c9;color:#0f6b3a}.toast-item.error{background:#fdecea;border-color:#f5c6c1;color:#9c2a1e}.toast-item.info{background:#eef3fd;border-color:#c6d7f5;color:#27518f}.toast-item.warning{background:#fdf5e2;border-color:#f0dcab;color:#8a5906}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px) scale(.97)}}@keyframes toast-out{to{opacity:0;transform:translateY(-10px) scale(.98)}}@media(max-width:640px){.toaster{top:max(10px,env(safe-area-inset-top));gap:8px;max-width:calc(100vw - 20px)}.toast-item{padding:10px 14px;font-size:13px}}@media(prefers-reduced-motion:reduce){.toast-item,.toast-item.leaving{animation:none}}.board-path{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0;color:#667385}.board-path button{max-width:200px;padding:5px 7px;border:0;border-radius:6px;background:transparent;color:#667385;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.board-path button:hover{background:#f1f4f9;color:#232831}.board-path button[aria-current=true]{color:#232831;font-weight:550}.team-picker{display:flex;align-items:center;gap:8px;font-size:12px;color:#667385}.team-picker select{height:34px}.board-tree{display:grid;gap:1px;margin:4px 0 0;padding:0;list-style:none}.tree-children{display:grid;gap:1px;margin:0;padding-left:13px;list-style:none;border-left:1px solid #e7ecf5}.tree-row{display:flex;align-items:center;gap:2px;padding:1px 2px;border-radius:7px}.tree-row:hover{background:#f1f4f9}.tree-row.is-current{background:hsl(var(--accent))}.tree-row.is-drop{background:#e3edff;box-shadow:inset 0 0 0 1px #9db6e8}.tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:26px;flex:none;border:0;border-radius:5px;background:transparent;color:#8a94a6;cursor:pointer}.tree-toggle:empty{cursor:default}.tree-name{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:5px 4px;border:0;border-radius:6px;background:transparent;color:#46536b;font-size:13px;text-align:left;cursor:pointer}.tree-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tree-count{margin-left:auto;font-size:11px;color:#8a94a6;font-variant-numeric:tabular-nums}.tree-actions{display:flex;gap:1px;opacity:0;transition:opacity var(--motion-fast) var(--ease-out)}.tree-row:hover .tree-actions,.tree-row:focus-within .tree-actions{opacity:1}.tree-actions button{padding:3px 4px;border:0;border-radius:5px;background:transparent;color:#8a94a6;font-size:12px;cursor:pointer}.tree-actions button:hover{background:#e7ecf5;color:#46536b}.tree-board .tree-name{color:#5b6675}.rail-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.group-tile{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:132px;padding:18px;background:linear-gradient(160deg,#f8fafe,#eef3fb);border:1px solid #dbe3f0;border-radius:10px;transition:transform var(--motion-base) var(--ease-out),box-shadow var(--motion-base) var(--ease-out),border-color var(--motion-base) var(--ease-out)}.group-tile:hover{transform:translateY(-2px);box-shadow:0 10px 26px #1c2a441a}.group-tile.is-drop{border-color:#7ba4ee;box-shadow:0 0 0 3px #106bdf1f}.group-open{display:flex;align-items:center;gap:12px;width:100%;padding:0;border:0;background:transparent;color:#232831;text-align:left;cursor:pointer}.group-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid #dbe3f0;border-radius:10px;background:#fff;color:#4f7fe0}.group-meta{display:grid;gap:3px;min-width:0}.group-meta strong{font-size:14px;font-weight:550;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.group-meta small{font-size:11px;color:#667385}.group-actions{position:absolute;top:10px;right:10px;display:flex;gap:3px;opacity:0;transition:opacity var(--motion-fast) var(--ease-out)}.group-tile:hover .group-actions,.group-tile:focus-within .group-actions{opacity:1}.group-actions button{display:grid;place-items:center;width:24px;height:24px;border:1px solid #dbe3f0;border-radius:6px;background:#fff;color:#667385;cursor:pointer}.group-actions button:hover{border-color:#9db6e8;color:#1d4ed8}.team-members-card{margin-top:24px}.board-card{cursor:grab}.board-card:active{cursor:grabbing}@media(hover:none){.tree-actions,.group-actions{opacity:1}}.board-flags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flag-shared,.flag-private{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.7;white-space:nowrap}.flag-shared{background:#e7f7ee;border:1px solid #b5e5c9;color:#0f6b3a}.flag-private{background:#f2f4f8;border:1px solid #dfe4ed;color:#667385}.group-tile.is-shared{border-color:#b5e5c9;background:linear-gradient(160deg,#f4fbf7,#eaf6ef)}.group-shared{color:#0f6b3a!important}.src-shared{padding:1px 6px;border-radius:999px;background:#e7f7ee;color:#0f6b3a;font-size:10px;font-style:normal}.share-list{display:grid;gap:6px;max-height:180px;overflow:auto;margin:0;padding:0;list-style:none;font-size:13px;color:#46536b}.share-list li{display:flex;align-items:center;gap:8px}.share-list em{font-style:normal;font-size:11px;color:#8a94a6}.share-field{display:grid;gap:8px;font-size:13px;color:#46536b}.share-new{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.share-progress{margin:0;font-size:12px;color:#667385}
