@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");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}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-display:"Manrope","Manrope Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");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}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_1f5b15{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_1f5b15{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--ink:#17211d;--muted:#66716c;--paper:#f4f5f1;--card:#fff;--green:#18694b;--lime:#d9f55f;--line:#dfe4dd;--orange:#d96c2f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Noto Sans TC,sans-serif}header{height:76px;padding:0 max(24px,calc((100% - 1180px) / 2));gap:36px;background:#fff;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:5}.brand,header{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;color:var(--ink);font-weight:800}.brand small{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--ink);color:var(--lime);border-radius:11px;font-size:23px}nav{display:flex;gap:26px;margin-left:auto}nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:14px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e3e9df;color:var(--green);font-weight:800}main{margin:0 auto;padding:36px 24px 70px}.hero{background:linear-gradient(125deg,#163d31,#10261f);color:white;border-radius:24px;padding:30px 36px;box-shadow:0 20px 50px #18332622}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #d9f55f22;margin-right:8px}.hero-grid{display:grid;grid-template-columns:1fr auto;align-items:end;margin:24px 0}.hero h1,.page-title h1{font-size:clamp(30px,5vw,48px);margin:5px 0}.muted{color:var(--muted)}.hero .muted{color:#a9bbb4}.plate-count strong{font-size:42px}.plate-count span{font-size:24px;color:#9bb1a9}.progress{height:10px;background:#ffffff20;border-radius:20px;overflow:hidden}.progress i{display:block;height:100%;background:var(--lime);border-radius:20px}.progress-meta{display:flex;gap:30px;margin-top:12px;color:#b7c5c0;font-size:13px}.progress-meta b{color:var(--lime)}.attention{margin:16px 0;display:flex;align-items:center;gap:16px;border:1px solid #f1c4a9;background:#fff6ef;padding:15px 20px;border-radius:14px}.attention>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700}.attention p{margin:3px 0;color:#70462f}.detail-grid,.home-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:20px;gap:20px;margin-top:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.section-head{display:flex;justify-content:space-between;align-items:center}.card h2,.section-head h2{margin:3px 0 16px}.section-head>span{color:var(--muted);font-size:13px}.kicker{color:var(--green);margin:0}.queue-list{display:flex;flex-direction:column}.queue-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:16px 4px;border-top:1px solid var(--line);text-decoration:none;color:inherit}.rank{width:34px;height:34px;border-radius:10px;background:#edf0eb;display:grid;place-items:center;font-weight:800}.queue-main{display:flex;flex-direction:column;gap:5px}.estimate,.queue-main small{color:var(--muted);font-size:13px}.estimate{text-align:right;display:flex;flex-direction:column;gap:5px}.mine{color:var(--green);background:#ebf6e4;padding:4px 8px;border-radius:20px}.submit-card{background:#fbfcf7}.input-row{display:flex;margin-top:24px}.input-row input,textarea{width:100%;border:1px solid #cbd3ca;background:white;padding:14px;border-radius:10px;font:inherit}.input-row input{border-radius:10px 0 0 10px}.input-row button{border:0;background:var(--ink);color:white;padding:0 16px;border-radius:0 10px 10px 0;font-weight:700;white-space:nowrap}.submit-form details{margin-top:14px;color:var(--muted);font-size:13px}.submit-form textarea{margin-top:10px;min-height:70px}.form-message{font-weight:700;color:var(--green)}.page-title{margin-bottom:26px}.page-title p{color:var(--muted)}.page-title a{color:var(--green);font-weight:700}.timeline .plate{display:flex;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.plate>span{font-size:22px;color:#99a19d}.plate.completed>span,.plate.printing>span{color:var(--green)}.plate p{margin:5px 0;color:var(--muted)}aside{display:flex;flex-direction:column;gap:20px}.action-card{border-top:5px solid var(--lime)}.photo-grid{grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.photo-grid div{height:110px;background:#edf0eb;border:1px dashed #aeb8ad;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;color:#7d8981}.photo-grid small{font-size:12px}.events{margin-top:20px}.events>div{display:grid;grid-template-columns:70px 1fr auto;align-items:center;border-top:1px solid var(--line);padding:14px 0}.event-kind{font-size:11px;font-weight:700;color:var(--green)}.events time{font-size:12px;color:var(--muted)}.safety{padding:14px 18px;background:#fff6d8;border:1px solid #eedb94;border-radius:12px;margin-bottom:18px;font-weight:700}.table-row{display:grid;grid-template-columns:1.5fr .6fr 1.2fr .5fr;grid-gap:20px;gap:20px;padding:16px 0;border-top:1px solid var(--line);align-items:start}.table-row span{display:flex;flex-direction:column;gap:5px}.table-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.table-row em{font-style:normal;font-size:12px}.table-head{border:0;color:var(--muted);font-size:12px;font-weight:700}.admin-note,footer{text-align:center}footer{padding:24px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}@media (max-width:760px){header{padding:0 16px;gap:10px}nav{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:14px;justify-content:space-around;border-top:1px solid var(--line);z-index:10}.avatar{margin-left:auto}main{padding:20px 14px 80px}.hero{padding:24px 20px}.hero-grid{grid-template-columns:1fr}.plate-count{margin-top:18px}.progress-meta{flex-wrap:wrap;gap:8px 18px}.detail-grid,.home-grid{grid-template-columns:1fr}.queue-row{grid-template-columns:36px 1fr}.estimate{grid-column:2;text-align:left}.table-row{grid-template-columns:1fr 1fr}.table-head{display:none}.events>div{grid-template-columns:60px 1fr}.events time{grid-column:2}.brand small{display:none}}:root{--bg:#f6f7f4;--surface:#fff;--surface-subtle:#f0f3ef;--text:#17211d;--text-muted:#66716c;--brand:#176b4d;--brand-strong:#0f2e24;--accent:#d7f35b;--border:#dce3dd;--success:#18794e;--warning:#a85a18;--warning-bg:#fff3e6;--danger:#b33a2b;--unknown:#65706b}body{background:var(--bg);color:var(--text);font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}header{height:64px}header nav a{border-bottom:3px solid rgba(0,0,0,0);align-items:center;gap:6px;height:64px;padding:0 8px;display:flex}header nav a span{display:none}header nav a.active{color:var(--brand);border-bottom-color:var(--brand)}.identity{background:var(--surface-subtle);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.machine-hero{background:var(--brand-strong);color:#fff;border-radius:20px;margin-bottom:24px;padding:28px 32px;box-shadow:0 12px 32px rgba(23,53,42,.1)}.hero-actions,.hero-metrics,.hero-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.hero-top>b,.warning-badge{background:var(--warning-bg);color:var(--warning);border-radius:999px;padding:7px 11px;font-size:12px}.hero-content{align-items:center;gap:20px;margin:24px 0;display:flex}.hero-content h1{margin:0 0 8px;font-size:36px;line-height:1.22}.hero-content p{color:#c8d6d0;margin:0}.hero-thumb{object-fit:cover;border-radius:16px;width:96px;height:96px}.hero-metrics{color:#b8cac2;justify-content:flex-start;margin-bottom:12px}.hero-metrics strong{color:#fff;margin-left:6px}.machine-hero>.progress{margin-bottom:10px}.machine-hero>small{color:#a9bdb5}.hero-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:24px}.empty-state a,.hero-actions a,.personal-action a{background:var(--accent);min-height:48px;color:var(--brand-strong);border-radius:10px;align-items:center;padding:12px 18px;font-weight:800;text-decoration:none;display:inline-flex}.hero-actions a.secondary{color:#fff;background:none;border:1px solid rgba(255,255,255,.333)}.diagnostics{color:#c8d6d0;border-top:1px solid rgba(255,255,255,.133);margin-top:20px;padding-top:12px}.diagnostics summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.diagnostics dl{grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;display:grid}.diagnostics dl div{background:rgba(255,255,255,.05);border-radius:10px;padding:12px}.diagnostics dt{font-size:12px}.diagnostics dd{color:#fff;margin:4px 0 0}.personal-action{background:var(--surface);border:1px solid var(--border);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;display:flex}.personal-action h2,.personal-action p{margin:4px 0}.home-grid{grid-template-columns:minmax(0,1fr) 360px;grid-gap:24px;gap:24px;display:grid}.home-grid.empty-layout{grid-template-columns:minmax(0,1fr) 360px}.card{border:1px solid var(--border);border-radius:16px}.empty-state{text-align:center;align-content:center;place-items:center;grid-gap:8px;gap:8px;min-height:180px;display:grid}.empty-state>span{color:var(--brand);font-size:44px}.submit-form label{margin:16px 0 8px;font-weight:700;display:block}.pairing-form input,.pairing-form select,.pairing-form textarea,.submit-form input{min-height:48px;font-size:16px}.submit-form .input-row{flex-direction:column;display:flex}.submit-form .input-row button{width:100%;min-height:48px}.submit-form summary{align-items:center;min-height:44px;display:flex}.submit-form textarea{min-height:96px}.notice{border-radius:8px;padding:10px}.notice.success{color:var(--success);background:#eaf6ef}.notice.error{color:var(--danger);background:#fdecea}.spinner{border:2px solid;border-right:2px solid rgba(0,0,0,0);border-radius:50%;width:14px;height:14px;margin-right:7px;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.pairing-card{margin:24px 0;padding:24px}.segmented{gap:8px;margin:16px 0;display:flex}.segmented button[aria-pressed=true]{background:var(--brand);color:#fff}.pairing-form{grid-gap:12px;gap:12px;display:grid}.pairing-form label{grid-gap:6px;gap:6px;display:grid}.pairing-form button{min-height:48px}.error-state{padding:32px}@media (max-width:760px){header{padding:0 16px}.brand small{display:none}header nav{z-index:20;height:calc(64px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#fff;justify-content:space-around;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px rgba(23,33,29,.07)}header nav a{min-width:64px;height:64px;min-height:48px;color:var(--text-muted);border:0;flex-direction:column;justify-content:center;font-size:12px}header nav a span{font-size:16px;display:block}header nav a.active{background:var(--surface-subtle);color:var(--brand);border-radius:10px}main{padding:16px 16px calc(64px + env(safe-area-inset-bottom) + 24px)}footer{padding-bottom:calc(64px + env(safe-area-inset-bottom) + 24px)}.machine-hero{margin-bottom:16px;padding:20px}.hero-content{margin:18px 0}.hero-content h1{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:28px;line-height:1.2;display:-webkit-box;overflow:hidden}.hero-thumb{width:72px;height:72px}.hero-metrics{font-size:13px}.hero-actions{grid-template-columns:1fr;margin-top:18px;display:grid}.hero-actions a{justify-content:center;width:100%}.diagnostics dl{grid-template-columns:1fr}.personal-action{align-items:flex-start;gap:16px}.home-grid,.home-grid.empty-layout{flex-direction:column;display:flex}.submit-card{order:-1}.queue-card,.submit-card{width:100%}.pairing-card{padding:16px}.admin-plates>div{overflow-wrap:anywhere}.hero-top{font-size:14px}}@media (max-width:620px){.queue-row{grid-template-columns:42px 48px minmax(0,1fr)}.project-thumb{width:48px;height:48px}.queue-row .estimate{grid-column:3}.project-title-with-thumb{align-items:flex-start;gap:16px}.detail-thumb{width:88px;height:88px}header nav{transform:translateZ(0)}.submit-form button,.submit-form input{scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom))}}.queue-row{grid-template-columns:48px 56px minmax(0,1fr) auto}.project-thumb{width:56px;height:56px;border-radius:12px;overflow:hidden;background:var(--surface-subtle);display:grid;place-items:center;color:var(--brand);font-size:24px}.admin-thumb,.detail-thumb,.project-thumb img{object-fit:cover}.admin-project>div:first-child{display:grid;grid-template-columns:auto 1fr;grid-column-gap:12px;column-gap:12px;align-items:center}.admin-project>div:first-child .admin-thumb{grid-row:1/3;border-radius:12px}.project-title-with-thumb{display:flex;align-items:center;gap:24px}.detail-thumb{border-radius:18px;border:1px solid var(--border)}@media (max-width:620px){.queue-row{grid-template-columns:42px 48px minmax(0,1fr)}.project-thumb{width:48px;height:48px}.queue-row .estimate{grid-column:3}.project-title-with-thumb{align-items:flex-start;gap:16px}.detail-thumb{width:88px;height:88px}}.desktop-nav nav{margin-left:0}.mobile-nav{display:none}@media (max-width:760px){.desktop-nav{display:none}.mobile-nav{display:block;max-width:100%;overflow:hidden;background:#fff;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border)}.mobile-nav nav{display:flex;justify-content:space-around;gap:0;width:100%;max-width:100%;overflow-x:auto;margin:0;height:64px;position:static!important;bottom:auto!important}.mobile-nav nav a{flex:1 1 64px;min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--text-muted);font-size:12px;white-space:nowrap}.mobile-nav nav a span{display:block;font-size:16px}.mobile-nav nav a.active{background:var(--surface-subtle);border-radius:10px;color:var(--brand)}header nav{display:none!important}footer,main{padding-bottom:24px}}button,input,select,textarea{min-height:44px;font:inherit}input,select,textarea{width:100%;border:1px solid #cbd5ce;border-radius:10px;background:#fff;color:var(--text);padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(23,107,77,.13)}input[type=file]{padding:6px;background:var(--surface-subtle)}input[type=file]::-webkit-file-upload-button{min-height:32px;margin-right:12px;border:0;border-radius:8px;padding:7px 12px;background:var(--brand);color:#fff;font:inherit;font-weight:800;cursor:pointer}input[type=file]::file-selector-button{min-height:32px;margin-right:12px;border:0;border-radius:8px;padding:7px 12px;background:var(--brand);color:#fff;font:inherit;font-weight:800;cursor:pointer}.primary-button,.secondary-button,button{border:0;border-radius:10px;padding:10px 16px;font-weight:800;cursor:pointer}.primary-button,.safe-button{background:var(--brand);color:#fff}.secondary-button{min-height:44px;border:1px solid var(--border);background:#fff;color:var(--brand);display:inline-flex;align-items:center;text-decoration:none}button:disabled{cursor:not-allowed;background:#e8ece9!important;color:#8b948f!important;box-shadow:none}.field,label{font-size:14px;font-weight:700}.field{display:grid;grid-gap:7px;gap:7px}.admin-projects{display:grid;grid-gap:20px;gap:20px;margin-top:28px}.admin-section-head{margin-bottom:-4px}.admin-project-card{padding:0;overflow:hidden}.admin-project-head{position:static;height:auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid var(--border);background:#fff}.admin-project-identity{display:flex;align-items:center;gap:14px;min-width:0}.admin-project-identity h3,.admin-project-identity p,.plate-create-panel h4,.plate-create-panel p{margin:3px 0}.admin-project-identity h3{font-size:20px}.admin-project-identity p,.plate-create-panel p{color:var(--text-muted);font-size:13px}.admin-thumb-placeholder{width:72px;height:72px;flex:0 0 72px;border-radius:14px;background:var(--surface-subtle);color:var(--brand);display:grid;place-items:center;font-size:28px;overflow:hidden}.admin-thumb{width:72px;height:72px}.plate-create-panel{padding:20px 24px;background:#f8faf8;border-bottom:1px solid var(--border)}.inline-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr) auto;align-items:end;grid-gap:12px;gap:12px;margin-top:14px}.form-feedback{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:8px}.form-feedback.success,.inline-feedback{color:var(--success);background:#eaf6ef}.form-feedback.error{color:var(--danger);background:#fdecea}.plate-table-wrap{overflow-x:auto}.plate-table{width:100%;border-collapse:collapse}.plate-table td,.plate-table th{text-align:left;padding:15px 18px;border-bottom:1px solid var(--border);vertical-align:top}.plate-table th{background:#fff;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.plate-table tbody tr:last-child td{border-bottom:0}.status-badge{display:inline-flex;border-radius:999px;padding:6px 10px;background:#eef1ef;color:#52605a;font-size:12px;font-weight:800}.status-completed,.status-picked_up,.status-printing{background:#e7f5ed;color:var(--success)}.status-awaiting_pickup,.status-failed_pending{background:var(--warning-bg);color:var(--warning)}.status-cancelled,.status-on_hold{background:#fdecea;color:var(--danger)}.plate-action{display:grid;grid-gap:5px;gap:5px;max-width:260px}.plate-action small{color:var(--text-muted);line-height:1.35}.inline-feedback{padding:5px 7px;border-radius:6px;font-size:12px}.empty-state.compact{min-height:140px;padding:24px}.empty-state.compact h4,.empty-state.compact p{margin:0}.mine-summary{display:flex;gap:12px;margin:0 0 20px}.mine-summary div{min-width:140px;border:1px solid var(--border);border-radius:14px;background:#fff;padding:15px 18px;display:grid}.mine-summary strong{font-size:26px;color:var(--brand)}.mine-summary span{font-size:12px;color:var(--text-muted)}.detail-visual{width:144px;height:144px;flex:0 0 144px;border-radius:18px;background:var(--surface-subtle);color:var(--brand);display:grid;place-items:center;font-size:48px;overflow:hidden}.action-form label{margin-top:4px}.interaction-grid .action-form{display:grid;grid-gap:8px;gap:8px}.login-shell{min-height:calc(100vh - 230px);place-content:center;justify-items:center;padding:32px 0}.login-card{width:min(440px,calc(100vw - 32px));padding:34px}.login-card h1{margin:8px 0}.login-mark{border-radius:14px;background:var(--brand-strong);color:var(--accent);display:grid;place-items:center;font-size:26px;font-weight:900}.login-form{display:grid;grid-gap:8px;gap:8px}.login-form label{margin-top:8px}.login-form button{margin-top:10px}.login-help{color:var(--text-muted)}@media (max-width:760px){.admin-project-head{padding:16px;align-items:flex-start;gap:12px}.admin-project-head .secondary-button{font-size:0;padding:10px}.admin-project-head .secondary-button:after{content:"詳情";font-size:13px}.admin-thumb-placeholder{width:56px;height:56px;flex-basis:56px}.admin-thumb{width:56px;height:56px}.plate-create-panel{padding:16px}.inline-form{grid-template-columns:1fr}.plate-table thead{display:none}.plate-table,.plate-table tbody,.plate-table td,.plate-table tr{display:block}.plate-table tr{padding:12px 16px;border-bottom:1px solid var(--border)}.plate-table td{border:0;padding:7px 0;display:grid;grid-template-columns:105px 1fr;grid-gap:8px;gap:8px}.plate-table td:before{content:attr(data-label);font-size:12px;color:var(--text-muted);font-weight:700}.plate-action{max-width:none}.plate-action button{width:100%}.mine-summary>div{min-width:0;flex:1 1}.detail-visual{width:88px;height:88px;flex-basis:88px}.login-shell{min-height:calc(100vh - 170px);padding:16px 0}.login-card{padding:24px}.login-card h1{font-size:29px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-picker{display:inline-flex;cursor:pointer}.upload-preview{display:flex;gap:.75rem;align-items:center}.photo-grid img,.upload-preview img{object-fit:cover;border-radius:.6rem}.upload-preview span{display:grid;overflow-wrap:anywhere}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.photo-grid img{width:100%;height:auto;aspect-ratio:4/3}.monitor-card{padding:28px}.monitor-card dl{display:grid;grid-template-columns:140px 1fr;grid-gap:12px;gap:12px;margin:24px 0}.monitor-card dt{color:var(--text-muted)}.monitor-card dd{margin:0;font-weight:700}.monitor-open{display:inline-flex;min-height:56px;align-items:center;text-decoration:none;font-size:18px}.source-cover{display:block;width:100%;height:clamp(220px,32vw,360px);object-fit:cover;border-bottom:1px solid var(--border)}.review-details{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:10px 18px;gap:10px 18px;margin:0;padding:24px}.review-details dt{color:var(--text-muted);font-size:13px;font-weight:800}.review-details dd{min-width:0;margin:0;overflow-wrap:anywhere}.review-summary{max-height:7.5em;overflow:auto;line-height:1.5;padding-right:8px}.review-plates{display:grid;grid-gap:8px;gap:8px;margin:0;padding:18px 24px 20px 52px;background:#fff}.review-plates li{padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.exception-panel{display:grid;grid-gap:10px;gap:10px;padding:20px 24px;border-top:1px solid var(--border);background:var(--warning-bg)}.exception-panel h3,.exception-panel p{margin:0}@media (max-width:760px){.source-cover{height:220px}.review-details{grid-template-columns:1fr;padding:18px}.review-details dt{margin-top:6px}.review-summary{max-height:9em}.review-plates{padding-left:42px}}.admin-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin:0 0 22px}.admin-overview>div{display:flex;align-items:baseline;gap:10px;padding:18px 22px;border:1px solid var(--border);border-radius:14px;background:#fff}.admin-overview strong{font-size:32px;color:var(--accent)}.admin-overview span{color:var(--text-muted);font-weight:700}.clean-admin-hub{margin-bottom:22px}.clean-admin-hub .admin-hub-card{min-height:150px}.admin-home-safety{margin-top:0}@media (max-width:760px){.admin-overview{grid-template-columns:1fr}.admin-overview>div{justify-content:space-between}.clean-admin-hub{grid-template-columns:1fr}}.review-card-tools{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.review-card-tools .plate-action{margin:0}.review-card-tools .inline-feedback{max-width:240px}.review-decision{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#f8faf7}.review-decision-primary{display:flex;justify-content:space-between;align-items:center;gap:20px}.review-decision h3,.review-decision p{margin:0}.review-decision p{margin-top:5px;color:var(--muted)}.review-reject-panel{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.review-reject-panel summary{cursor:pointer;color:#9b3e2f;font-weight:700}.review-reject-panel form{display:grid;grid-gap:9px;gap:9px;margin-top:14px}.review-reject-panel textarea{width:100%;min-height:96px;resize:vertical}.review-reject-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.review-reject-actions small{color:var(--muted)}.danger-button{min-height:44px;border:1px solid #b84b3c;border-radius:10px;background:#fff;color:#9b3025;font-weight:800;padding:10px 16px;cursor:pointer}.danger-button:hover{background:#fff2ef}.danger-button:disabled{opacity:.55;cursor:not-allowed}@media (max-width:760px){.review-card-head{flex-direction:column}.review-card-head .review-card-tools{width:100%}.review-card-tools,.review-decision-primary,.review-reject-actions{align-items:stretch;flex-direction:column}.review-card-tools .secondary-button,.review-card-tools button,.review-card-tools>*,.review-decision-primary button,.review-reject-actions button{width:100%}.admin-project-head .review-card-tools .secondary-button{font-size:14px;padding:10px 14px}.admin-project-head .review-card-tools .secondary-button:after{content:none}}.progress-page{display:grid;grid-gap:24px;gap:24px}.progress-summary{margin-bottom:0}.camera-panel{padding:24px}.camera-panel .section-head{margin-bottom:18px}.camera-empty{min-height:260px;border:1px dashed var(--border);border-radius:14px;background:var(--surface-subtle);display:grid;place-content:center;text-align:center;padding:24px}.camera-empty p{color:var(--text-muted);margin:8px 0 0}.camera-expired{background:#fff8ef;color:var(--warning)}.camera-figure{margin:0}.camera-figure img{display:block;width:100%;height:auto;max-height:680px;aspect-ratio:16/9;object-fit:cover;border-radius:14px;background:#101513}.camera-figure figcaption{margin-top:10px;color:var(--text-muted);font-size:13px}.home-action-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:center;padding:22px 24px;border-left:4px solid #c96b38}.home-action-card h2,.home-action-card p{margin:4px 0}.home-action-card>div>small{color:var(--muted)}.pickup-action{min-width:220px}.pickup-confirmation{max-width:430px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff8ef}.pickup-confirmation p{margin:0 0 6px;font-weight:700}.pickup-confirmation>small{color:var(--muted)}.pickup-confirmation>div{display:flex;gap:10px;margin-top:12px}.inline-feedback.error{color:#9b3025}.queue-submit{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);grid-gap:32px;gap:32px;align-items:start;padding:24px;margin-bottom:32px}.queue-submit h2{margin-top:0}.queue-section{display:grid;grid-gap:14px;gap:14px}.clean-queue{display:grid;grid-gap:12px;gap:12px}.queue-project-card{display:grid;grid-template-columns:54px 64px minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;padding:16px;color:var(--text);text-decoration:none}.queue-project-card:hover{border-color:#a9b9ae}.queue-project-main{display:grid;grid-gap:6px;gap:6px;min-width:0}.queue-project-main>strong{font-size:17px;overflow-wrap:anywhere}.queue-project-main>small{color:var(--text-muted)}.queue-times{display:grid;grid-template-columns:auto auto;grid-gap:5px 12px;gap:5px 12px;text-align:right}.queue-times small{color:var(--text-muted)}.standalone-submit{max-width:820px;margin:0 auto;padding:28px;display:grid;grid-gap:24px;gap:24px}.submit-guide{display:flex;align-items:center;gap:14px}.submit-guide>span{width:38px;height:38px;border-radius:999px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900}.submit-guide p{margin:4px 0 0;color:var(--muted)}.submit-flow{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.submit-flow span{padding:7px 10px;border-radius:999px;background:#f1f5f1}.submit-secondary-links{max-width:820px;margin:18px auto 0;display:flex;align-items:center;gap:18px}.visual-queue-head{align-items:center}.visual-queue-head .primary-button{text-decoration:none}.visual-queue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px}.visual-queue-card{display:block;padding:0;overflow:hidden;color:var(--ink);text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}.visual-queue-card:hover{transform:translateY(-2px);border-color:#a7b9ad;box-shadow:0 12px 28px rgba(23,33,29,.08)}.visual-queue-cover{position:relative;aspect-ratio:16/10;background:#e9eeea;overflow:hidden}.visual-queue-cover>img{width:100%;height:100%;object-fit:cover;display:block}.visual-cover-fallback{width:100%;height:100%;display:grid;place-content:center;text-align:center;color:var(--green);grid-gap:7px;gap:7px}.visual-cover-fallback span{font-size:42px}.visual-cover-fallback small{color:var(--muted)}.visual-rank{position:absolute;left:14px;top:14px;min-width:58px;height:58px;border-radius:14px;background:rgba(23,33,29,.9);color:#fff;display:grid;place-content:center;text-align:center;font-size:22px;font-weight:900;line-height:1}.visual-rank small{font-size:10px;font-weight:700;margin-bottom:3px}.visual-mine{position:absolute;right:14px;top:14px;padding:7px 10px;border-radius:999px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:900}.visual-queue-body{padding:18px;display:grid;grid-gap:15px;gap:15px}.visual-queue-body h2,.visual-queue-body p{margin:0}.visual-queue-body h2{font-size:20px;overflow-wrap:anywhere}.visual-queue-body p{margin-top:5px;color:var(--muted)}.plate-overview{display:flex;justify-content:space-between;gap:12px;font-size:14px}.visual-progress{height:7px;border-radius:999px;background:#e4e9e4;overflow:hidden}.visual-progress>span{height:100%;display:block;background:var(--green);border-radius:inherit}.visual-queue-times{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:0}.visual-queue-times>div{padding:11px;border-radius:10px;background:#f5f7f4;min-width:0}.visual-queue-times dt{color:var(--muted);font-size:11px}.visual-queue-times dd{margin:5px 0 0;font-size:13px;font-weight:800;overflow-wrap:anywhere}.visual-queue-empty .primary-button{margin-top:10px;text-decoration:none}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.gallery-card{padding:20px;min-width:0}.gallery-card-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}.gallery-card-head>img,.gallery-fallback{width:72px;height:72px;flex:0 0 72px;border-radius:12px;object-fit:cover}.gallery-fallback{display:grid;place-items:center;background:var(--surface-subtle);color:var(--brand);font-size:28px}.gallery-card-head h2,.gallery-card-head p{margin:2px 0}.gallery-card-head small{color:var(--text-muted);overflow-wrap:anywhere}.gallery-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.gallery-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.gallery-empty{min-height:320px}.gallery-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.gallery-title-line h2{min-width:0}.gallery-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.gallery-status.waiting{background:#fff4db;color:#8a5b00}.gallery-status.shared{background:#e6f5ec;color:#176b4d}.gallery-awaiting-photo{min-height:210px;border:1px dashed var(--line);border-radius:12px;background:#f8faf7;display:grid;place-content:center;text-align:center;padding:24px}.gallery-awaiting-photo>span{font-size:30px;color:var(--green)}.gallery-awaiting-photo strong{margin-top:8px}.gallery-awaiting-photo p,.gallery-upload-note,.gallery-upload-panel p{color:var(--muted)}.gallery-upload-panel{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding:16px;border-radius:12px;background:#f4f7f3}.gallery-upload-panel>p{margin:0}.gallery-upload-form{display:grid;grid-gap:10px;gap:10px}.gallery-file-picker{justify-content:center}.gallery-upload-preview{width:180px;height:135px;object-fit:cover;border-radius:10px}.gallery-upload-form p{margin:0}.gallery-upload-form .error{color:#9b3025}.gallery-add-photo{margin-top:14px}.gallery-add-photo summary{cursor:pointer;color:var(--green);font-weight:800}.gallery-add-photo .gallery-upload-form{margin-top:12px}.gallery-upload-note{text-align:center;margin:14px 0 0}.admin-hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin:22px 0}.admin-hub-card{position:relative;display:grid;grid-gap:8px;gap:8px;padding:18px;color:var(--text);text-decoration:none;min-width:0}.admin-hub-card>span{color:var(--brand);font-size:13px;font-weight:800}.admin-hub-card>small{color:var(--text-muted);line-height:1.4}.admin-hub-badge{position:absolute;right:12px;top:12px;min-width:26px;height:26px;border-radius:999px;background:var(--warning-bg);color:var(--warning)!important;display:grid;place-items:center}body,html{overflow-x:hidden}body,html,img{max-width:100%}@media (max-width:760px){.home-action-card{grid-template-columns:1fr;padding:18px}.pickup-action{min-width:0}.pickup-confirmation>div{align-items:stretch;flex-direction:column}.queue-submit{padding:18px;gap:12px}.queue-submit,.visual-queue-grid{grid-template-columns:1fr}.visual-queue-head{align-items:flex-start;gap:12px}.standalone-submit{padding:18px}.submit-flow{flex-wrap:wrap}.submit-secondary-links{align-items:flex-start;flex-direction:column}.queue-project-card{grid-template-columns:42px 52px minmax(0,1fr);gap:10px}.queue-project-card .project-thumb{width:52px;height:52px}.queue-times{grid-column:3;grid-template-columns:auto 1fr;text-align:left;font-size:12px}.gallery-grid{grid-template-columns:1fr}.admin-hub{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-panel{padding:16px}.camera-empty{min-height:210px}.mobile-nav nav a{font-size:11px;padding-inline:2px}.mobile-nav nav a span{font-size:15px}}@media (max-width:400px){.queue-project-card{grid-template-columns:36px 44px minmax(0,1fr);padding:12px 10px}.queue-project-card .project-thumb{width:44px;height:44px}.admin-hub{grid-template-columns:1fr}.gallery-card{padding:14px}.gallery-card-head>img,.gallery-fallback{width:56px;height:56px;flex-basis:56px}.mobile-nav nav a{min-width:0!important}}:root{--lf-ink:#17211d;--lf-workshop:#0e2d24;--lf-workshop-2:#123b30;--lf-green:#176b4d;--lf-layer:#cdea52;--lf-paper:#f4f5f0;--lf-surface:#ffffff;--lf-mist:#edf1ec;--lf-steel:#d8dfd9;--lf-muted:#66716c;--lf-clay:#c96b38;--lf-danger:#a94336;--lf-blue:#285f91;--lf-radius-sm:8px;--lf-radius-md:12px;--lf-radius-lg:16px;--lf-radius-panel:20px;--lf-shadow-hover:0 14px 34px rgb(14 45 36/0.09);--lf-font-ui:var(--font-ui),"PingFang TC","Microsoft JhengHei",sans-serif;--lf-font-display:var(--font-display),var(--lf-font-ui);--lf-font-mono:var(--font-mono),"SFMono-Regular",Consolas,monospace;--ink:var(--lf-ink);--text:var(--lf-ink);--muted:var(--lf-muted);--text-muted:var(--lf-muted);--paper:var(--lf-paper);--bg:var(--lf-paper);--card:var(--lf-surface);--surface:var(--lf-surface);--surface-subtle:var(--lf-mist);--green:var(--lf-green);--brand:var(--lf-green);--brand-strong:var(--lf-workshop);--lime:var(--lf-layer);--accent:var(--lf-layer);--line:var(--lf-steel);--border:var(--lf-steel);--orange:var(--lf-clay)}html{background:var(--lf-paper);scroll-behavior:smooth}body.workshop-shell{min-height:100vh;background:linear-gradient(90deg,transparent 0 49.9%,rgb(14 45 36/.018) 50%,transparent 50.1%),var(--lf-paper);background-size:80px 80px;color:var(--lf-ink);font-family:var(--lf-font-ui);font-feature-settings:"kern" 1}body.workshop-shell:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.42;background-image:linear-gradient(rgb(23 33 29/.026) 1px,transparent 0);background-size:100% 80px}::selection{background:var(--lf-layer);color:var(--lf-workshop)}:focus-visible{outline:3px solid #fff!important;outline-offset:2px;box-shadow:0 0 0 6px var(--lf-green)!important}.site-header{height:72px;padding-inline:max(24px,calc((100% - 1180px) / 2));gap:24px;background:rgb(244 245 240/.92);border-bottom:1px solid rgb(23 33 29/.12);box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{gap:12px}.brand-mark{width:42px;height:42px;padding:7px;border-radius:10px;background:var(--lf-workshop);color:white;overflow:hidden}.brand-mark svg,.login-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:square;stroke-linejoin:miter}.brand-mark .layer-accent,.login-mark .layer-accent{stroke:var(--lf-layer)}.brand-wordmark{display:grid;line-height:1}.brand-wordmark b{font-family:var(--lf-font-display);font-size:19px;letter-spacing:-.025em}.brand-wordmark small{margin-top:6px;font-size:8px;letter-spacing:.14em}.brand-wordmark small,.workcell-label{color:var(--lf-muted);font-family:var(--lf-font-mono)}.workcell-label{margin-left:0;font-size:10px;letter-spacing:.12em}.desktop-nav{margin-left:auto}.desktop-nav nav{gap:4px;margin:0}.desktop-nav nav a{position:relative;height:72px;padding:0 12px;border:0;color:var(--lf-muted);font-size:13px;font-weight:600}.desktop-nav nav a:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;background:transparent}.desktop-nav nav a.active{color:var(--lf-workshop);border:0}.desktop-nav nav a.active:after{background:var(--lf-layer)}.nav-label{display:inline!important}.nav-icon{display:inline-grid!important;place-items:center;width:20px;height:20px}.nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.nav-icon .glyph-accent{stroke:var(--lf-green)}.nav-count{min-width:18px;height:18px;padding-inline:5px;border-radius:999px;display:grid;place-items:center;background:var(--lf-layer);font-family:var(--lf-font-mono);font-size:10px}.identity,.nav-count{color:var(--lf-workshop)}.identity{flex:0 0 36px;width:36px;height:36px;border:1px solid var(--lf-steel);background:var(--lf-mist)}body[data-authenticated=false] .desktop-nav,body[data-authenticated=false] .workcell-label{display:none}main{max-width:1180px;padding:48px 24px 88px}h1,h2,h3,h4{text-wrap:balance}.page-title{position:relative;max-width:880px;margin:0 0 34px;padding-left:22px}.page-title:before{content:"";position:absolute;left:0;top:3px;bottom:1px;width:5px;background:linear-gradient(to bottom,var(--lf-workshop) 0 46%,transparent 46% 54%,var(--lf-layer) 54% 78%,transparent 78% 86%,var(--lf-green) 86%)}.page-title:after{content:"";position:absolute;left:22px;top:-12px;width:190px;height:54px;opacity:.09;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 8px,var(--lf-green) 8px 9px);-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}.hero-content h1,.login-card h1,.page-title h1{font-family:var(--lf-font-display);font-weight:700;letter-spacing:-.035em}.page-title h1{position:relative;margin:5px 0 8px;font-size:clamp(34px,5vw,48px);line-height:1.06}.page-title>p:last-child{max-width:700px;margin:10px 0 0;color:var(--lf-muted);font-size:16px;line-height:1.65}.eyebrow,.kicker{color:var(--lf-green);font-family:var(--lf-font-mono);font-size:11px;font-weight:600;letter-spacing:.13em}.card{border:1px solid rgb(23 33 29/.14);border-radius:var(--lf-radius-lg);background:var(--lf-surface);box-shadow:none}a.card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}a.card:hover{transform:translateY(-2px);border-color:rgb(23 107 77/.4);box-shadow:var(--lf-shadow-hover)}.section-head{gap:20px;margin-bottom:18px}.section-head h2{margin:3px 0 0;font-family:var(--lf-font-display);font-size:24px;letter-spacing:-.025em}.danger-button,.primary-button,.safe-button,.secondary-button,button{min-height:44px;border-radius:var(--lf-radius-sm);font-family:var(--lf-font-ui);font-weight:700;transition:background .14s ease,border-color .14s ease,transform .14s ease}.primary-button:not(:disabled):active,button:not(:disabled):active{transform:translateY(1px)}.primary-button,.safe-button{border:1px solid var(--lf-green);background:var(--lf-green);color:white}.primary-button:hover,.safe-button:hover{background:var(--lf-workshop);border-color:var(--lf-workshop)}.secondary-button{border:1px solid var(--lf-steel);background:white;color:var(--lf-green)}input,select,textarea{border:1px solid #bac7bf!important;border-radius:var(--lf-radius-sm)!important;background:#fff!important;color:var(--lf-ink);font-family:var(--lf-font-ui)}input:focus,select:focus,textarea:focus{border-color:var(--lf-green)!important;box-shadow:0 0 0 3px rgb(23 107 77/.12);outline:none}.machine-hero{isolation:isolate;position:relative;overflow:hidden;padding:30px 32px 28px;border:1px solid rgb(205 234 82/.22);border-radius:var(--lf-radius-panel);background:linear-gradient(120deg,rgb(255 255 255/.025),transparent 48%),var(--lf-workshop);box-shadow:0 18px 44px rgb(14 45 36/.16)}.machine-hero:before{content:"";position:absolute;z-index:-1;inset:0 0 0 58%;opacity:.12;background:repeating-radial-gradient(ellipse at 70% 52%,transparent 0 18px,var(--lf-layer) 19px 20px,transparent 21px 31px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);mask-image:linear-gradient(90deg,transparent,#000 38%)}.machine-hero:after{content:"WORKCELL / OBSERVATION ONLY";position:absolute;right:24px;bottom:18px;color:rgb(255 255 255/.18);font-family:var(--lf-font-mono);font-size:9px;letter-spacing:.14em}.hero-top>span{font-family:var(--lf-font-mono);font-size:11px;letter-spacing:.16em}.hero-top>b{border:1px solid rgb(255 255 255/.16);background:rgb(255 255 255/.08);color:var(--lf-layer);font-size:12px}.hero-content{position:relative;margin:34px 0 30px}.hero-content h1{max-width:760px;font-size:clamp(32px,5vw,50px)}.hero-thumb{border:1px solid rgb(255 255 255/.18);border-radius:10px}.hero-metrics{position:relative;display:grid;grid-template-columns:repeat(2,minmax(180px,260px));grid-gap:10px;gap:10px}.hero-metrics>span{padding:11px 13px;border:1px solid rgb(255 255 255/.1);border-radius:8px;background:rgb(255 255 255/.045);font-size:12px}.hero-metrics strong{font-family:var(--lf-font-mono);font-size:16px}.machine-hero>.progress{height:7px;border-radius:0;background:rgb(255 255 255/.12)}.machine-hero>.progress i{border-radius:0;background:var(--lf-layer)}.machine-hero>small{display:block;margin-top:13px;font-family:var(--lf-font-mono);font-size:10px;letter-spacing:.02em}.camera-panel{position:relative;border-radius:var(--lf-radius-panel);background:#fbfcfa}.camera-panel:after,.camera-panel:before{content:"";position:absolute;width:18px;height:18px;pointer-events:none}.camera-panel:before{left:12px;top:12px;border-left:1px solid var(--lf-green);border-top:1px solid var(--lf-green)}.camera-panel:after{right:12px;bottom:12px;border-right:1px solid var(--lf-green);border-bottom:1px solid var(--lf-green)}.camera-figure img{border-radius:10px;filter:saturate(.94) contrast(1.02)}.camera-figure figcaption,.camera-panel .section-head>span{font-family:var(--lf-font-mono);font-size:10px;letter-spacing:.04em}.home-action-card{border-left-color:var(--lf-clay);border-radius:var(--lf-radius-md);background:#fffaf6}.build-input-panel{position:relative;overflow:hidden;max-width:900px;padding:30px 32px 32px 44px;border-radius:var(--lf-radius-panel)}.build-input-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:repeating-linear-gradient(to bottom,var(--lf-workshop) 0 10px,var(--lf-layer) 10px 12px,var(--lf-workshop) 12px 20px)}.submit-guide>span{border-radius:8px;background:var(--lf-workshop);color:var(--lf-layer);font-family:var(--lf-font-mono)}.submit-guide>div{display:grid;grid-gap:3px;gap:3px}.submit-guide small{color:var(--lf-green);font-family:var(--lf-font-mono);font-size:9px;letter-spacing:.12em}.submit-form .input-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;padding:7px;border:1px solid var(--lf-steel);border-radius:12px;background:var(--lf-mist)}.submit-form .input-row input{min-height:50px;border:0!important;box-shadow:none}.submit-form .input-row button{width:auto;min-height:50px;border-radius:8px;background:var(--lf-workshop)}.submit-flow{border-top-color:var(--lf-steel);font-family:var(--lf-font-mono)}.submit-flow span{border:1px solid var(--lf-steel);border-radius:6px;background:white}.submit-flow b{color:var(--lf-green)}.submit-secondary-links{max-width:900px}.submit-secondary-links a{color:var(--lf-green);font-weight:700;text-decoration:none}.submit-secondary-links a:not(.secondary-button){min-height:44px;display:inline-flex;align-items:center;padding-inline:4px;border-bottom:1px solid var(--lf-green)}.visual-queue-grid{gap:24px}.visual-queue-card{border-radius:var(--lf-radius-lg)}.visual-queue-grid:has(>.visual-queue-card:only-child){grid-template-columns:minmax(0,1fr)}.visual-queue-grid:has(>.visual-queue-card:only-child) .visual-queue-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(360px,7fr)}.visual-queue-grid:has(>.visual-queue-card:only-child) .visual-queue-cover{min-height:390px;aspect-ratio:auto}.visual-queue-cover{aspect-ratio:4/3;background:#dfe6e0}.visual-rank{left:0;top:18px;min-width:64px;height:54px;border-radius:0;background:var(--lf-workshop);-webkit-clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%);clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%);font-family:var(--lf-font-mono);font-size:18px}.visual-mine{top:18px;right:18px;border:1px solid rgb(14 45 36/.16);background:rgb(205 234 82/.92);color:var(--lf-workshop)}.visual-queue-body{align-content:center;gap:16px;padding:22px}.visual-queue-body h2{font-family:var(--lf-font-display);font-size:24px;letter-spacing:-.03em}.build-status{justify-self:start;display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 9px;border-radius:999px;background:var(--lf-mist);color:var(--lf-muted);font-size:12px;font-weight:700}.build-status i{width:7px;height:7px;border:1px solid;border-radius:50%}.build-printing{background:#eaf2fa;color:var(--lf-blue)}.build-printing i{border:0;background:var(--lf-blue)}.build-pickup,.build-ready{background:#fff3e6;color:#a85a18}.build-pickup i,.build-ready i{border:0;background:#a85a18}.plate-overview{padding-bottom:2px;color:var(--lf-muted)}.plate-overview strong{color:var(--lf-workshop);font-family:var(--lf-font-mono)}.plate-layer-progress{display:flex;gap:5px;min-height:10px}.plate-layer-progress i{flex:1 1;height:8px;background:var(--lf-mist);border:1px solid var(--lf-steel)}.plate-layer-progress i.complete{border-color:var(--lf-green);background:var(--lf-green)}.plate-layer-progress i.current{border-color:var(--lf-layer);background:var(--lf-layer);box-shadow:inset 0 -2px var(--lf-green)}.visual-queue-times>div{border:1px solid var(--lf-steel);border-radius:8px;background:#fafbf9}.visual-queue-times dd,.visual-queue-times dt{font-family:var(--lf-font-mono)}.visual-queue-times dd{color:var(--lf-workshop)}.clean-admin-hub{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.primary-work-card{isolation:isolate;position:relative;overflow:hidden;grid-column:span 2;grid-row:span 2;min-height:250px;padding:24px;align-content:start;background:var(--lf-workshop);border-color:var(--lf-workshop);color:white}.primary-work-card:before{content:"";position:absolute;z-index:-1;inset:0 0 0 48%;opacity:.14;background:repeating-radial-gradient(ellipse at 80% 60%,transparent 0 18px,var(--lf-layer) 19px 20px,transparent 21px 31px)}.primary-work-card>strong{margin-top:18px;color:white;font-family:var(--lf-font-display);font-size:28px;letter-spacing:-.03em}.primary-work-card>small{max-width:520px;color:#b8cac2}.primary-work-card .work-card-index{color:var(--lf-layer);font-family:var(--lf-font-mono);font-size:9px;letter-spacing:.13em}.primary-work-card .admin-hub-badge{top:20px;right:20px;background:var(--lf-layer);color:var(--lf-workshop)!important;font-family:var(--lf-font-mono)}.admin-pending-list{position:relative;display:grid;grid-gap:1px;gap:1px;margin-top:20px;border:1px solid rgb(255 255 255/.13);border-radius:8px;overflow:hidden}.admin-pending-list>span{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:9px 11px;background:rgb(255 255 255/.055)}.admin-pending-list b{color:var(--lf-layer);font-family:var(--lf-font-mono);font-size:10px}.admin-pending-list i{overflow:hidden;color:white;font-style:normal;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.admin-pending-list small{color:#9fb3aa}.admin-pending-list em{padding:14px;color:#b8cac2;font-style:normal}.clean-admin-hub>.admin-hub-card:not(.primary-work-card){min-height:116px;padding:18px;background:#fbfcfa}.gallery-card{overflow:hidden;border-radius:var(--lf-radius-lg)}.gallery-card-head{position:relative}.gallery-status{border:1px solid;border-radius:6px}.gallery-awaiting-photo{position:relative;overflow:hidden;border-color:var(--lf-steel);border-radius:10px;background:repeating-linear-gradient(0deg,transparent 0 13px,rgb(23 107 77/.055) 13px 14px),#f7f9f6}.gallery-awaiting-photo:after{content:"LAYER 00 / AWAITING ASSEMBLY";position:absolute;right:12px;bottom:10px;color:var(--lf-muted);font-family:var(--lf-font-mono);font-size:8px;letter-spacing:.08em}.admin-hub-card,.admin-overview,.admin-project-card{border-radius:var(--lf-radius-md)}.admin-hub-card>span,.admin-overview strong{color:var(--lf-workshop)}.admin-overview>div:first-child{border-left:4px solid var(--lf-layer)}.safety{border:1px solid var(--lf-steel);background:var(--lf-mist);color:var(--lf-muted);font-size:13px;font-weight:600}.status-badge{border-radius:6px;font-family:var(--lf-font-ui)}.empty-state{position:relative;overflow:hidden;border-style:dashed}.empty-state:before{content:"";position:absolute;inset:18px 28% auto;height:64px;opacity:.13;background:repeating-linear-gradient(0deg,transparent 0 9px,var(--lf-green) 9px 10px);transform:perspective(140px) rotateX(58deg)}.empty-state>span{position:relative;font-family:var(--lf-font-mono)}.login-shell{max-width:1040px;min-height:min(680px,calc(100vh - 190px));margin:10px auto 0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:stretch;border:1px solid rgb(23 33 29/.14);border-radius:var(--lf-radius-panel);overflow:hidden;background:white;box-shadow:0 26px 70px rgb(14 45 36/.1)}.login-story{position:relative;overflow:hidden;padding:46px;display:flex;flex-direction:column;justify-content:space-between;background:var(--lf-workshop);color:white}.login-story h2{max-width:420px;margin:12px 0;font-family:var(--lf-font-display);font-size:clamp(36px,5vw,58px);line-height:1;letter-spacing:-.05em}.login-story p:not(.kicker){max-width:380px;color:#b8cac2;line-height:1.7}.login-story>small{color:#8aa298;font-family:var(--lf-font-mono);font-size:9px;letter-spacing:.13em}.layer-sculpture{position:relative;height:220px;margin:10px 0}.layer-sculpture i{position:absolute;left:5%;right:5%;height:56px;border:1px solid rgb(205 234 82/.52);border-radius:50%;transform:skewX(-12deg)}.layer-sculpture i:first-child{top:18px;transform:scale(.58) skewX(-12deg)}.layer-sculpture i:nth-child(2){top:58px;transform:scale(.72) skewX(-12deg)}.layer-sculpture i:nth-child(3){top:98px;transform:scale(.86) skewX(-12deg)}.layer-sculpture i:nth-child(4){top:138px}.layer-sculpture b{position:absolute;left:50%;top:84px;transform:translateX(-50%);color:var(--lf-layer);font-family:var(--lf-font-mono);font-size:12px;line-height:1.3;letter-spacing:.12em;text-align:center}.login-card{width:auto;max-width:none;margin:0;padding:52px 44px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border:0;border-radius:0}.login-mark{width:48px;height:48px;margin-bottom:20px;padding:8px;border-radius:10px;background:var(--lf-workshop);color:white}.login-card h1{margin:8px 0 10px;font-size:34px}.login-form{margin-top:24px}.login-form button,.login-form input{min-height:48px}.login-help{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--lf-steel);color:var(--lf-muted);font-size:12px;text-align:left}footer{display:grid;grid-gap:6px;gap:6px;border-top:1px solid rgb(23 33 29/.1);color:var(--lf-workshop);font-family:var(--lf-font-mono);font-size:10px;letter-spacing:.08em}footer small{color:var(--lf-muted);font-family:var(--lf-font-ui);letter-spacing:0}@media (max-width:900px){.workcell-label{display:none}.desktop-nav nav a{padding-inline:8px}.visual-queue-grid:has(>.visual-queue-card:only-child) .visual-queue-card{grid-template-columns:1fr}.visual-queue-grid:has(>.visual-queue-card:only-child) .visual-queue-cover{min-height:0;aspect-ratio:4/3}.login-shell{grid-template-columns:1fr 400px}.login-story{padding:36px}}@media (max-width:760px){body.workshop-shell{background-size:48px 48px}.site-header{height:64px;padding-inline:16px;background:rgb(244 245 240/.96)}.brand-mark{width:38px;height:38px}.brand-wordmark b{font-size:18px}.brand-wordmark small,.desktop-nav{display:none}main{padding:28px 16px calc(72px + env(safe-area-inset-bottom) + 28px)}.mobile-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:block;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid rgb(23 33 29/.14);background:rgb(250 251 248/.96);box-shadow:0 -10px 28px rgb(14 45 36/.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav nav{position:static!important;width:100%;margin:0;padding:0;gap:0;box-shadow:none}.mobile-nav nav,.mobile-nav nav a{display:flex;height:64px;background:transparent}.mobile-nav nav a{position:relative;flex:1 1 20%;min-width:0!important;padding:7px 1px 5px;flex-direction:column;justify-content:center;gap:3px;border:0;border-radius:0;color:var(--lf-muted);font-size:11px;line-height:1}.mobile-nav nav a:before{content:"";position:absolute;left:30%;right:30%;top:0;height:3px;background:transparent}.mobile-nav nav a.active{border-radius:0;background:transparent;color:var(--lf-workshop)}.mobile-nav nav a.active:before{background:var(--lf-layer)}.mobile-nav .nav-icon,.mobile-nav .nav-icon svg{width:20px;height:20px}.nav-count{position:absolute;top:5px;right:15%}.page-title{margin-bottom:26px;padding-left:16px}.page-title:before{width:4px}.page-title h1{font-size:34px}.submit-page-title h1{font-size:31px}.submit-page-title>p:last-child{font-size:15px}.clean-admin-hub{grid-template-columns:1fr}.primary-work-card{grid-column:span 1;grid-row:span 1;min-height:240px;padding:20px}.admin-pending-list>span{grid-template-columns:30px minmax(0,1fr)}.admin-pending-list small{grid-column:2}.page-title:after{width:120px}.machine-hero{padding:22px 18px 20px}.machine-hero:before{inset:48% -30% 0 28%}.machine-hero:after{display:none}.hero-content{margin:26px 0 22px;align-items:flex-start}.hero-content h1{font-size:31px}.hero-metrics{grid-template-columns:1fr}.camera-panel{padding:18px}.build-input-panel{padding:22px 18px 24px 30px}.submit-form .input-row{grid-template-columns:1fr}.submit-form .input-row button{width:100%}.submit-flow{justify-content:flex-start}.visual-queue-grid{grid-template-columns:1fr}.visual-queue-cover{aspect-ratio:4/3}.visual-rank{min-width:54px;height:46px;font-size:16px}.visual-queue-body{padding:18px}.visual-queue-body h2{font-size:22px}.login-shell,.visual-queue-times{grid-template-columns:1fr}.login-shell{min-height:0;margin:0;border-radius:var(--lf-radius-lg)}.login-story{display:none}.login-card{min-height:calc(100vh - 150px);padding:34px 24px}footer{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}