/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--paper:#f8f7f3;--ink:#282e2a;--muted:#747a73;--line:#e3e5dd;--green:#315640;--green-soft:#eaf0e6;--background:var(--paper);--foreground:var(--ink);--primary:var(--green);--radius:.75rem}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}a,button,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:2px solid #759478}::selection{background:#dce6d5}.site-shell{max-width:1480px;margin:auto;padding:0 64px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:100px;display:flex}.brand,.header-actions{align-items:center;gap:15px;display:flex}.brand-mark{letter-spacing:-4px;color:var(--green);padding-right:5px;font-family:Georgia,Songti SC,serif;font-size:39px;line-height:1}.brand>span:last-child{letter-spacing:1.5px;padding-top:5px;font-size:13px}.header-actions{gap:22px}.domain{letter-spacing:1.8px;color:#777e73;font-size:10px}.header-separator{background:var(--line);width:1px;height:18px}.ui-button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:9px 15px;font-size:12px;font-weight:500;transition:background .18s,border-color .18s;display:inline-flex}.button-solid{background:var(--green);color:#fff}.button-solid:hover{background:#214631}.button-outline{background:0 0;border-color:#dce0d6}.button-outline:hover{background:#eef0e8}.button-ghost{background:0 0}.button-ghost:hover{background:#e9eee3}.device-picker{min-height:34px;font-size:11px}.intro{justify-content:space-between;padding:61px 0 40px}.eyebrow,.intro{align-items:center;display:flex}.eyebrow{letter-spacing:2.2px;color:var(--green);gap:9px;font-size:10px;font-weight:500}.eyebrow>span{background:var(--green);width:16px;height:1px;display:inline-block}.intro h1{letter-spacing:-1.4px;margin:16px 0 13px;font-size:clamp(28px,2.8vw,41px);font-weight:500;line-height:1.45}.intro h1 em{color:var(--green);font-family:Songti SC,Noto Serif CJK SC,Georgia,serif;font-style:normal;font-weight:500}.intro p{letter-spacing:.35px;color:var(--muted);margin:0;font-size:12px}.intro-aside{align-items:center;gap:18px;padding:15px 6px 0 20px;display:flex}.intro-count{color:#b7c0ae;letter-spacing:-5px;font:italic 65px/1 Georgia,serif}.intro-aside>span:last-child{letter-spacing:1.8px;color:var(--muted);border-left:1px solid var(--line);padding-left:18px;font-size:9px;line-height:1.9}.intro-aside b{color:#919689;font-weight:400}.mobile-break{display:none}.local-note{color:#56634d;background:#eef2e9;border:1px solid #dce3d5;border-radius:7px;align-items:center;gap:12px;padding:13px 17px;display:flex}.local-note>svg{flex-shrink:0}.local-note p{letter-spacing:.1px;flex:1;margin:0;font-size:11px;line-height:1.8}.local-note strong{font-weight:600}.local-note span{color:#737d6a}.local-note button{background:0 0;border:0;align-items:center;padding:3px;display:flex}.help-panel{color:var(--muted);border:1px solid var(--line);border-top:0;border-radius:0 0 6px 6px;padding:17px 20px;font-size:12px;line-height:1.9}.workspace-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:36px 0 22px;display:flex}.tools,.workspace-toolbar>div{align-items:center;gap:15px;display:flex}.section-kicker{font-size:13px;font-weight:600}.toolbar-caption{letter-spacing:1.7px;color:#9a9e94;font-size:9px}.sort-hint{color:#92968c;gap:5px;font-size:10px}.search,.sort-hint{align-items:center;display:flex}.search{color:#8b9085;background:#efeee8;border:1px solid #0000;border-radius:6px;gap:8px;padding:8px 10px}.search:focus-within{border-color:#b0bda4}.search input{width:117px;color:var(--ink);background:0 0;border:0;font-size:11px;outline:0!important}.search input::placeholder{color:#94978e}.search button{background:0 0;border:0;padding:0;display:flex}.device-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:25px;display:grid}.device-column{background:#f2f2ec;border:1px solid #e4e6dc;border-radius:12px;min-width:0;padding:23px 19px 0;transition:border-color .2s}.current-column{border-color:#9aac8c}.column-heading{justify-content:space-between}.column-heading,.device-symbol{align-items:center;display:flex}.device-symbol{color:#62704c;background:#e9ede0;border:1px solid #dce1d3;border-radius:12px;justify-content:center;width:46px;height:46px}.device-home{color:#7d786d;background:#eae9e4;border-color:#dfded7}.device-air{color:#758787;background:#e8ecec;border-color:#dce2e2}.column-number{color:#a1a797;font-family:Georgia,serif;font-size:15px;font-style:italic}.device-title{flex-wrap:wrap;align-items:center;gap:8px;margin-top:19px;display:flex}.device-title h2{letter-spacing:-.6px;margin:0;font-size:21px;font-weight:500;line-height:1.4}.current-label{letter-spacing:.2px;color:#58734c;background:#dde7d6;border-radius:4px;padding:3px 6px;font-size:9px}.device-subtitle{color:#8b9184;justify-content:space-between;gap:8px;margin-top:7px;font-size:10px;display:flex}.device-subtitle>span:last-child{font-size:9px}.column-divider{background:#dfe3d8;height:1px;margin:20px 0}.card-list{flex-direction:column;gap:13px;min-height:380px;display:flex}.service-card{touch-action:pan-y;background:#fffefa;border:1px solid #e3e6dd;border-radius:9px;padding:17px 17px 0;transition:box-shadow .2s,border-color .2s;position:relative;box-shadow:0 2px 3px #25311b02}.service-card:hover{border-color:#c6d0bb;box-shadow:0 5px 16px #23321d06}.service-card.dragging{opacity:.96;border-color:#8b9f7b;box-shadow:0 12px 28px #26391d20}.card-top{gap:9px}.card-top,.service-icon{align-items:center;display:flex}.service-icon{color:#62764f;background:#eef2e7;border-radius:9px;justify-content:center;width:37px;height:37px}.card-kind{color:#909887;letter-spacing:.5px;margin-left:auto;font-size:9px}.drag-handle{color:#b7bbae;cursor:grab;touch-action:none;background:0 0;border:0;padding:8px 0 8px 4px;display:flex}.drag-handle:active{cursor:grabbing}.drag-handle:hover{color:var(--green)}.service-card h3{letter-spacing:.2px;margin:13px 0 6px;font-size:15px;font-weight:600}.service-description{color:#878d81;min-height:20px;margin:0;font-size:11px;line-height:1.8}.card-bottom{justify-content:space-between;margin:15px 0 9px}.belongs,.card-bottom{align-items:center;gap:4px;display:flex}.belongs{color:#909787;flex-wrap:wrap;font-size:9px}.belongs>span{color:#a0a695;font-size:8px}.open-button{color:var(--green);white-space:nowrap;gap:5px;min-height:29px;padding:4px 6px;font-size:11px}.entry-details{color:#a1a799;border-top:1px solid #f0f1eb;padding:8px 0;font-size:9px}.entry-details summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.entry-details summary::-webkit-details-marker{display:none}.entry-details[open] summary{margin-bottom:8px}.entry-details code{word-break:break-all;color:#697662;font-size:10px;line-height:1.6;display:block}.move-buttons{gap:15px;margin-top:9px;display:flex}.move-buttons button{color:#64715b;background:0 0;border:0;align-items:center;gap:3px;padding:3px 0;font-size:10px;display:flex}.maintenance{background:#fafaf6}.maintenance .service-icon{color:#8c917e;background:#efefe9}.maintenance h3{font-size:14px}.empty-state{text-align:center;color:#929988;border:1px dashed #d6dcd0;border-radius:9px;flex-direction:column;min-height:380px;padding:38px 10px}.empty-illustration,.empty-state{justify-content:center;align-items:center;display:flex}.empty-illustration{color:#adb4a4;width:71px;height:63px;margin-bottom:10px;position:relative}.empty-illustration:before{content:"";border:1px solid #e0e4d9;border-radius:15px;position:absolute;inset:0;transform:rotate(-9deg)}.empty-illustration>span{background:#f2f2ec;border:1px solid #d4dacb;border-radius:50%;padding:3px;position:absolute;bottom:8px;right:2px}.empty-state h3{color:#7d8773;letter-spacing:.7px;margin:12px 0 8px;font-size:14px;font-weight:500}.empty-state p{color:#a0a695;margin:0;font-size:11px;line-height:1.9}.empty-caption{color:#a6ac9c;margin-top:26px;font-size:9px}.column-update{color:#a0a694;gap:7px;padding:18px 0 19px;font-size:9px}.column-update,.workspace-footnote{justify-content:space-between;display:flex}.workspace-footnote{color:#9ca291;align-items:center;margin-top:20px;font-size:10px}.workspace-footnote button{color:#7e8971;background:0 0;border:0;align-items:center;gap:5px;font-size:10px;display:flex}.site-footer{border-top:1px solid var(--line);color:#a1a694;letter-spacing:.3px;justify-content:space-between;margin-top:56px;padding:22px 0 27px;font-size:9px}.site-footer,.site-footer>div{align-items:center;display:flex}.site-footer>div{gap:13px}.site-footer>div>span:last-child{letter-spacing:1.3px;font-size:8px}.footer-brand{letter-spacing:-2px;color:#87937a;font:italic 23px Georgia,serif}.search-empty{text-align:center;color:#959e8b;padding:42px 0;font-size:12px}.toast{color:#456137;opacity:0;pointer-events:none;z-index:30;white-space:nowrap;background:#fffef9;border:1px solid #d9e1d1;border-radius:9px;align-items:center;gap:8px;padding:13px 20px;font-size:12px;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%,10px);box-shadow:0 10px 40px #1d28141a}.toast.visible{opacity:1;transform:translate(-50%)}.dialog-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:40;background:#26302555;position:fixed;inset:0}.dialog-popup{z-index:50;background:#fcfcf7;border:1px solid #e4e8db;border-radius:18px;width:min(460px,100vw - 32px);max-height:calc(100dvh - 40px);padding:30px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 25px 100px #17220c30}.dialog-close{color:#969e8a;background:0 0;border:0;padding:5px;position:absolute;top:17px;right:17px}.dialog-symbol{color:#677d52;background:#eaf0e1;border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.dialog-title{letter-spacing:-.5px;margin:20px 0 9px;font-size:21px;font-weight:500}.dialog-description{color:#8b947e;margin:0 0 22px;font-size:12px;line-height:1.9}.device-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.device-options button{color:#727e63;background:0 0;border:1px solid #dfe5d6;border-radius:9px;align-items:center;gap:9px;min-height:57px;padding:12px;font-size:12px;display:flex}.device-options button>svg:last-child:not(:first-child){margin-left:auto}.device-options button.selected{color:#3e5f2e;background:#eaf0e2;border-color:#89a275}.pending-entry{color:#677759;background:#eff3e9;border-radius:8px;margin-top:18px;padding:13px;font-size:11px;line-height:1.8}.pending-entry strong{font-weight:500;display:block}.pending-entry code{overflow-wrap:anywhere;font-size:10px;display:block}.pending-entry p{margin:8px 0 0;font-size:10px}.pending-entry.warning{color:#8a6d35;background:#f6efdf}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.construction{background:#f8f7f3;flex-direction:column;max-width:1400px;min-height:100svh;margin:auto;padding:0 8vw;display:flex}.construction footer,.construction header{letter-spacing:2px;color:#8e9687;justify-content:space-between;align-items:center;height:110px;font-size:11px;display:flex}.construction main{flex:1;padding:80px 0 70px}.construction h1{letter-spacing:-4px;color:#354a37;margin:30px 0;font:clamp(48px,7.5vw,110px)/1.08 Georgia,Songti SC,serif}.construction h1 em{color:#84937a;font-weight:400}.construction p{color:#8d9783;margin-top:30px;font-size:14px;line-height:2}.construction-line{background:#b1bd9f;width:65px;height:1px;margin:40px 0 23px}.construction-note{color:#89947d;letter-spacing:2px;align-items:center;gap:20px;font-size:10px;display:flex}.construction footer{border-top:1px solid #e1e5d9;height:75px;font-size:9px}.construction footer>span:last-child{letter-spacing:0;font:italic 16px Georgia,serif}@keyframes arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.intro,.local-note,.workspace-toolbar{animation:arrive .45s ease-out both}.device-column{animation:arrive .55s ease-out both}.device-column:nth-child(2){animation-delay:70ms}.device-column:nth-child(3){animation-delay:.14s}@media (min-width:1500px){.intro{padding-top:73px}.device-grid{gap:30px}.device-column{padding:25px 23px 0}}@media (max-width:1100px){.site-shell{padding:0 32px}.device-grid{gap:15px}.device-column{padding:19px 13px 0}.service-card{padding:14px 12px 0}.card-bottom{gap:0}.belongs>span,.sort-hint{display:none}.intro-count{font-size:55px}.device-title h2{font-size:19px}}@media (max-width:767px){.site-shell{padding:0 21px}.site-header{height:79px}.brand>span:last-child{letter-spacing:.5px;font-size:11px}.brand{gap:9px}.brand-mark{font-size:34px}.header-actions{gap:0}.domain,.header-separator{display:none}.device-picker{gap:5px;padding:7px 9px;font-size:10px}.intro{padding:35px 0 28px}.intro h1{letter-spacing:-1px;margin-top:14px;font-size:31px}.mobile-break{display:block}.intro p{max-width:245px;font-size:11px;line-height:1.9}.eyebrow{letter-spacing:1.8px;font-size:8px}.intro-aside{display:none}.local-note{align-items:flex-start;gap:9px;padding:12px}.local-note>svg{margin-top:3px}.local-note p{font-size:10px}.local-note span{display:block}.workspace-toolbar{margin-top:27px}.toolbar-caption{display:none}.search input{width:92px}.device-grid{grid-template-columns:1fr;gap:24px}.device-column{padding:23px 19px 0}.device-title h2{font-size:23px}.service-card{padding:19px 18px 0}.service-card h3{font-size:16px}.service-description{font-size:12px}.belongs>span{display:inline}.card-list,.empty-state{min-height:295px}.card-bottom{margin-top:17px}.empty-state{padding:35px 10px}.column-update{font-size:10px}.workspace-footnote{align-items:flex-start;gap:15px;font-size:9px;line-height:1.7}.workspace-footnote>span{max-width:150px}.workspace-footnote button{white-space:nowrap;font-size:9px}.site-footer{align-items:flex-start;gap:14px;margin-top:35px}.site-footer>div>span:last-child{max-width:130px;font-size:7px;line-height:1.6}.site-footer>span{max-width:90px;font-size:8px;line-height:1.7}.dialog-popup{padding:25px 20px}.dialog-title{font-size:19px}.device-options button{gap:6px;padding:10px;font-size:11px}.construction main{padding-top:70px}.construction h1{letter-spacing:-2px}.construction .eyebrow{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.admin-toggle{color:#748267;gap:5px;padding:7px 6px;font-size:10px}.password-label{color:#6e7b5e;font-size:12px;display:block}.password-input{color:#334928;background:#fffefa;border:1px solid #cfdac3;border-radius:8px;width:100%;margin-top:9px;padding:12px;display:block}.login-caption{color:#929c86;margin:15px 0 0;font-size:10px;line-height:1.8}.login-error{color:#975b37;font-size:12px;line-height:1.8}.drag-handle:disabled{cursor:default;opacity:.35}@media (max-width:767px){.header-actions{gap:9px}.admin-toggle{padding:5px}.admin-toggle span{display:none}.toast{white-space:normal;max-width:calc(100vw - 36px);font-size:11px;line-height:1.8}}.service-description{color:#6e7864}.empty-state h3{color:#6e7b60}.empty-state p{color:#727e67}.device-subtitle{color:#737d67}.belongs{color:#748166}.column-update{color:#7e8972}.empty-caption{color:#7f8c70}.construction .eyebrow{letter-spacing:2px;font-size:14px;line-height:1.8}@media (max-width:767px){.construction .eyebrow{letter-spacing:1.5px;max-width:300px;font-size:11px}}.construction header{justify-content:flex-end}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}