@font-face{font-family:Teko Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/teko-devanagari-wght-normal.25ab1404.woff2) format("woff2-variations");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Teko Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/teko-latin-ext-wght-normal.0cfb4a30.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Teko Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/teko-latin-wght-normal.2bb42c4f.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
/*! 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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--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}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.lowercase{text-transform:lowercase}.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{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--paper:#eee;--white:#fff;--ink:#242424;--muted:#888;--line:#eee;--orange:#ff6a00;--orange-light:#ff6a00;--green:#666;--radius:10px;--side:216px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.35}h1{letter-spacing:-1px;font-size:32px}h2{letter-spacing:-.6px;font-size:24px}h3{font-size:16px}p{line-height:1.9}input,select,textarea{border:1px solid var(--line);background:var(--white);width:100%;color:var(--ink);border-radius:6px;outline:none;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ff6a0012}textarea{resize:vertical;min-height:95px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--orange);flex:none;padding:0}label{font-size:12px;font-weight:500;line-height:1.6;display:block}label>input,label>select,label>textarea{margin-top:8px}label+label{margin-top:19px}small{color:var(--muted);font-size:11px}:focus-visible{outline:2px solid var(--orange);outline-offset:4px}::selection{background:#ff6a00}svg{flex-shrink:0}.orange{color:var(--orange)}.muted{font-size:12px}.micro,.muted{color:var(--muted)}.micro{margin-top:18px;font-size:11px}.eyebrow,.mini-label{letter-spacing:1.8px;color:var(--muted);font:600 10px/1.5 Segoe UI,sans-serif;display:block}.eyebrow{margin-bottom:12px}.button{background:var(--orange);border:1px solid var(--orange);color:#fff;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:10px 18px;font-size:12px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button:hover:not(:disabled){background:#ff6a00;border-color:#ff6a00}.button.secondary{background:var(--white);color:var(--ink);border-color:var(--line)}.button.small{min-height:34px;padding:7px 12px;font-size:11px}.button.full{width:100%}.icon-btn{width:32px;height:32px;color:var(--muted);border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-alt);color:var(--ink)}.danger{color:var(--muted)}.danger-bg{background:#666;border-color:#666}.text-link{align-items:center;gap:8px;font-size:12px;font-weight:500;display:inline-flex}.text-link:hover{color:var(--orange)}.row-actions{align-items:center;gap:8px;display:flex}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:26px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.section-heading .eyebrow{margin-bottom:7px}.count{color:var(--muted);border:1px solid var(--line);vertical-align:middle;border-radius:5px;margin-left:12px;padding:2px 7px;font-weight:400}.count,.error{font-size:12px}.error{color:#ff6a00;overflow-wrap:anywhere;background:#ff6a00;border:1px solid #ff6a00;border-radius:6px;margin:15px 0;padding:14px 18px}.error p{margin-top:5px;font-size:11px}.success-note{background:var(--surface-alt);color:var(--ink);border:1px solid var(--line);border-radius:6px;align-items:center;gap:12px;margin:18px 0;padding:18px;font-size:12px;display:flex}.success-note p{font-size:11px}.success-note .button{margin-left:auto}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:15px;padding:70px 20px;display:flex}.empty-state h1,.empty-state h2,.empty-state h3{color:var(--ink)}.loading{min-height:450px;color:var(--muted);justify-content:center;align-items:center;gap:13px;display:flex}.spinner{border:2px solid;border-right:2px solid #0000;border-radius:50%;width:17px;height:17px;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.sidebar{width:var(--side);z-index:30;background:var(--white);border-right:1px solid var(--line);flex-direction:column;padding:28px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.5px;align-items:center;gap:9px;margin:0 8px 43px;line-height:1;display:flex}.brand-mark{background:var(--orange);color:#fff;border-radius:7px;place-items:center;width:30px;height:30px;padding-bottom:5px;padding-right:3px;font-style:italic;line-height:1;display:grid}.brand-dot{color:var(--orange)}.sidebar-section{letter-spacing:1.2px;margin:0 12px 14px;font-weight:600}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav a{color:var(--muted);border-radius:6px;align-items:center;gap:12px;padding:12px 14px;font-size:12px;display:flex}.sidebar nav a:hover{background:var(--surface-alt)}.sidebar nav a.active{color:var(--orange);background:#ff6a00;font-weight:600}.sidebar nav a i{background:var(--orange);border-radius:100%;width:4px;height:4px;margin-left:auto}.sidebar-bottom{margin-top:auto}.build-note{border-top:1px solid var(--line);padding:21px 10px 23px;position:relative}.build-note p{color:var(--muted);margin-top:9px;font-size:12px;line-height:1.8}.build-note svg{color:var(--orange);position:absolute;bottom:28px;right:9px}.sidebar-bottom>a{align-items:center;gap:10px;padding:10px 12px;font-size:11px;display:flex}.sidebar-bottom>a svg:last-child{margin-left:auto}.sidebar-foot{letter-spacing:1px;justify-content:space-between;align-items:center;margin:24px 10px 0;display:flex}.sidebar-foot b{letter-spacing:0;font-weight:500}.main-shell{margin-left:var(--side);flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eeeeeef5;justify-content:space-between;height:72px;padding:0 42px;position:sticky;top:0}.breadcrumb,.topbar{align-items:center;display:flex}.breadcrumb{gap:12px}.breadcrumb,.breadcrumb strong{color:var(--muted);font-size:11px}.breadcrumb strong{font-weight:500}.top-actions{gap:22px}.local-badge,.top-actions{align-items:center;display:flex}.local-badge{gap:6px}.local-badge i{background:#888;border-radius:50%;width:5px;height:5px}.mobile-toggle{display:none}.main-content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:38px 44px 60px}.page-intro{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.page-intro p{color:var(--muted);margin-top:11px;font-size:12px}.index-mark{letter-spacing:1.5px;color:var(--muted);align-self:flex-end;margin-bottom:6px;font-size:11px}.page-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:23px 44px;display:flex}.page-footer .orange{margin-left:8px}.collapsed{--side:76px}.collapsed .sidebar{padding:28px 12px 18px}.collapsed .brand{margin:0 10px 43px}.collapsed .brand>span:last-child,.collapsed .build-note,.collapsed .sidebar nav i,.collapsed .sidebar nav span,.collapsed .sidebar-bottom span,.collapsed .sidebar-foot,.collapsed .sidebar-section{display:none}.collapsed .sidebar nav a{justify-content:center;padding:12px}.collapsed .sidebar-bottom>a{justify-content:center}.collapsed .sidebar-bottom>a svg:last-child,.nav-scrim{display:none}.hero{background:var(--surface-alt);border:1px solid var(--line);border-radius:12px;grid-template-columns:44% 56%;min-height:372px;display:grid;overflow:hidden}.hero-copy{flex-direction:column;align-items:flex-start;padding:37px 40px 25px;display:flex;position:relative}.hero-copy>.eyebrow{letter-spacing:2px;font-size:11px}.hero h2{letter-spacing:-1.5px;margin:8px 0 16px;line-height:1.42}.hero h2,.hero p{white-space:pre-line}.hero p{font-size:11px;line-height:2}.arrow-button{background:var(--orange);color:#fff;isolation:isolate;border-radius:30px;justify-content:space-between;align-items:center;gap:28px;min-height:44px;padding:5px 6px 5px 19px;font-size:11px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.arrow-button>span{background:var(--white);width:33px;height:33px;color:var(--orange);border-radius:50%;place-items:center;display:grid;position:relative}.arrow-button:hover:not(:disabled){background:#ff6a00}.arrow-button:hover:not(:disabled) svg{transition:transform .3s;transform:rotate(45deg)}.hero .arrow-button{margin-top:25px}.hero-controls{align-items:center;gap:15px;width:100%;margin-top:30px;font-size:11px;display:flex}.hero-controls>span{letter-spacing:1px}.hero-controls i{color:var(--muted);font-style:normal}.hero-controls>div{gap:5px;margin-left:auto;display:flex}.hero-controls>div button{background:#bfbfbf;width:16px;height:3px;padding:0;transition:width .3s}.hero-controls>div button.active{background:var(--orange);width:30px}.hero-controls>button{color:var(--muted);margin-left:8px}.hero-image{background:#121212;min-width:0;position:relative;overflow:hidden}.hero-image img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;position:absolute}.image-label{letter-spacing:1.5px;color:#d9d9d9;justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:20px;left:25px;right:25px}.journey{border:1px solid var(--line);color:var(--muted);border-radius:8px;justify-content:space-around;gap:15px;margin:18px 0 38px;padding:21px 25px}.journey,.journey>div{align-items:center;display:flex}.journey>div{gap:12px;font-size:11px}.journey b{font-size:11px;font-weight:400}.journey b,.journey>div svg{color:var(--muted)}.projects-section{margin-top:34px}.filter-bar{justify-content:space-between;gap:20px;margin:0 0 24px}.filter-bar,.tabs{align-items:center;display:flex}.tabs{flex-wrap:wrap;gap:5px}.tabs button{color:var(--muted);white-space:nowrap;border-radius:5px;padding:8px 14px;font-size:11px}.tabs button.active{color:#fff;background:#242424}.tabs button:hover:not(.active){background:var(--surface-alt)}.search{background:var(--white);border:1px solid var(--line);min-width:180px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:0 11px;display:flex}.search input{box-shadow:none;background:0 0;border:0;margin:0;padding:9px 0;font-size:11px}.search.large{width:320px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.project-card{background:var(--white);border:1px solid var(--line);border-radius:9px;transition:transform .25s,border-color .25s;position:relative;overflow:hidden}.project-card:hover{border-color:var(--line);transform:translateY(-4px)}.project-image{aspect-ratio:1.65;background:var(--surface-alt);display:block;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.project-card:hover img{transform:scale(1.04)}.image-counter{color:#fff;letter-spacing:1px;text-shadow:0 1px 3px #000;font-size:11px;position:absolute;top:13px;left:14px}.card-open{opacity:0;background:#ffffffe8;border-radius:50%;place-items:center;width:33px;height:33px;transition:all .2s;display:grid;position:absolute;bottom:15px;right:15px;transform:translateY(5px)}.project-card:hover .card-open{opacity:1;transform:none}.favorite{color:var(--ink);z-index:2;background:#fffffff0;border-radius:50%;place-items:center;width:29px;height:29px;display:grid;position:absolute;top:12px;right:12px}.favorite.selected{color:var(--orange)}.card-copy{padding:19px 20px 15px}.category-label{color:#ff6a00;letter-spacing:.4px;margin-bottom:8px;display:block}.card-copy h3{letter-spacing:-.3px;font-size:16px}.card-copy>p{min-height:21px;margin:9px 0 18px}.card-copy>p,.card-meta{color:var(--muted);font-size:11px}.card-meta{border-top:1px solid var(--line);justify-content:space-between;padding-top:12px}.card-meta,.card-meta>span{align-items:center;display:flex}.card-meta>span{gap:6px}.avatar-mini{background:var(--surface-alt);color:var(--muted);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-grid}.root-callout{border:1px solid var(--line);background:var(--surface-alt);border-radius:10px;justify-content:space-between;align-items:center;margin-top:46px;padding:28px 37px;display:flex;overflow:hidden}.root-callout h2{font-size:24px}.root-callout p{color:var(--muted);margin-top:10px;font-size:11px}.root-callout .text-link{margin-top:20px}.root-callout img{object-fit:contain;mix-blend-mode:multiply;width:32%;height:170px}.back-link{color:var(--muted);align-items:center;gap:7px;margin-bottom:26px;font-size:11px;display:inline-flex}.detail-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.detail-heading h1{font-size:32px}.detail-heading p{color:var(--muted);margin-top:12px;font-size:12px}.detail-meta{color:var(--muted);align-items:center;margin-top:18px;font-size:11px;display:flex}.detail-layout{grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:28px;display:grid}.detail-main{min-width:0}.gallery-main{aspect-ratio:1.65;background:var(--surface-alt);border-radius:9px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.gallery-main img{object-fit:cover;width:100%;height:100%}.gallery-main>span{color:#fff;background:#0006;border-radius:4px;padding:5px 11px;font-size:11px;position:absolute;bottom:14px;right:15px}.thumbnails{justify-content:center;gap:9px;margin:16px 0 27px;display:flex}.thumbnails button{border:1px solid #0000;border-radius:5px;width:62px;height:44px;padding:2px;overflow:hidden}.thumbnails button.active{border-color:var(--orange)}.thumbnails img{object-fit:cover;border-radius:3px;width:100%;height:100%}.detail-tabs{border-bottom:1px solid var(--line);border-top:1px solid var(--line);gap:25px;margin-bottom:26px}.detail-tabs button{border-bottom:2px solid #0000;border-radius:0;padding:15px 14px}.detail-tabs button.active{color:var(--ink);border-bottom-color:var(--orange);background:0 0}.deploy-panel{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:25px;position:sticky;top:100px}.deploy-panel .eyebrow{font-size:11px}.deploy-panel h2{font-size:20px}.deploy-panel>p{color:var(--muted);margin:12px 0 25px;font-size:11px}.deploy-panel label{font-size:11px}.deploy-panel input,.deploy-panel select{background:var(--white);padding:10px;font-size:12px}.deploy-button{gap:6px;width:100%;margin-top:28px}.deploy-note{color:var(--muted);margin-top:18px;font-size:11px;line-height:1.9}.panel-bottom{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.5px;justify-content:space-between;margin-top:27px;padding-top:18px;display:flex}.prose{overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:2.1}.prose h2{color:var(--ink);margin:25px 0 16px;font-size:24px}.prose h3{color:var(--ink);margin:28px 0 13px;font-size:16px}.prose p{margin:14px 0;line-height:2.1}.prose ol,.prose ul{list-style:revert;margin:14px 0;padding-left:25px}.prose img{border-radius:7px;max-width:100%;height:auto;margin:20px auto}.prose a{color:var(--orange);text-decoration:underline}.prose blockquote{border-left:3px solid var(--orange);background:var(--surface-alt);margin:20px 0;padding:8px 20px}.prose iframe{aspect-ratio:16/9;border:0;width:100%;max-width:100%;height:auto}.prose pre{color:#d9d9d9;background:#242424;border-radius:6px;padding:18px;overflow:auto}.module-detail{border-bottom:1px solid var(--line);grid-template-columns:50px 130px 1fr auto;align-items:center;gap:15px;padding:20px 0;display:grid}.module-detail img{object-fit:contain;height:50px}.module-detail p{color:var(--muted);font-size:11px}.module-detail h3,.note-block{font-size:12px}.note-block{background:var(--surface-alt);border-radius:6px;margin:25px 0}.note-block p{white-space:pre-line;margin-top:12px}.note-block ul{margin-top:12px;font-size:11px}.file-group{border:1px solid var(--line);background:var(--white);border-radius:6px;margin:15px 0;padding:20px}.file-group h3{gap:14px;margin-bottom:15px;font-size:12px;display:flex}.file-group h3 span{color:var(--muted);font-size:11px}.file-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:13px 0;font-size:12px;display:flex}.file-row span{overflow-wrap:anywhere}.file-row small{margin-top:4px;font-size:11px;display:block}.files-section h2{font-size:18px}.lightbox-image{object-fit:contain;width:100%;max-height:75vh}.modal{border:1px solid var(--line);background:var(--paper);width:calc(100% - 48px);max-width:1000px;max-height:90vh;color:var(--ink);border-radius:12px;margin:auto;padding:28px;overflow:auto}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#121212cc}.modal-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.modal-head h2{font-size:20px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.device-grid{grid-template-columns:1fr 1.15fr;gap:24px;margin-bottom:24px;display:grid}.device-visual{background:var(--surface-alt);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-height:360px;padding:25px 30px;display:flex;position:relative}.device-visual img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:230px;margin:auto}.device-visual>div{justify-content:space-between;align-items:center;display:flex}.device-visual h2{font-size:24px}.device-visual>div span{color:var(--muted);font-size:11px}.device-controls{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:28px 32px}.status-chip{white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.status-chip i{background:currentColor;border-radius:50%;width:5px;height:5px}.status-chip.good{color:var(--muted);background:var(--surface-alt)}.connection-steps{margin:22px 0}.connection-steps>div{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:14px;padding:10px 0;font-size:11px;display:flex}.connection-steps b{color:var(--muted);font-size:11px;font-weight:400}.connection-steps svg{color:var(--muted);margin-left:auto}.chip-info{color:var(--green);gap:10px;margin-bottom:12px;font-size:12px;display:flex}.firmware-panel{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:28px 32px}.chip-label{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:4px 7px;font:9px/1.5 monospace}.firmware-drop{border:1px dashed var(--line);background:var(--white);text-align:left;width:100%;color:var(--muted);border-radius:7px;align-items:center;gap:17px;padding:24px;display:flex}.firmware-drop>span{color:var(--ink);font-size:12px}.firmware-drop small{margin-top:5px;font-size:11px;display:block}.firmware-drop>span:last-child{color:var(--muted);margin-left:auto;font-size:11px}.firmware-info{background:var(--surface-alt);border-radius:5px;margin:18px 0;padding:17px}.firmware-info>div{align-items:center;gap:15px;padding:4px 0;font-size:11px;display:flex}.firmware-info>div>span{min-width:62px;color:var(--muted);font-size:11px}.firmware-info code{overflow-wrap:anywhere;font-size:11px}.flash-action{justify-content:space-between;gap:20px;margin-top:22px}.flash-action,.flash-action p{align-items:center;display:flex}.flash-action p{gap:9px;font-size:11px}.progress-section{margin-top:24px}.progress-section>div{color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:11px;display:flex}progress{border:0;border-radius:5px;width:100%;height:7px;overflow:hidden}progress::-webkit-progress-bar{background:var(--surface-alt)}progress::-webkit-progress-value{background:var(--orange);transition:width .2s}.serial-log{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.serial-log summary{color:var(--muted);cursor:pointer;font-size:11px}.serial-log summary span{color:var(--muted);margin-left:12px;font-size:11px}.serial-log pre{color:var(--muted);white-space:pre-wrap;background:#242424;border-radius:6px;max-height:220px;margin-top:12px;padding:18px;font-size:11px;line-height:1.8;overflow:auto}.compact .device-visual{min-height:280px}.compact .device-visual img{height:160px}.compact .device-controls,.compact .firmware-panel{padding:22px}.login-layout{background:var(--white);border:1px solid var(--line);border-radius:12px;grid-template-columns:1.1fr 1fr;max-width:1000px;margin:45px auto;display:grid;overflow:hidden}.login-story{background:var(--surface-alt);padding:45px;position:relative;overflow:hidden}.login-story h1{margin-top:28px;font-size:24px;line-height:1.6}.login-story p{margin-top:18px;font-size:12px}.login-story img{object-fit:contain;mix-blend-mode:multiply;height:190px;margin:15px auto 0}.login-form{flex-direction:column;justify-content:center;padding:55px 45px;display:flex}.login-icon{color:var(--orange);margin-bottom:25px}.login-form>p{color:var(--muted);margin:13px 0 28px;font-size:11px}.login-form>.button{margin-top:25px}.login-form>small{margin-top:20px;font-size:11px;line-height:1.8}.stats-row{border:1px solid var(--line);background:var(--white);border-radius:9px;grid-template-columns:repeat(4,1fr);margin-bottom:35px;display:grid}.stats-row>div{border-right:1px solid var(--line);grid-template-columns:1fr auto;gap:12px;padding:23px 25px;display:grid}.stats-row>div:last-child{border:0}.stats-row svg{color:var(--muted);grid-area:1/2}.stats-row span{color:var(--muted);font-size:11px}.stats-row strong{letter-spacing:-1px;font-size:32px;font-weight:500}.admin-list{padding:0;overflow:hidden}.list-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.list-toolbar>span{color:var(--muted);font-size:11px}.list-toolbar .search{background:var(--surface-alt);border:0;width:240px}.project-row{border-bottom:1px solid var(--line);grid-template-columns:60px minmax(100px,1fr) 80px 90px 110px;align-items:center;gap:17px;padding:18px 24px;display:grid}.project-row:last-child{border-bottom:0}.project-row>img{object-fit:cover;border-radius:5px;width:60px;height:44px}.project-row h3{margin-bottom:4px;font-size:12px}.project-row small{font-size:11px}.project-row .status-chip{justify-self:start}.row-date{color:var(--muted);font-size:11px}.admin-shortcuts{grid-template-columns:1fr 1fr;gap:23px;margin-top:27px;display:grid}.admin-shortcuts>a{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);border-radius:8px;align-items:center;gap:22px;padding:26px;display:flex}.admin-shortcuts h3{color:var(--ink);font-size:14px}.admin-shortcuts p{color:var(--muted);margin-top:7px;font-size:11px}.admin-shortcuts>a>svg:last-child{margin-left:auto}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid label+label{margin:0}.banner-editor{grid-template-columns:32% 1fr;gap:30px;margin-bottom:22px;display:grid}.banner-thumbnail{align-self:start;position:relative}.banner-thumbnail>img{aspect-ratio:1.3;object-fit:cover;border-radius:7px}.banner-thumbnail>span{color:#fff;font-size:20px;font-weight:600;position:absolute;top:15px;left:15px}.banner-thumbnail label{margin-top:14px}.banner-fields textarea{min-height:75px}.banner-actions{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.checkbox-row{align-items:flex-start;gap:10px;font-size:11px;display:flex}.checkbox-row input{margin:3px 0 0}.checkbox-row small{margin-top:5px;font-size:11px;display:block}.hardware-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.hardware-card{flex-direction:column;padding:20px;display:flex}.hardware-card-top{justify-content:space-between;align-items:center;display:flex}.hardware-card>img{object-fit:contain;mix-blend-mode:normal;height:130px;margin:20px 0}.hardware-card h3{font-size:14px}.hardware-card>p{color:var(--muted);min-height:65px;margin-top:10px;font-size:11px}.hardware-ports{flex-wrap:wrap;gap:5px;margin:15px 0;display:flex}.hardware-ports>span{color:var(--muted);background:var(--surface-alt);border-radius:4px;padding:4px 7px;font-size:11px}.hardware-card-foot{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:14px;display:flex}.hardware-card-foot small{font-size:11px}.hardware-card-foot a{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.hardware-form{max-width:780px;margin:auto}.hardware-image-edit{align-items:center;gap:20px;margin:22px 0 30px;display:flex}.hardware-image-edit>img{object-fit:contain;width:120px;height:90px}.hardware-image-edit>input{font-size:11px}.interface-editor{background:var(--surface-alt);border-radius:7px;margin:16px 0;padding:20px}.interface-editor>.text-link{margin-top:14px}.point-row{align-items:center;gap:15px;margin-top:12px;display:flex}.point-row>span{color:var(--muted);white-space:nowrap;font-size:11px}.point-row select{padding:7px;font-size:11px}.json-preview{color:#d9d9d9;background:#242424;max-height:300px;margin-top:18px;padding:20px;font-size:11px;overflow:auto}.editor-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.editor-heading p{color:var(--muted);margin-top:11px;font-size:12px}.stepper{grid-template-columns:repeat(4,1fr);gap:5px;margin:28px 0 35px;display:grid}.stepper button{border-top:3px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:17px 0;font-size:12px;display:flex}.stepper button.active{border-color:var(--orange);color:var(--ink)}.stepper button.done{color:var(--muted);border-color:#a0a0a0}.stepper span{color:var(--muted);align-items:center;font-size:11px;display:flex}.stepper button.active span{color:var(--orange)}.stepper strong{font-weight:500}.step-intro{margin-bottom:24px}.step-intro h2{font-size:24px}.editor-basics{grid-template-columns:1.1fr .9fr;align-items:start;gap:24px;display:grid}.editor-basics>.panel>.form-grid{margin-top:20px}.editor-basics .checkbox-row{margin-top:25px}.required{color:var(--orange);margin-left:4px;font-size:11px}.image-editor>h3{justify-content:space-between;display:flex}.image-editor>h3>span{color:var(--muted);font-size:11px}.image-editor>p{margin:12px 0 20px;font-size:11px}.image-upload-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.image-upload-grid>div{aspect-ratio:1.3;border:1px solid var(--line);border-radius:6px;position:relative;overflow:hidden}.image-upload-grid>div.cover{border-color:var(--orange)}.image-upload-grid img{object-fit:cover;width:100%;height:100%}.image-upload-grid>div>span{background:var(--white);border-radius:3px;padding:2px 5px;font-size:11px;position:absolute;top:7px;left:7px}.image-upload-grid>div>div{gap:5px;display:flex;position:absolute;bottom:7px;right:7px}.image-upload-grid>div button{background:var(--white);border-radius:3px;place-items:center;width:24px;height:24px;display:grid}.image-add{aspect-ratio:1.3;border:1px dashed var(--line);background:var(--white);color:var(--muted);border-radius:6px;flex-direction:column;justify-content:center;gap:10px}.image-add,.recovery{align-items:center;font-size:11px;display:flex}.recovery{color:#ff6a00;background:#ff6a00;border-radius:7px;gap:20px;margin-bottom:20px;padding:14px 18px}.recovery button{font-weight:600;text-decoration:underline}.wizard-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:24px;display:flex}.wizard-actions>span{color:var(--muted);font-size:11px}.wizard-actions>div{gap:12px;display:flex}.rich-editor-wrap{border:1px solid var(--line);border-radius:7px;overflow:hidden}.editor-toolbar{border-bottom:1px solid var(--line);background:var(--surface-alt);flex-wrap:wrap;align-items:center;gap:4px;padding:10px;display:flex}.editor-toolbar button{width:30px;height:30px;color:var(--muted);border-radius:4px;place-items:center;display:grid}.editor-toolbar button:hover{background:var(--surface-alt)}.editor-toolbar>span{border-left:1px solid var(--line);height:17px;margin:0 6px}.rich-editor{outline:none;min-height:420px;padding:22px}.editor-help{margin-bottom:20px}.video-input{background:var(--surface-alt);gap:10px;padding:12px;display:flex}.upload-group{margin-bottom:18px}.upload-group-title{align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.upload-group-title>span{color:var(--muted);margin-top:3px;font-size:11px}.upload-group-title h3{font-size:14px}.upload-group-title p{color:var(--muted);margin-top:7px;font-size:11px}.upload-group-title>small{margin-left:auto;font-size:11px}.upload-zone{cursor:pointer;border:1px dashed var(--line);background:var(--white);color:var(--muted);border-radius:6px;flex-wrap:wrap;align-items:center;gap:15px;padding:22px;display:flex;position:relative}.upload-zone strong{font-size:11px;font-weight:500}.upload-zone span{color:var(--muted);margin-left:auto;font-size:11px}.upload-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-zone.disabled{opacity:.5;pointer-events:none}.preview-cover{object-fit:cover;border-radius:7px;width:100%;max-height:350px;margin-top:20px}.wiring-workspace{grid-template-columns:220px minmax(0,1fr);gap:20px;display:grid}.palette{padding:20px}.palette>h3{justify-content:space-between;margin-bottom:20px;font-size:14px;display:flex}.palette>h3 span{color:var(--muted);font-size:11px}.palette label{font-size:11px}.palette select{padding:9px;font-size:11px}.palette>.button{margin-top:18px}.palette-preview{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.palette-preview img{object-fit:contain;width:100%;height:100px}.palette-preview h4{margin:12px 0;font-size:12px}.palette-preview p{font-size:11px}.palette-preview small{margin-top:12px;display:block}.canvas-panel{border:1px solid var(--line);border-radius:9px;min-width:0;overflow:hidden}.canvas-title{border-bottom:1px solid var(--line);gap:15px;padding:14px 18px;display:flex}.canvas-title,.canvas-title small{font-size:11px}.flow-canvas{height:460px}.canvas-help{border-top:1px solid var(--line);padding:10px 18px;font-size:11px}.hardware-node{border-radius:8px;width:185px;padding:17px 19px;font-size:12px}.hardware-node.selected{border-color:var(--orange);box-shadow:0 0 0 3px #ff6a0015}.hardware-node.root-node{color:#fff;background:#242424;border-color:#242424;width:205px}.node-kind{letter-spacing:1px;margin-bottom:12px;display:block}.hardware-node>strong{font-size:16px;display:block}.hardware-node>small{margin:6px 0 11px;font-size:11px;display:block}.node-edit{overflow-wrap:anywhere;cursor:text;padding:3px 0}.node-edit:nth-last-child(2){color:var(--muted);font-size:11px}.node-input{width:100%;margin:0;padding:3px!important;font-size:11px!important}.node-bottom{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.8px;margin-top:13px;padding-top:11px;font-size:11px}.root-node .node-bottom{border-color:#3a3a3a}.react-flow__handle{background:#ff6a00!important;border:2px solid #fff!important}.added-modules{margin:22px 0}.added-modules .section-heading h3{font-size:14px}.added-module{border-top:1px solid var(--line);grid-template-columns:minmax(100px,1fr) 110px auto;align-items:center;gap:18px;margin:0 -5px;padding:16px 20px;display:grid}.added-module.selected{background:#ff6a00;border-radius:5px}.module-name{text-align:left}.module-name strong{font-size:12px;font-weight:600;display:block}.module-name small,.status-text{font-size:11px}.status-text,.status-text.good{color:var(--muted)}.added-module .row-actions{gap:14px}.added-module .text-link{font-size:11px}@media (min-width:1600px){.hero{min-height:450px}.hero-copy{padding:45px 48px 30px}.hero h2{font-size:40px}.hero p{font-size:12px}.hero-controls{margin-top:auto;padding-top:35px}.project-image{aspect-ratio:1.8}}@media (max-width:1200px){:root{--side:190px}.main-content{padding:28px}.topbar{padding:0 28px}.hero-copy{padding:28px}.hero h2{font-size:32px}.hero{min-height:340px}.hero-controls{margin-top:25px}.project-grid{gap:18px}.card-copy{padding:16px}.card-copy h3{font-size:14px}.detail-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.deploy-panel{padding:20px}.hardware-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-basics{grid-template-columns:1fr 1fr}.wiring-workspace{grid-template-columns:180px 1fr;gap:14px}.palette{padding:15px}.added-module{grid-template-columns:1fr auto}.added-module .row-actions{grid-column:1/-1;justify-content:flex-end}.hero-copy>.eyebrow{font-size:11px}.journey{padding:18px 20px}.journey>div{gap:8px;font-size:11px}.project-row{grid-template-columns:50px minmax(90px,1fr) 70px 100px}.row-date{display:none}.stats-row>div{padding:18px}.banner-editor{grid-template-columns:30% 1fr;gap:22px}}@media (max-width:960px){:root{--side:76px}.sidebar{padding:28px 12px 18px}.brand{margin:0 10px 43px}.brand>span:last-child,.build-note,.sidebar nav i,.sidebar nav span,.sidebar-bottom span,.sidebar-foot,.sidebar-section{display:none}.sidebar nav a{padding:12px}.sidebar nav a,.sidebar-bottom>a{justify-content:center}.desktop-toggle,.sidebar-bottom>a svg:last-child{display:none}.hero h2{font-size:32px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid .project-card:last-child{grid-column:auto}.main-content{padding:28px}.detail-heading h1{font-size:24px}.detail-layout{grid-template-columns:minmax(0,1fr) 235px}.device-controls,.device-visual{padding:22px}.device-visual>div{display:block}.device-visual>div span{margin-top:8px;display:block}.editor-basics{grid-template-columns:1fr}.image-upload-grid{grid-template-columns:repeat(4,1fr)}.login-layout{grid-template-columns:1fr 1fr}.login-form,.login-story{padding:30px}.login-story h1{font-size:24px}.module-detail{grid-template-columns:40px 1fr auto}.module-detail p{grid-column:2/4}.module-detail a{grid-area:1/3}.hardware-card>p{min-height:0}.page-footer{padding:20px 28px}.wizard-actions>span{display:none}.stats-row{grid-template-columns:repeat(2,1fr)}.stats-row>div:nth-child(2){border-right:0}.stats-row>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:700px){.sidebar{width:230px;padding:28px 18px;transition:transform .2s;transform:translate(-100%)}.menu-open .sidebar{transform:none}.menu-open .brand>span:last-child,.menu-open .build-note,.menu-open .sidebar nav span,.menu-open .sidebar-bottom span,.menu-open .sidebar-foot,.menu-open .sidebar-section{display:revert}.menu-open .brand{margin:0 8px 43px}.menu-open .sidebar nav a,.menu-open .sidebar-bottom>a{justify-content:flex-start}.menu-open .nav-scrim{z-index:29;background:#121212aa;display:block;position:fixed;inset:0}.main-shell{margin:0}.mobile-toggle{display:inline-flex}.topbar{height:62px;padding:0 18px}.top-actions{gap:10px}.local-badge{display:none}.breadcrumb{gap:7px}.main-content{padding:25px 18px 40px}.page-intro{margin-bottom:23px}.page-intro h1{font-size:24px}.page-intro p{max-width:280px;font-size:11px}.index-mark{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:27px}.hero h2{font-size:32px}.hero p{font-size:11px}.hero-image{height:240px}.hero .arrow-button,.hero-controls{margin-top:22px}.hero-image img{object-position:center 40%}.journey{justify-content:space-between;gap:8px;margin-bottom:28px;padding:16px 13px}.journey>div{flex-direction:column;gap:6px;font-size:11px}.journey b{display:none}.journey>svg{width:12px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-image{aspect-ratio:1.25}.card-copy{padding:14px 12px 11px}.card-copy h3{font-size:12px;line-height:1.5}.card-copy>p{min-height:34px;margin-bottom:13px;line-height:1.7}.card-copy>p,.card-meta,.category-label{font-size:11px}.card-meta{gap:4px}.card-meta>span{gap:3px}.card-meta .avatar-mini{display:none}.image-counter{font-size:11px;top:10px;left:10px}.favorite{width:24px;height:24px;top:8px;right:8px}.favorite svg{width:13px}.filter-bar{margin-bottom:18px;display:block}.filter-bar>.search{min-height:38px;margin-top:14px}.tabs{flex-wrap:nowrap;gap:2px;overflow:auto}.tabs button{padding:8px 10px;font-size:11px}.section-heading{flex-wrap:wrap;gap:12px;margin-bottom:18px}.section-heading h2{font-size:20px}.section-heading .text-link{font-size:11px}.search.large{width:100%;margin-top:5px}.root-callout{align-items:flex-start;min-height:235px;padding:24px;position:relative}.root-callout>div{z-index:1;max-width:72%;position:relative}.root-callout h2{font-size:20px}.root-callout .eyebrow,.root-callout p{font-size:11px}.root-callout img{opacity:.75;width:46%;height:160px;position:absolute;bottom:-10px;right:-35px}.page-footer{gap:20px;padding:20px 18px;font-size:11px}.page-footer>span:last-child{display:none}.detail-heading{align-items:flex-start}.detail-heading h1{font-size:24px}.detail-heading>.button{min-height:34px;padding:9px;font-size:0}.detail-heading>.button svg{margin:0}.detail-layout{flex-direction:column;display:flex}.detail-main{width:100%}.deploy-panel{order:-1;grid-template-columns:1fr 1fr;gap:12px 16px;width:100%;padding:20px;display:grid;position:static}.deploy-panel .eyebrow{grid-column:1/-1;margin:0;font-size:11px}.deploy-panel h2{grid-column:1/-1;font-size:20px}.deploy-panel>p,.panel-bottom{display:none}.deploy-panel label{margin:0}.deploy-button{grid-column:1/-1;justify-content:center;gap:24px;margin-top:5px}.deploy-note{grid-column:1/-1;margin:0;font-size:11px}.detail-tabs{gap:22px}.prose{font-size:12px}.prose h2{font-size:20px}.modal{width:calc(100% - 24px);max-height:94vh;padding:20px}.device-grid{grid-template-columns:1fr;gap:16px}.device-visual{min-height:220px;padding:20px}.device-visual img{height:140px}.device-visual>div{display:flex}.device-visual h2{font-size:20px}.device-visual .eyebrow{font-size:11px}.device-controls,.firmware-panel{padding:21px}.device-controls h2{font-size:20px}.firmware-panel .section-heading{align-items:center}.firmware-panel h2{font-size:20px}.firmware-drop{gap:12px;padding:18px}.firmware-drop>span{font-size:11px}.firmware-drop>span:last-child{display:none}.firmware-drop small{font-size:11px}.firmware-info>div{flex-wrap:wrap;gap:4px 12px}.firmware-info code{word-break:break-all;font-size:11px}.flash-action{flex-direction:column;align-items:stretch;gap:15px}.flash-action p{align-items:flex-start;font-size:11px}.success-note{flex-wrap:wrap}.success-note .button{margin-left:0}.compact .device-visual{display:none}.compact .device-controls{padding:18px}.login-layout{grid-template-columns:1fr;margin:10px auto}.login-story{padding:27px}.login-story img{display:none}.login-story h1{margin-top:15px;font-size:24px}.login-story p{font-size:11px}.login-form{padding:28px}.login-icon{margin-bottom:15px}.stats-row{margin-bottom:26px}.stats-row>div{padding:18px}.stats-row strong{font-size:24px}.admin-shortcuts{grid-template-columns:1fr;gap:15px}.admin-shortcuts>a{padding:22px}.project-row{grid-template-columns:42px 1fr auto;gap:12px;padding:15px}.project-row>img{width:42px;height:36px}.project-row h3{font-size:12px}.project-row>.status-chip{grid-area:auto/2;justify-self:start}.project-row>.row-actions{flex-direction:column;grid-area:1/3/3;gap:2px}.list-toolbar{padding:14px}.list-toolbar .search{width:190px}.banner-editor{grid-template-columns:1fr;gap:22px;padding:20px}.banner-thumbnail>img{aspect-ratio:1.9;width:100%}.banner-actions{flex-wrap:wrap;gap:15px}.hardware-grid{grid-template-columns:1fr 1fr;gap:13px}.hardware-card{padding:14px}.hardware-card>img{height:100px;margin:15px 0}.hardware-card h3{font-size:12px}.hardware-card p{font-size:11px}.hardware-ports>span{padding:3px 5px;font-size:11px}.hardware-card-foot a,.hardware-card-foot small{font-size:11px}.hardware-image-edit{flex-wrap:wrap}.hardware-image-edit>img{width:90px}.hardware-image-edit>input{width:100%}.form-grid{gap:15px}.interface-editor{padding:15px}.point-row{gap:8px}.point-row select,.point-row>span{font-size:11px}.editor-heading{align-items:flex-start}.editor-heading h1{font-size:24px}.editor-heading p{font-size:11px}.editor-heading>.button{padding:10px;font-size:0}.stepper{gap:6px;margin:20px 0 25px}.stepper button{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 0;font-size:11px}.stepper span{font-size:11px}.step-intro h2{font-size:20px}.panel{padding:20px}.editor-basics{gap:18px}.image-upload-grid{grid-template-columns:repeat(3,1fr)}.wizard-actions{gap:10px}.wizard-actions .button{padding:9px 11px;font-size:11px}.wizard-actions>div{gap:6px}.wiring-workspace{grid-template-columns:1fr}.palette{grid-template-columns:1fr 1fr;gap:12px;display:grid}.palette>h3{grid-column:1/-1;margin:0}.palette>label{margin:0}.palette>.button{grid-column:1/-1;margin:0}.palette-preview{display:none}.flow-canvas{height:370px}.canvas-help{font-size:11px}.added-module{gap:12px;padding:14px 10px}.added-module .row-actions{gap:12px}.upload-group{padding:18px}.upload-group-title{gap:12px}.upload-group-title h3{font-size:12px}.upload-group-title p{font-size:11px}.upload-zone{text-align:center;flex-direction:column;gap:10px;padding:20px}.upload-zone span{margin:0;font-size:11px}.recovery{gap:12px}.modal-actions,.recovery{flex-wrap:wrap}.rich-editor{min-height:330px;padding:15px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.module-picker{margin-top:18px;position:relative}.module-picker-trigger{background:var(--white);border:1px solid var(--line);text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:8px;padding:10px;font-size:11px;display:flex}.module-picker-menu{z-index:15;background:var(--white);border:1px solid var(--line);border-radius:7px;grid-template-columns:80px minmax(130px,1fr);width:280px;max-width:75vw;margin-top:5px;display:grid;position:absolute;top:100%;left:0;overflow:hidden}.module-picker-menu>div{flex-direction:column;max-height:280px;padding:6px;display:flex;overflow:auto}.module-picker-menu>div:first-child{background:var(--surface-alt)}.module-picker-menu button{text-align:left;border-radius:4px;padding:9px 8px;font-size:11px}.module-picker-menu button.active{color:var(--orange);background:#ff6a00}.module-picker-menu button:hover{background:var(--surface-alt)}.arrow-button:before{content:"";z-index:-1;background:var(--white);border-radius:50%;width:33px;height:33px;transition:transform .4s;position:absolute;top:5px;right:6px}.arrow-button:hover:not(:disabled):before{transform:scale(18)}.arrow-button:hover:not(:disabled),.arrow-button:hover:not(:disabled)>span{color:#ff6a00}.arrow-button:focus-visible{outline-offset:4px}@media (max-width:700px){.palette>.module-picker{grid-column:1/-1;margin:0}.module-picker-menu{grid-template-columns:90px 1fr;width:100%;max-width:100%}}.serial-help{background:#ff6a00;border:1px solid #ff6a00;border-radius:6px;margin-top:15px;padding:15px}.serial-help p{color:var(--muted);margin-bottom:10px;font-size:11px}.arrow-button:before{opacity:0;transition:transform .4s,opacity .15s}.arrow-button:hover:not(:disabled):before{opacity:1}.hardware-card-foot{flex-wrap:wrap;gap:10px}.hardware-card{isolation:isolate;position:relative}.hardware-card>img{z-index:0;position:relative}.hardware-card-top .hardware-card-actions{z-index:1;flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;top:14px;right:14px}.hardware-card-actions .module-status-toggle[aria-pressed=false]{color:var(--orange)}.disabled-badge{vertical-align:middle;border:1px solid var(--line);color:var(--muted);background:var(--surface-alt);white-space:nowrap;border-radius:4px;align-items:center;padding:3px 6px;font-size:10px;font-weight:500;line-height:1.3;display:inline-flex}.hardware-disabled>img{filter:grayscale();opacity:.68}.hardware-disabled .module-name,.hardware-disabled .node-edit,.hardware-disabled h3{color:var(--muted)}.added-module.hardware-disabled,.detail-wiring>.module-detail.hardware-disabled{background:var(--surface-alt);border-color:var(--line)}.hardware-node.hardware-disabled{background:var(--surface-alt);border-color:var(--muted);height:124px;color:var(--muted);box-shadow:none}.hardware-node.hardware-disabled.selected{outline:2px solid var(--muted);outline-offset:3px}.hardware-node>.disabled-badge{margin-bottom:7px}.module-detail .disabled-badge{margin:4px 8px 4px 0}.detail-tabs button:focus-visible,.project-author:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.card-meta .project-author{border-radius:3px;align-items:center;gap:6px;min-width:0;display:inline-flex}.card-meta .project-author .avatar-mini{display:inline-grid}.project-author>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-author:hover{color:var(--orange)}.avatar-mini{flex-shrink:0;overflow:hidden}.avatar-mini img{object-fit:cover;border-radius:50%;width:100%;height:100%}html.theme-crossfade *,html.theme-crossfade :after,html.theme-crossfade :before{transition:none!important}html.theme-crossfade::view-transition-group(root){animation-duration:.22s;animation-timing-function:ease-in-out}html.theme-crossfade::view-transition-old(root){animation-duration:.22s;animation-timing-function:ease-in-out}html.theme-crossfade::view-transition-new(root){animation-duration:.22s;animation-timing-function:ease-in-out}html.theme-crossfade::view-transition{pointer-events:none}.project-card .card-copy>p{-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex-shrink:0;height:3.4em;min-height:3.4em;line-height:1.7;display:-webkit-box;overflow:hidden}.detail-meta .project-author{border-radius:3px;align-items:center;gap:6px;min-width:0;max-width:70%;display:inline-flex}.detail-meta .avatar-mini{display:inline-grid}.hero-text{width:100%}.hero-text>.eyebrow{color:var(--muted);letter-spacing:2px;font-size:11px}.hero-controls{margin-top:auto;padding-top:24px}.hero-controls button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.hero-image>img,.hero-text{animation:banner-reveal .28s ease-out}@keyframes banner-reveal{0%{opacity:.3}to{opacity:1}}@media (prefers-reduced-motion:reduce){.hero-image>img,.hero-text{animation:none}}.banner-english{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;margin:20px 0;padding:16px}.banner-english summary{cursor:pointer;font-size:12px;font-weight:600}.banner-english .micro{margin:12px 0;line-height:1.7}.banner-english .banner-wide{grid-column:1/-1}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--ryzo-orange:#FF6A00;--ryzo-black:#000000;--ryzo-bg:#121212;--ryzo-surface:#181818;--ryzo-surface-secondary:#242424;--ryzo-border:#3A3A3A;--ryzo-text-secondary:#A0A0A0;--ryzo-success:#34C759;--ryzo-info:#3B82F6;--ryzo-warning:#FFB020;--ryzo-error:#FF453A;--paper:#F5F5F5;--white:#FFFFFF;--ink:#000000;--muted:#666666;--line:#D9D9D9;--orange:var(--ryzo-orange);--orange-light:#FF6A0010;--green:#168A33;--font-display:"Teko Variable","Noto Sans SC Variable",sans-serif;--font-sans:"Noto Sans Variable","Noto Sans SC Variable",sans-serif;--side:232px}body{font-family:var(--font-sans);font-size:14px;line-height:1.6}body,h1,h2,h3,h4{letter-spacing:0}h1{font-size:40px;font-weight:700}h2{font-size:32px;font-weight:600}h3{font-size:20px}h4{font-size:18px}small{font-size:12px}.eyebrow,.mini-label{font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;font-weight:500}.button{font-size:14px;font-weight:500}.button.small{font-size:12px}.button:hover:not(:disabled){background:#242424;border-color:#242424}.button.secondary:hover:not(:disabled){background:var(--surface-alt);border-color:var(--line)}.text-link{font-size:14px}.micro,.muted{font-size:12px}.panel{background:var(--white)}.main-content{padding-top:36px}.topbar{background:var(--topbar-bg)}.page-footer{font-size:11px;color:var(--muted)}.page-intro p{font-size:14px;line-height:1.7}.brand{font-family:var(--font-sans);letter-spacing:-1px}.brand,.brand-mark{font-size:32px;font-weight:700}.brand-mark{font-family:var(--font-display);padding-bottom:0}.sidebar{background:#000;border-color:#242424;color:#FFF}.sidebar-section{font-size:11px;color:var(--muted);letter-spacing:.06em}.sidebar nav a{font-size:14px;color:#D9D9D9;padding:12px}.sidebar nav a:hover{background:#181818;color:#FFF}.sidebar nav a.active{background:#242424;color:#FF6A00;font-weight:500}.sidebar-bottom{border-top:1px solid #3a3a3a;padding-top:14px}.sidebar-bottom>a{font-size:12px;color:var(--muted)}.sidebar-bottom>a:hover{color:#FFF}.sidebar-foot{color:var(--muted)}.sidebar-foot,.sidebar-foot b{font-size:11px}.breadcrumb,.breadcrumb strong{font-size:12px}.local-badge{color:var(--muted);font-size:11px}.local-badge i{background:var(--ryzo-success)}.hero{background:var(--white);border-color:var(--line);grid-template-columns:46% 54%}.hero h2{font-family:var(--font-display);font-size:40px;line-height:1.35;letter-spacing:0;font-weight:700}.hero-copy>.eyebrow{color:var(--muted);font-size:12px;letter-spacing:.06em}.hero p{font-size:14px;color:var(--muted);line-height:1.7}.hero-controls{font-size:12px}.arrow-button{font-size:14px;font-weight:500}.arrow-button:hover:not(:disabled){color:var(--ink);background:#242424}.journey{background:var(--white)}.journey>div{font-size:12px;color:var(--muted)}.card-copy h3{font-size:20px}.card-copy>p{font-size:14px;line-height:1.6}.category-label{font-size:11px;color:var(--muted)}.card-meta{font-size:12px}.search input,.tabs button{font-size:14px}.project-id{font-family:var(--font-sans);font-size:12px;font-weight:500;padding:3px 8px;border:1px solid var(--line);border-radius:4px;color:var(--ink);white-space:nowrap}.detail-meta{flex-wrap:wrap;gap:10px}.detail-meta,.detail-meta .text-link{font-size:12px}.detail-meta [role=status]{color:var(--muted)}.detail-heading h1{font-size:40px}.detail-heading p{font-size:14px}.deploy-panel h2{font-size:24px}.deploy-panel label,.deploy-panel>p{font-size:14px}.deploy-note{font-size:12px}.panel-bottom{font-size:11px}.prose{font-size:16px;line-height:1.75}.prose h2{font-size:32px}.prose h3{font-size:24px}.module-detail h3{font-size:16px}.module-detail p{font-size:14px}.note-block{background:var(--white);border:1px solid var(--line);margin:20px 0;padding:22px}.note-block h3{font-size:18px}.note-block li,.note-block p{font-size:14px}.detail-wiring>.canvas-panel{margin-top:20px}.stats-row strong{font-family:var(--font-display);font-size:56px;font-weight:600;line-height:1}.stats-row span{font-size:14px}.project-row h3{font-size:16px}.project-row small{font-size:12px}.login-story{background:#000;color:#FFF}.login-story p{color:var(--muted)}.device-visual{background:#242424;color:#FFF}.device-visual .eyebrow{color:var(--muted)}.device-visual h2{font-family:var(--font-display);font-size:56px;letter-spacing:.02em;line-height:1}.device-visual>div>span{color:var(--muted)}.device-controls p{font-size:14px}.connection-steps{font-size:12px}.serial-log pre{background:#181818;color:#D9D9D9}.firmware-info strong{overflow-wrap:anywhere}.firmware-info code{color:var(--muted)}.hardware-card h3{font-size:18px}.hardware-card p{font-size:14px}.hardware-ports span{font-size:11px}.status-chip{font-size:12px;background:var(--surface-alt);color:var(--muted)}.status-chip.good,.success-note{background:#34C75914;border-color:#34C75940;color:#167C30}.connection-steps svg,.status-chip.good i,.status-text.good{color:#168A33}.error{color:#A51F17;background:#FF453A0D;border-color:#FF453A55}.danger{color:#BB251D}.danger-bg{background:var(--ryzo-error);border-color:var(--ryzo-error);color:var(--ink)}.recovery,.serial-help{color:#775000;background:#FFB0201A;border-color:#FFB02066}.serial-help p{color:#775000}.flash-action p{color:var(--muted)}.flash-action p svg{color:#9B6500}.stepper button{font-size:14px}.stepper .done{border-color:#34C759;color:#168A33}.module-picker-menu button,.module-picker-trigger,.palette label{font-size:12px}.palette-preview p{font-size:12px;color:var(--muted)}.palette-preview small{font-size:11px;color:var(--muted)}.module-name strong{font-size:14px}.status-text{font-size:12px}.canvas-panel{background:var(--white);border-color:var(--line)}.canvas-title{font-size:14px;background:var(--white);align-items:center}.canvas-mode,.canvas-title small{font-size:12px;color:var(--muted)}.canvas-mode{margin-left:auto;background:var(--surface-alt);padding:2px 9px;border-radius:4px}.canvas-help{font-size:12px;background:var(--white);color:var(--muted)}.flow-canvas{height:500px;background:var(--white)}.react-flow__node{transition:none!important}.hardware-node{width:150px;height:94px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font-family:var(--font-sans);box-shadow:none;overflow:visible}.hardware-node.root-node{width:280px;height:180px;padding:24px;background:#000;border-color:#000;color:#FFF}.hardware-node.selected{border-color:#FF6A00;box-shadow:0 0 0 2px #FF6A0033}.node-kind{font-size:11px;line-height:1.3;letter-spacing:.04em;color:var(--muted);margin:0 0 6px}.root-node .node-kind{color:var(--muted);margin-bottom:15px}.hardware-node.root-node>strong{font-family:var(--font-display);font-size:32px;font-weight:600;line-height:1.1;letter-spacing:.02em}.hardware-node>small{font-size:12px;color:var(--muted);margin:9px 0}.node-edit{min-height:18px;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5;font-size:12px;color:var(--ink)}.node-edit.node-name{font-weight:600}.node-edit.node-note{font-size:11px;color:var(--muted);margin-top:5px}.node-input{height:20px;font-family:var(--font-sans);font-size:12px!important}.node-bottom{font-family:var(--font-display);font-size:14px;padding-top:10px;margin-top:14px;letter-spacing:.05em}.root-node .node-bottom{border-color:#3A3A3A;color:var(--muted)}.react-flow__handle{background:#FF6A00!important;border-color:#FFF!important;width:9px!important;height:9px!important}.read-only-canvas .node-edit{cursor:default}.read-only-canvas .react-flow__node{cursor:grab}.read-only-canvas .react-flow__handle{pointer-events:none}.react-flow__controls-button{background:var(--white);color:var(--ink);border-color:var(--line)}.react-flow__controls-button:hover{background:var(--surface-alt)}.port-editor{margin:30px 0 24px}.port-group-tabs{display:flex;gap:8px;flex-wrap:wrap}.port-group-tabs>button{border:1px solid var(--line);border-radius:6px;padding:10px 14px;text-align:left;font-size:14px;background:var(--white)}.port-group-tabs>button.active{border-color:#FF6A00;box-shadow:inset 0 -2px #FF6A00}.port-group-tabs small{display:block;font-size:11px;margin-top:2px}.port-visual{padding:48px 28px;min-width:0;background:var(--surface-alt);margin-top:18px}.port-board,.port-visual{display:flex;justify-content:center;border:1px solid var(--line);border-radius:8px}.port-board{position:relative;width:360px;height:240px;background:var(--white);flex-direction:column;align-items:center;gap:12px;max-width:100%}.port-board.host{background:#000;color:#FFF;border-color:#000}.port-board>span{font-size:12px;letter-spacing:.06em;color:var(--muted)}.port-board>strong{font-family:var(--font-display);font-size:32px;font-weight:600;overflow-wrap:anywhere;padding:0 25px;text-align:center}.port-board>small{font-size:12px;color:var(--muted)}.port-dot{position:absolute;width:30px;height:30px;border-radius:50%;border:1px dashed #a0a0a0;display:flex;align-items:center;justify-content:center;background:var(--white);color:var(--muted);font:500 12px var(--font-sans);z-index:1;padding:0;touch-action:manipulation}.side-top{top:0;transform:translate(-50%,-50%)}.side-bottom{bottom:0;transform:translate(-50%,50%)}.side-left{left:0;transform:translate(-50%,-50%)}.side-right{right:0;transform:translate(50%,-50%)}.port-dot.assigned{background:#242424;color:#FFF;border:2px solid #fff;box-shadow:0 0 0 1px #666}.port-dot.current.assigned{background:#FF6A00;color:var(--ink);box-shadow:0 0 0 1px #FF6A00}.port-dot.chosen{outline:3px solid #3B82F6;outline-offset:3px}.port-dot:hover{outline:2px solid #FF6A00;outline-offset:3px}.port-hint{font-size:12px;color:var(--muted);margin:14px 0 8px}.port-selection-actions{display:flex;align-items:center;gap:15px;min-height:46px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.port-selection-actions>span{flex:1}.port-selection-actions .text-link{font-size:12px}.interface-editor{background:var(--white);border:1px solid var(--line)}.port-mapping-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.port-mapping-list button{border:1px solid var(--line);border-radius:5px;text-align:left;padding:8px 12px;font-size:12px}.port-mapping-list button.active{border-color:#3B82F6;background:#3B82F60D}.port-mapping-list span{display:block;color:var(--muted);font-size:11px;margin-top:3px}@media(max-width:1100px){.hero h2{font-size:32px}.hero-copy{padding:28px}.hero p{font-size:14px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-copy h3{font-size:18px}}@media(max-width:700px){.detail-heading h1,.editor-heading h1,.page-intro h1,h1{font-size:32px}h2{font-size:24px}.hero{grid-template-columns:1fr}.hero h2{font-size:32px}.hero-copy{padding:26px}.hero p,.page-intro p{font-size:14px}.main-content{padding:24px 18px 40px}.project-grid{grid-template-columns:1fr}.card-copy h3{font-size:20px}.card-copy>p{font-size:14px;min-height:0}.card-meta,.tabs button{font-size:12px}.arrow-button,.button{font-size:14px}.button.small{font-size:12px}.device-visual h2{font-size:40px}.device-controls h2,.firmware-panel h2{font-size:24px}.prose{font-size:14px}.prose h2{font-size:24px}.deploy-panel{display:block}.deploy-panel label{margin-top:14px}.deploy-panel .deploy-button{display:flex;width:100%;margin-top:20px}.deploy-note{font-size:12px;margin-top:12px}.detail-meta{gap:8px}.hardware-grid{grid-template-columns:1fr}.flow-canvas{height:400px}.canvas-title{padding:12px}.canvas-help{padding:10px 12px;font-size:11px}.port-visual{padding:40px 24px}.port-board{height:210px}.port-dot{width:26px;height:26px}.port-group-tabs>button{font-size:12px}.port-board>strong{font-size:24px}.project-row h3{font-size:14px}.project-row small{font-size:11px}.form-grid{grid-template-columns:1fr}.palette{display:block}.palette .module-picker{margin-top:18px}.journey>div,.page-footer{font-size:11px}.modal{padding:18px}}:root{--selection-surface:#FFF0E5;--selection-border:#FFC499}::selection{background:#FF6A002E;color:var(--ink)}.module-picker-menu button.active,.module-picker-menu button:hover{background:var(--selection-surface);color:var(--ink)}.module-picker-menu button.active{box-shadow:inset 3px 0 #FF6A00;font-weight:600}.added-module.selected{background:var(--selection-surface);border-color:var(--selection-border);color:var(--ink)}.added-module.selected .module-name strong{color:var(--ink)}.added-module.selected small{color:var(--muted)}.arrow-button:focus-visible:not(:disabled),.arrow-button:hover:not(:disabled){background:#FF6A00;color:#FFF;box-shadow:0 0 0 3px #FF6A0026;filter:none}.arrow-button:active:not(:disabled){background:#E85F00;color:#FFF}.arrow-button:hover:not(:disabled)>span{background:var(--white);color:#FF6A00}.arrow-button{transition:box-shadow .15s ease,transform .15s ease}.detail-actions{display:flex;flex-direction:column;gap:8px;width:132px;flex-shrink:0;align-self:flex-start;padding-top:6px}.detail-actions>.button{width:100%;min-height:40px;justify-content:center}.share-status{font-size:12px;color:var(--muted);text-align:center;min-height:18px}.draft-change{display:block;color:#8C4200;font-size:11px;margin-top:3px}@media(max-width:700px){.detail-heading{flex-wrap:wrap}.detail-actions{width:128px;align-self:flex-start}.detail-actions>.button{min-height:40px}}.arrow-button:before{display:none}.detail-main>article.prose{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:28px}.detail-main>article.prose>:first-child{margin-top:0}.detail-main>article.prose>:last-child{margin-bottom:0}.detail-wiring>.module-detail{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:12px}.added-module,.file-row,.files-section .file-group{transition:background-color .16s ease,border-color .16s ease}.files-section .file-group:hover{border-color:var(--selection-border);background:#FFFCFA}.files-section .file-row{padding:13px 12px;margin:0 -12px;border-radius:5px}.files-section .file-row:focus-visible,.files-section .file-row:hover{background:var(--selection-surface);color:var(--ink)}.files-section .file-row:hover>svg{color:#C75100}.added-module:focus-within,.added-module:hover{background:#FFF7F0;border-color:var(--selection-border)}.added-module.selected:focus-within,.added-module.selected:hover{background:#FFE8D6}.module-node{position:relative}.module-node .node-kind{padding-right:24px}.node-flip{position:absolute;top:5px;right:5px;width:24px;height:24px;padding:0;display:grid;place-items:center;border-radius:4px;border:1px solid transparent;color:var(--muted);background:var(--white);cursor:pointer}.node-flip:focus-visible,.node-flip:hover{color:var(--ink);background:var(--selection-surface);border-color:var(--selection-border)}.node-flip[aria-pressed=true]{color:#A84400;background:var(--selection-surface)}@media(max-width:700px){.detail-main>article.prose{padding:20px}.detail-wiring>.module-detail{padding:16px}}@media(prefers-reduced-motion:reduce){.added-module,.file-row,.files-section .file-group{transition:none}}.module-node .node-edit[role=button]{cursor:grab;user-select:none}.module-node .node-edit[role=button]:active{cursor:grabbing}.editor-upload-status{padding:10px 14px;background:#FFF7F0;color:var(--muted);font-size:12px}.main-content>.projects-section:first-child{margin-top:0}.device-runtime{margin:24px 0}.device-config-panel,.device-status-panel{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:28px}.device-runtime h2{font-size:24px}.device-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.device-metrics>div{display:flex;flex-direction:column;gap:10px}.device-metrics small,.device-metrics span,.device-network dt{color:var(--muted);font-size:12px}.device-metrics strong{font-size:18px}.device-metrics progress{width:100%;height:6px;accent-color:var(--orange)}.device-network{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:20px}.device-network dd{margin:8px 0 0;overflow-wrap:anywhere}.device-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.device-config-panel form{display:grid;gap:16px}.device-config-panel>p{margin:12px 0 22px}.device-config-panel label:not(.device-check){display:grid;gap:8px;font-size:13px}.device-config-panel input:not([type=checkbox]),.device-config-panel select{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:5px;background:var(--white);font:inherit}.device-config-panel input:disabled{background:var(--paper);color:var(--muted)}.device-check{display:flex;align-items:center;gap:8px;font-size:12px}.device-check input{width:15px;height:15px;accent-color:var(--orange)}.device-check small{margin-left:auto;color:var(--muted)}.device-slot{display:grid;gap:8px}.device-config-panel .button{justify-self:start}.device-config-panel .micro{margin:0}.device-runtime .error{margin:16px 0}.device-runtime .success-note{margin-top:20px}@media(max-width:800px){.device-config-grid{grid-template-columns:1fr}.device-config-panel,.device-status-panel{padding:20px}.device-metrics,.device-network{grid-template-columns:1fr;gap:18px}.device-runtime h2{font-size:20px}}:root{--surface-alt:#eee;--topbar-bg:#fffffff5;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--paper:#121212;--white:#1c1c1c;--ink:#f3f3f3;--muted:#acacac;--line:#383838;--surface-alt:#292929;--topbar-bg:#1c1c1cf5;--orange-light:#ff6a001c;--green:#66d68a}.preference-controls{display:flex;align-items:center;gap:10px}.language-control,.theme-control{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font-size:12px;white-space:nowrap}.language-control select{width:auto;margin:0;border:0;background:transparent;padding:6px 18px 6px 0;box-shadow:none}.theme-control:hover{background:var(--surface-alt)}.top-actions{flex-wrap:wrap}.hero .arrow-button{background:#000;color:#fff;border:1px solid #444}.hero .arrow-button>span{background:#fff;color:#000}.hero .arrow-button:hover:not(:disabled){background:#242424;color:#fff}.hero .arrow-button:hover:not(:disabled)>span{color:#000}.device-visual img{mix-blend-mode:normal;filter:none;opacity:1}.device-page:not(.compact)>.device-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1fr) minmax(0,1.4fr);gap:18px;align-items:stretch}.device-page:not(.compact) .device-visual{min-height:0;padding:22px}.device-page:not(.compact) .device-visual img{height:160px}.device-page:not(.compact) .device-visual>div{display:block}.device-page:not(.compact) .device-visual h2{font-size:40px}.device-page:not(.compact) .device-controls{padding:22px}.device-grid h2{font-size:22px}.device-grid .section-heading{gap:10px;flex-wrap:wrap;margin-bottom:16px}.device-grid .device-status-panel{padding:22px}.device-grid .device-metrics{gap:16px;margin:20px 0}.device-grid .device-metrics strong{font-size:14px;overflow-wrap:anywhere}.device-grid .device-metrics small,.device-grid .device-metrics span{font-size:11px}.device-grid .device-network{gap:12px;font-size:12px}.device-grid .micro{margin-top:10px}.device-grid .connection-steps{margin:16px 0}.device-grid .device-controls p{font-size:12px}.device-runtime{margin:0 0 24px}.device-config-grid{margin-top:0}.wifi-name-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.wifi-name-heading label{margin:0}.wifi-name-heading .device-check{font-weight:400;white-space:nowrap}.wifi-name-heading input{margin:0}.device-config-panel .wifi-name-heading+input,.device-config-panel .wifi-name-heading+select{margin-top:0}[data-theme=dark] .device-config-panel,[data-theme=dark] .device-status-panel,[data-theme=dark] .project-card{background:var(--white);border-color:var(--line)}[data-theme=dark] .canvas-help,[data-theme=dark] .canvas-panel,[data-theme=dark] .canvas-title,[data-theme=dark] .device-config-panel input,[data-theme=dark] .device-config-panel select,[data-theme=dark] .flow-canvas,[data-theme=dark] .modal,[data-theme=dark] .module-picker-menu,[data-theme=dark] .prose,[data-theme=dark] .rich-editor-wrap{background:var(--white);color:var(--ink)}[data-theme=dark] .device-config-panel input:disabled{background:var(--surface-alt)}[data-theme=dark] .react-flow__controls-button{background:var(--surface-alt);border-color:var(--line);fill:var(--ink)}[data-theme=dark] .react-flow__background-pattern{fill:var(--line)}[data-theme=dark] .react-flow__attribution{background:var(--white);color:var(--muted)}[data-theme=dark] .error{color:#ffb4aa;background:#ff453a15;border-color:#ff453a55}[data-theme=dark] .status-chip.good,[data-theme=dark] .status-text.good,[data-theme=dark] .success-note{color:#7ce49a}[data-theme=dark] .flash-action p svg,[data-theme=dark] .recovery,[data-theme=dark] .serial-help,[data-theme=dark] .serial-help p{color:#f6cf7d}[data-theme=dark] .hardware-node.root-node,[data-theme=dark] .sidebar{color:#fff}[data-theme=dark] .node-input{background:var(--surface-alt);color:var(--ink)}[data-theme=dark] .rich-editor img{background:transparent}@media(max-width:1200px){.device-page:not(.compact)>.device-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.device-grid>.device-status-panel{grid-column:1/-1}.local-badge{display:none}}@media(max-width:640px){.device-page:not(.compact)>.device-grid{grid-template-columns:1fr}.device-page:not(.compact) .device-visual{min-height:210px}.device-page:not(.compact) .device-visual img{height:130px}.device-grid .device-metrics,.device-grid .device-network{grid-template-columns:1fr}.topbar{gap:10px}.breadcrumb>span,.breadcrumb>strong,.breadcrumb>svg{display:none}.preference-controls,.top-actions{gap:6px}.language-control,.theme-control{padding:0 7px}.theme-control span{display:none}.wifi-name-heading{flex-wrap:wrap}.wifi-name-heading .device-check{margin-left:auto}}[data-theme=dark] .added-module:focus-within,[data-theme=dark] .added-module:hover,[data-theme=dark] .editor-upload-status,[data-theme=dark] .files-section .file-group:hover{background:#ff6a0018}[data-theme=dark] .added-module.selected:focus-within,[data-theme=dark] .added-module.selected:hover{background:#ff6a0028}[data-theme=dark] .draft-change,[data-theme=dark] .node-flip[aria-pressed=true]{color:#ffad70}[data-theme=dark] .card-open,[data-theme=dark] .favorite{background:#242424ed;color:#fff}[data-theme=dark] .favorite.selected{color:#ff8a38}[data-theme=dark] .device-visual{background:#242424}[data-theme=dark] .device-config-panel .device-check{color:var(--ink)}.device-visual .eyebrow,.device-visual>div>span{color:#bfbfbf}.language-picker{position:relative}.language-control{cursor:pointer;min-width:108px;justify-content:space-between}.language-control:hover,.language-control[aria-expanded=true]{background:var(--surface-alt)}.language-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:152px;padding:5px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0002;z-index:60}.language-menu button{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:9px 11px;font-size:13px;border-radius:4px;text-align:left;color:var(--ink);background:transparent}.language-menu button:focus-visible,.language-menu button:hover{background:var(--surface-alt);outline:none}.language-menu button[aria-checked=true]{background:var(--orange-light);color:var(--ink)}.language-menu button[aria-checked=true] svg{color:var(--orange)}.preference-controls .theme-control{border:0;background:transparent;width:34px;height:34px;min-height:34px;padding:0;justify-content:center;color:var(--muted)}.preference-controls .theme-control:hover{background:var(--surface-alt);color:var(--ink)}.breadcrumb-parent{border-radius:3px;color:var(--muted)}.breadcrumb-parent:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.device-page:not(.compact)>.device-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr) minmax(0,1fr)}@media(min-width:641px) and (max-width:1200px){.device-page:not(.compact)>.device-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.device-page:not(.compact) .device-visual{grid-column:1;grid-row:1}.device-page:not(.compact) .device-controls{grid-column:2;grid-row:1}.device-page:not(.compact) .device-status-panel{grid-column:1/-1;grid-row:2}}@media(max-width:640px){.device-page:not(.compact)>.device-grid{grid-template-columns:1fr}.language-control{min-width:100px}.breadcrumb-parent{font-size:12px}}.sidebar nav a i.device-connected{background:var(--ryzo-success)}.device-config-panel select#wifi-name{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' 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 14px center;background-size:16px}.sidebar nav.public-nav{flex:1}.sidebar nav.public-nav>a[href="/device"]{margin-top:auto;margin-bottom:14px}.device-controls{display:flex;flex-direction:column}.device-connection-actions{margin-top:auto;padding-top:8px}.project-card{display:flex;flex-direction:column}.project-card>.project-image{flex-shrink:0}.project-card>.card-copy{display:flex;flex-direction:column;flex:1}.card-copy>.card-meta{margin-top:auto}.sidebar-support svg{flex-shrink:0}.sidebar-support span{white-space:nowrap}.sidebar-socials{display:flex;align-items:center;gap:8px;flex-shrink:0}.sidebar-socials>a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--muted);transition:color .15s,background .15s}.sidebar-socials>a:hover{color:var(--ink);background:var(--surface-alt)}.sidebar-socials>a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.sidebar-socials svg{display:block}.top-actions{column-gap:24px}@media(max-width:640px){.topbar{height:auto;min-height:62px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}.top-actions{column-gap:16px;row-gap:10px;margin-left:auto}.sidebar-socials{gap:6px}.sidebar-socials>a{width:30px;height:30px}}.sidebar-foot{gap:12px;letter-spacing:0}.sidebar-foot .sidebar-socials{justify-content:flex-start;gap:8px}.sidebar-foot .sidebar-socials>a{width:30px;height:30px;background:transparent;color:inherit}.collapsed .sidebar-foot{display:flex;margin:18px 0 0;justify-content:center}.collapsed .sidebar-foot b{display:none}.collapsed .sidebar-socials{flex-direction:column}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:20px 0}.prose td,.prose th{min-width:120px;border:1px solid var(--line);padding:10px 14px;vertical-align:top;position:relative}.prose th{font-weight:600;color:var(--ink);background:var(--surface-alt)}.prose td p,.prose th p{margin:0}.prose pre{white-space:pre;overflow-x:auto;tab-size:2;margin:20px 0}.prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95em}.prose :not(pre)>code{background:var(--surface-alt);padding:2px 5px;border-radius:3px}.rich-editor .selectedCell:after{content:"";position:absolute;inset:0;pointer-events:none;background:#ff6a0022}.rich-editor .tableWrapper{overflow-x:auto}.editor-toolbar button[aria-pressed=true]{color:var(--orange);background:var(--white)}.editor-insert-panel{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:14px;border-bottom:1px solid var(--line);background:var(--surface-alt)}.editor-insert-panel label{flex:1;min-width:130px;margin:0;font-size:12px}.editor-insert-panel input{margin-top:6px}.editor-insert-panel input[type=number]{max-width:100px}.editor-table-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line)}.editor-table-actions button{font-size:12px;padding:5px 10px;border:1px solid var(--line);border-radius:4px}.editor-color{display:grid;place-items:center;width:30px;height:30px;position:relative;margin:0!important;font-size:17px;font-weight:700;cursor:pointer;border-bottom:3px solid var(--orange)}.editor-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.editor-color:focus-within{outline:2px solid var(--orange)}@media(min-width:701px) and (max-width:960px){.sidebar-foot{display:flex;margin:18px 0 0;justify-content:center}.sidebar-foot b{display:none}.sidebar-socials{flex-direction:column}}@media(max-width:700px){.menu-open .sidebar-foot{display:flex}.menu-open .sidebar-socials{flex-direction:row}}.editor-color-panel .editor-swatch{width:28px;height:28px;border:2px solid var(--line);border-radius:50%;align-self:center;flex:none}.editor-color-panel label{flex:0;min-width:90px}.editor-color-panel input[type=color]{width:90px;height:34px;padding:3px;cursor:pointer}.editor-color-panel .editor-swatch:focus-visible{outline:2px solid var(--orange);outline-offset:3px}:root[data-theme=dark]{--selection-surface:#3b2a20;--selection-border:#845023}[data-theme=dark] .added-module:focus-within,[data-theme=dark] .added-module:hover{background:var(--surface-alt)}[data-theme=dark] .added-module.selected,[data-theme=dark] .added-module.selected:focus-within,[data-theme=dark] .added-module.selected:hover{background:var(--selection-surface);border-color:var(--selection-border)}[data-theme=dark] .node-flip[aria-pressed=true]{color:var(--orange)}[data-theme=dark] .files-section .file-group:hover{background:var(--surface-alt)}.beta-badge,.nav-beta{display:inline-flex;align-items:center;border:1px solid #ff6a0040;background:#ff6a0012;color:var(--orange);border-radius:4px;font-size:11px;font-weight:600;line-height:1.5;padding:2px 6px;white-space:nowrap}.sidebar nav a[href="/link"]{gap:8px}.sidebar nav a[href="/link"]>span{white-space:nowrap}.nav-beta{font-size:9px;padding:1px 4px}.collapsed .nav-beta{display:none}.link-page{--lua-literal:#287757;min-width:0}.link-page button{white-space:nowrap}.link-heading{justify-content:space-between;gap:24px;margin-bottom:24px}.link-heading,.link-title{display:flex;align-items:center}.link-title{gap:12px}.link-title h1{font-size:30px;line-height:1.4}.link-heading p{color:var(--muted);font-size:13px;margin-top:8px}.link-actions{display:flex;align-items:center;gap:10px}.link-device-strip{display:flex;align-items:center;gap:22px;padding:15px 20px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-size:12px;color:var(--muted);margin-bottom:22px;flex-wrap:wrap}.link-device-strip>a{margin-left:auto;gap:6px}.link-connection,.link-device-strip>a{display:flex;align-items:center;color:var(--ink)}.link-connection{gap:8px}.link-connection i{width:6px;height:6px;background:var(--muted);border-radius:50%}.link-connection.link-good i{background:var(--ryzo-success)}.link-good{color:var(--ryzo-success)}.link-firmware{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-page>.error,.link-page>.success-note{margin:0 0 20px}.link-warning{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #d99a3640;background:#d99a3612;border-radius:6px;margin-bottom:20px;font-size:12px}.link-warning span{flex:1}.link-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:stretch}.link-panel{border:1px solid var(--line);background:var(--white);border-radius:8px;overflow:hidden;min-width:0}.link-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:14px 20px;border-bottom:1px solid var(--line)}.link-panel-heading h2{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}.link-panel-heading h2 small{font-size:11px;color:var(--muted);font-weight:400}.link-panel .button.small{min-height:30px;padding:6px 10px;font-size:11px;gap:6px}.link-editor-panel{display:flex;flex-direction:column}.link-draft-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);min-height:42px;background:var(--paper)}.link-draft-tabs>div{display:flex;align-items:center;flex-shrink:0;border-right:1px solid var(--line);border-bottom:2px solid transparent;color:var(--muted)}.link-draft-tabs>div.selected{background:var(--white);border-bottom-color:var(--orange);color:var(--ink)}.link-draft-tabs button{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:11px}.link-draft-tabs button+button{padding-left:0}.link-filename{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.link-filename label{margin:0;font-size:11px;white-space:nowrap}.link-filename input{padding:4px 8px;margin:0;font:inherit;color:var(--ink);border:1px solid transparent;border-radius:4px;background:transparent;min-width:0;max-width:280px}.link-filename input:focus,.link-filename input:hover{border-color:var(--line)}.link-filename>span{margin-left:auto}.link-code-editor{height:560px;font-size:13px}.link-editor-panel [role=tabpanel]{flex:1;min-height:0}.link-code-editor .cm-editor{min-height:560px}.link-code-editor .cm-search input{width:auto;padding:3px;margin:0;font-size:12px}.link-editor-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);gap:14px}.link-editor-foot>span:first-child{display:flex;gap:6px;align-items:center}.link-tools{display:flex;flex-direction:column;gap:20px;min-width:0}.link-files{flex:1;display:flex;flex-direction:column}.link-file-list{max-height:260px;overflow:auto;min-height:100px;flex:1}.link-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:130px;padding:20px;font-size:12px;color:var(--muted);text-align:center}.link-editor-panel>.link-empty{flex:1;min-height:400px}.link-file-row{padding:10px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.link-file-row>div:first-child{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.link-file-name{overflow:hidden;text-overflow:ellipsis;font-size:12px;text-align:left}.link-file-row small{font-size:10px;color:var(--muted);white-space:nowrap;margin-left:auto}.link-file-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.link-file-actions button{padding:5px;display:flex;color:var(--muted)}.link-file-actions button:hover{background:var(--surface-alt);border-radius:4px}.link-file-actions button:disabled{opacity:.35;cursor:not-allowed}.link-danger{color:#c44932!important}.link-storage{padding:14px 18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.link-storage>div{display:flex;justify-content:space-between;gap:10px}.link-storage progress{width:100%;height:4px;margin-top:8px;accent-color:var(--orange)}.link-jobs{padding:8px 16px;border-top:1px solid var(--line)}.link-jobs>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:12px}.link-jobs b{font-weight:500;display:block}.link-jobs small{color:var(--muted);font-size:10px}.link-preview{width:240px;height:240px;position:relative;margin:20px auto;background:#111;border:1px solid var(--line);border-radius:8px;overflow:hidden}.link-preview canvas{display:block;width:240px;height:240px;touch-action:none}.link-preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#aaa;font-size:12px;pointer-events:none}.link-preview-empty small{font-size:10px;color:#777;letter-spacing:2px}.link-simulator-foot{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);padding:0 18px 16px}.link-simulator .error{margin:0 16px 16px;font-size:11px;max-height:100px;overflow:auto}.link-output{margin-top:20px}.link-log-filters{display:flex;gap:2px}.link-log-filters button{padding:4px 10px;font-size:11px;border-radius:4px;color:var(--muted)}.link-log-filters button.active{background:var(--surface-alt);color:var(--ink)}.link-log-lines{height:180px;overflow:auto;font-size:12px;padding:14px 20px;font-family:Consolas,monospace}.link-log-lines>div{display:flex;align-items:baseline;gap:12px}.link-log-lines time{color:var(--muted);white-space:nowrap;font-size:10px}.link-log-source{font-size:10px;color:var(--muted);min-width:42px}.link-log-lines pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;flex:1;font:inherit}.link-log-lines>p{color:var(--muted);font-family:var(--font-sans)}.link-console{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line)}.link-console>span{color:var(--orange);font-size:20px}.link-console input{background:transparent;border:0;margin:0;padding:6px;font:12px Consolas,monospace;flex:1;min-width:0;outline:none;color:var(--ink)}.link-beta-note{font-size:11px;color:var(--muted);margin-top:18px}.link-beta-note a{margin-left:12px}.link-confirm-file{display:flex;gap:10px;align-items:center;font-size:18px;padding:20px 0}.link-spin{animation:spin 1s linear infinite}[data-theme=dark] .link-page{--lua-literal:#94c49f}[data-theme=dark] .link-danger{color:#ffac9e!important}@media(max-width:1100px){.link-workspace{grid-template-columns:minmax(0,1fr) 290px}.link-panel-heading{padding:12px 14px}.link-panel-heading h2{font-size:13px}.link-heading{gap:12px}.link-code-editor{font-size:12px}.link-actions{gap:6px}}@media(max-width:960px){.nav-beta{display:none}.link-workspace{grid-template-columns:minmax(0,1fr)}.link-tools{display:grid;grid-template-columns:1fr 1fr}.link-code-editor,.link-code-editor .cm-editor{height:420px;min-height:420px}.link-heading{align-items:flex-start}.link-heading h1{font-size:26px}.link-heading>.link-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:700px){.menu-open .nav-beta{display:inline-flex}.link-heading{flex-direction:column;gap:16px}.link-device-strip{gap:12px;padding:14px}.link-device-strip>a{margin-left:0}.link-device-strip>span:nth-child(2){max-width:100%}.link-tools{grid-template-columns:1fr}.link-panel-heading{flex-wrap:wrap}.link-editor-foot{font-size:10px;flex-wrap:wrap}.link-log-lines{padding:12px}.link-log-source{display:none}.link-console input{font-size:11px}.link-warning{flex-wrap:wrap}}.link-firmware-hint a{display:inline-flex;align-items:center;gap:3px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.link-firmware-hint a:hover{color:var(--orange)}.link-device-notice{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.link-device-strip>.link-connection,.link-device-strip>a{flex-shrink:0}.link-device-navigation{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap}.link-device-navigation .link-firmware-hint{margin:0;font-size:12px;line-height:1.6}.link-device-navigation>a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);white-space:nowrap}.link-device-navigation .link-firmware-hint a{white-space:nowrap}@media(max-width:700px){.link-device-navigation{width:100%;margin-left:0;gap:12px;justify-content:flex-start}}