*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),PingFang SC,Hiragino Sans GB,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.left-0{left:0}.left-0\.5{left:.125rem}.right-0{right:0}.right-\[-3px\]{right:-3px}.top-0{top:0}.z-10{z-index:10}.col-span-12{grid-column:span 12/span 12}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.mx-2\.5{margin-left:.625rem;margin-right:.625rem}.-mt-1{margin-top:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-2{height:.5rem}.h-4{height:1rem}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-\[86px\]{height:86px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-3{width:.75rem}.w-\[228px\]{width:228px}.w-\[7px\]{width:7px}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_118px\]{grid-template-columns:1fr 118px}.grid-cols-\[72px_1fr\]{grid-template-columns:72px 1fr}.grid-rows-\[minmax\(0\2c 1\.28fr\)_minmax\(0\2c 0\.82fr\)_minmax\(0\2c 0\.98fr\)_minmax\(0\2c 0\.68fr\)\]{grid-template-rows:minmax(0,1.28fr) minmax(0,.82fr) minmax(0,.98fr) minmax(0,.68fr)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.bg-\[\#f3e6c8\]\/40{background-color:hsla(42,64%,87%,.4)}.bg-black\/5{background-color:rgba(0,0,0,.05)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pr-1{padding-right:.25rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,Menlo,monospace}.font-sans{font-family:var(--font-sans),PingFang SC,Hiragino Sans GB,system-ui,sans-serif}.font-serif{font-family:var(--font-display),Songti SC,STSong,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[7px\]{font-size:7px}.text-\[9px\]{font-size:9px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-medium{font-weight:500}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-normal{letter-spacing:0}.tracking-widest{letter-spacing:.1em}.text-\[\#5c4e3a\]{--tw-text-opacity:1;color:rgb(92 78 58/var(--tw-text-opacity,1))}.text-\[\#f0e4c8\]{--tw-text-opacity:1;color:rgb(240 228 200/var(--tw-text-opacity,1))}.text-\[\#f6ecd0\]{--tw-text-opacity:1;color:rgb(246 236 208/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.outline-none{outline:2px solid transparent;outline-offset:2px}.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)}:root{--wood:#2a1f14;--wood-mid:#3d2c1c;--wood-edge:#14100a;--brass:#c4a35a;--brass-deep:#8a6a32;--brass-lite:#e6d09a;--parchment:#e8d6b4;--parchment-lite:#f3e6c8;--ink:#2a2116;--ink-soft:#5c4e3a;--panel-head:#23180f}*{box-sizing:border-box}body,html{height:100%}body{color:var(--ink);background:var(--wood-edge);-webkit-font-smoothing:antialiased}.workshop-bg{background-color:#1c130c;background-image:linear-gradient(180deg,rgba(18,10,6,.45),rgba(12,8,5,.62)),url(/organ-pipe-desk/walnut-grain.webp);background-size:auto,640px auto;background-repeat:repeat}.sidebar-bg{background-color:#241810;background-image:linear-gradient(180deg,rgba(42,28,16,.55),rgba(16,10,6,.7)),url(/organ-pipe-desk/walnut-grain.webp);background-size:auto,480px auto;border-right:1px solid var(--brass-deep);box-shadow:inset -10px 0 18px rgba(0,0,0,.35)}.brand-title{font-family:var(--font-display),"Songti SC","STSong",serif;font-size:22px;line-height:1.2;font-weight:600;color:var(--brass-lite);letter-spacing:.06em;text-shadow:0 1px 0 #1a1208,0 0 12px rgba(196,163,90,.25)}.brand-sub{font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.12em;color:#c4a35a99;margin-top:4px}.nav-link{color:#d8c8a8cc;border:1px solid transparent}.nav-link:hover{background:rgba(196,163,90,.08);color:#f0e4c8}.nav-active{background:linear-gradient(180deg,#6b4a28,#4a321c);border:1px solid var(--brass-deep);color:#f6ecd0;box-shadow:inset 0 1px 0 hsla(43,60%,75%,.25)}.workshop-stage{background:linear-gradient(180deg,rgba(26,16,10,.35),rgba(18,10,6,.5))}.header-bar{background:linear-gradient(180deg,#3a2a1c,#2a1c12);border-color:var(--brass-deep);color:#f3e6c8}.header-bar h1{font-family:var(--font-display),"Songti SC",serif;color:var(--brass-lite)}.panel{background:var(--parchment);border:1px solid var(--brass-deep);box-shadow:inset 0 1px 0 rgba(255,248,230,.4),0 2px 0 rgba(18,10,6,.45);display:flex;flex-direction:column;min-width:0;overflow:hidden}.panel-head{background:linear-gradient(180deg,#3a2a1c,#23180f);color:var(--brass-lite);font-family:var(--font-display),"Songti SC",serif;font-size:13px;letter-spacing:.08em;padding:6px 10px;border-bottom:1px solid var(--brass-deep);display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-body{background-image:linear-gradient(180deg,rgba(255,248,230,.32),transparent 38%),repeating-linear-gradient(0deg,rgba(90,60,28,.03),transparent 1px,transparent 8px);padding:8px;flex:1;min-height:0}.app-card,.panel-body{background-color:var(--parchment)}.app-card{background-image:linear-gradient(180deg,rgba(255,248,230,.35),transparent 40%),repeating-linear-gradient(0deg,rgba(90,60,28,.035),transparent 1px,transparent 8px);border:1px solid var(--brass-deep);box-shadow:inset 0 1px 0 rgba(255,248,230,.45),0 2px 0 rgba(26,16,8,.35)}.panel-title{font-family:var(--font-display),"Songti SC",serif;color:#4a3820;position:relative;padding-bottom:6px}.panel-title:after{content:"";display:block;width:48px;height:1px;margin-top:6px;background:linear-gradient(90deg,var(--brass),transparent)}.btn-primary{background:linear-gradient(180deg,#c4a35a,#8a6a32);color:#1a1208}.btn-leather{background:linear-gradient(180deg,#5a3a22,#3a2416);border:1px solid var(--brass-deep);color:#f0e4c8;box-shadow:inset 0 1px 0 hsla(43,60%,75%,.2),0 1px 0 #120c08}.btn-leather:hover{background:linear-gradient(180deg,#6b4a28,#4a321c)}.status-warn{border:1px solid #c88a40;background:#c88a4014}.status-fail{border:1px solid #8a3a28;background:#8a3a2810}.text-muted{color:var(--ink-soft)}.accent-text{color:var(--brass-lite)}.num-display{font-variant-numeric:tabular-nums;letter-spacing:.02em}.side-panel{background:linear-gradient(180deg,#2a1e14,#1c140e);color:#f0e4c8;box-shadow:inset 0 1px 0 hsla(43,60%,75%,.18),0 2px 0 rgba(26,16,8,.4)}.process-step,.side-panel{border:1px solid var(--brass-deep)}.process-step{background:linear-gradient(180deg,#f3e6c8,#dfc89a);min-height:56px;color:#4a3820}.process-active{border:1px solid var(--brass);background:linear-gradient(180deg,#6b4a28,#4a321c);color:#f6ecd0;box-shadow:inset 0 1px 0 hsla(43,60%,75%,.3)}.trend-bar{background:linear-gradient(180deg,var(--brass-lite) 0,var(--brass-deep) 100%);box-shadow:0 0 8px rgba(196,163,90,.35)}.motif{background:radial-gradient(ellipse at 50% 80%,#c4a35a22 0,transparent 55%)}.header-bar .text-muted,.side-panel .text-muted{color:#d8c8a8aa}.info-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.55;color:#d8c8a8}.info-row b{color:var(--brass-lite);font-weight:500}.gauge-label{font-size:10px;color:#d8c8a8;text-align:center}.pipe-metal{background:linear-gradient(90deg,#8a8a8a,#ececec 38%,#9a9a9a 62%,#c8c8c8);border:1px solid #6a6a6a;box-shadow:inset 2px 0 0 hsla(0,0%,100%,.35)}.pipe-brass{background:linear-gradient(90deg,#8a6a28,#e6d09a 38%,#b08a40 62%,#d4b46a);border:1px solid #6a5018}.pipe-wood{background:linear-gradient(90deg,#5a3a1c,#c4a060 38%,#7a4e24 70%,#a07038);border:1px solid #3a2410}.piano-white{background:linear-gradient(180deg,#f8f1dc,#e4d6b0);border:1px solid #6a5028}.piano-black{background:linear-gradient(180deg,#2a2116,#120e0a);border:1px solid #1a120c}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{text-align:left;font-weight:500;color:#5c4e3a;border-bottom:1px solid var(--brass-deep)}.data-table td,.data-table th{padding:4px 6px;white-space:nowrap}.data-table td{border-bottom:1px solid rgba(138,106,50,.25)}.data-table tbody tr:nth-child(2n){background:rgba(196,163,90,.12)}.data-table tbody tr.active{background:rgba(107,74,40,.18)}.gantt-bar{height:16px;border-radius:2px;font-size:9px;line-height:16px;padding:0 6px;color:#1a1810;overflow:hidden}.gantt-plan{background:#b7d4ea}.gantt-run{background:#c4a35a;color:#1a1208}.gantt-check{background:#7aa8a0}.gantt-done{background:#5d8a4a;color:#f4f7f0}.step-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--brass-deep);flex-shrink:0}.step-dot.done{background:#5d8a4a}.step-dot.current{background:#b43c2c;box-shadow:0 0 0 3px rgba(180,60,44,.25)}.step-dot.wait{background:#d8c8a0}.desk-scroll{height:960px;overflow:hidden}.mini-chip{font-size:10px;padding:1px 6px;border:1px solid var(--brass-deep);background:rgba(196,163,90,.12)}.disabled\:opacity-50:disabled{opacity:.5}