@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{color-scheme:dark;--bg: #010102;--card: #0f1011;--card-2: #141516;--card-3: #18191a;--border: #23252a;--border-strong: #34343a;--text: #f7f8f8;--ink-muted: #d0d6e0;--muted: #8a8f98;--ink-tertiary: #62666d;--accent: #5e6ad2;--accent-hover: #828fff;--accent-focus: #5e69d1;--accent-rgb: 94, 106, 210;--on-accent: #ffffff;--ok: #27a644;--warn: #e0803a;--bad: #df5a4e;--busy: #4bb6d8;--radius: 12px;--radius-sm: 8px;--radius-xs: 6px;--tap: 48px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6)}html{scroll-behavior:smooth}:focus-visible{outline:2px solid rgba(var(--accent-rgb),.75);outline-offset:2px;border-radius:4px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Geist Variable,Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis-weight:none;font-size:16px;line-height:1.5;letter-spacing:-.05px}.app{max-width:640px;margin:0 auto;padding:16px 16px 120px;display:flex;flex-direction:column;gap:16px}.topbar{position:sticky;top:0;z-index:10;background:linear-gradient(to bottom,var(--bg) 75%,transparent);padding:12px 4px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.hamburger-nav{position:relative}.hamburger-btn{background:none;border:1px solid var(--border);border-radius:8px;min-width:44px;min-height:44px;padding:0 12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:18px}.hamburger-icon span{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform .2s,opacity .2s}.hamburger-icon.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.hamburger-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:6px;min-width:160px;z-index:100;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow-lg)}.hamburger-link{text-decoration:none;color:var(--muted);font-size:.9rem;padding:9px 14px;border-radius:7px;display:block}.hamburger-link:hover{background:var(--card-2);color:var(--text)}.hamburger-link-active{color:var(--text);background:var(--card-2)}.hamburger-link-danger{color:var(--warn)!important}.hamburger-divider{height:1px;background:var(--border);margin:4px 0}.hamburger-subpanel{padding:8px 10px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);margin-top:4px}.integration-fields{display:flex;flex-direction:column;gap:14px;margin-top:8px}.integration-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:var(--muted)}.integration-field{display:flex;flex-direction:column;gap:6px}.integration-field label{font-size:.82rem;color:var(--muted)}.integration-input{background:var(--card-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;min-height:44px;padding:8px 12px;width:100%;box-sizing:border-box}.integration-input-row{display:flex;gap:8px;align-items:center}.integration-input-row .integration-input{flex:1}.integration-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.integration-test-result{font-size:.85rem;margin:0;text-align:right}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.integration-input-error{border-color:var(--warn)!important}.integration-field-error{font-size:.78rem;color:var(--warn)}.topbar h1{font-size:19px;font-weight:700;margin:0;letter-spacing:-.015em;color:var(--text)}.status-pills{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--card);border:1px solid var(--border);font-size:13px;color:var(--muted)}.pill.ok{color:#c6f6d5;border-color:#22c55e59;background:#22c55e1f}.pill.busy{color:#bae6fd;border-color:#38bdf859;background:#38bdf81f}.pill.bad{color:#fecaca;border-color:#ef444466;background:#ef444426}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.card h2{font-size:12px;font-weight:600;margin:0;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.muted{color:var(--muted)}.small{font-size:13px}.big-label{font-size:28px;font-weight:600;letter-spacing:-.022em;margin:0}.warn{background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);color:#fde68a;padding:10px 12px;border-radius:10px;font-size:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:var(--tap);padding:0 18px;font-size:16px;font-weight:500;background:var(--card-2);color:var(--text);border:1px solid var(--border);border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .15s,background .15s,transform .06s}.chip:hover{border-color:var(--border-strong)}.chip:active{transform:scale(.97)}.chip:disabled{cursor:default}.chip-active{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.55);color:var(--accent-hover)}.chip-tick{color:var(--ok)}.field{display:flex;flex-direction:column;gap:8px}.field-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preset{min-height:72px;text-align:left;padding:12px 14px;background:var(--card-2);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;color:var(--text)}.preset{transition:border-color .15s,background .15s,transform .06s}.preset:hover{border-color:var(--border-strong)}.preset:active{transform:scale(.98)}.preset-active{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.55)}.preset-label{font-size:15px;font-weight:500}.preset-id{font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.stepper{display:inline-flex;align-items:center;gap:0;background:var(--card-2);border:1px solid var(--border);border-radius:12px;overflow:hidden;align-self:flex-start}.step-btn{width:var(--tap);height:var(--tap);font-size:22px;font-weight:600;background:transparent;color:var(--text);border:none;cursor:pointer}.step-btn:hover{background:#ffffff0a}.step-value{min-width:56px;text-align:center;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.sr-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.drop{border:2px dashed var(--border);border-radius:12px;padding:24px 16px;text-align:center;cursor:pointer;background:var(--card-2);transition:border-color .15s,background .15s;min-height:96px;display:flex;flex-direction:column;justify-content:center;gap:4px}.drop:hover,.drop-over{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}.drop-has-file{border-style:solid;border-color:#22c55e66;background:#22c55e0f}.drop-headline{font-size:17px;font-weight:500}.drop-filename{font-size:16px;font-weight:500;word-break:break-all}.primary{min-height:var(--tap);padding:0 20px;font-size:15px;font-weight:500;letter-spacing:0;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);cursor:pointer;transition:background .15s,transform .05s}.primary:hover{background:var(--accent-hover)}.primary:active{transform:scale(.98)}.primary:disabled{background:var(--card-2);color:var(--ink-tertiary);cursor:not-allowed}.ghost{min-height:44px;padding:0 14px;font-size:14px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:10px;cursor:pointer}.ghost:hover{border-color:var(--border-strong)}.link{background:none;border:none;padding:0;color:var(--accent);font-size:13px;cursor:pointer;text-decoration:underline}.jobs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.job{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:var(--card-2);border:1px solid var(--border);border-radius:10px}.job-id{font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.action-bar{position:fixed;bottom:16px;left:16px;right:16px;max-width:608px;margin:0 auto;background:var(--card-2);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;box-shadow:var(--shadow-lg);z-index:20}.action-bar-buttons{display:flex;gap:8px}.dialog-bg{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:30}.dialog{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px;max-width:480px;width:100%;display:flex;flex-direction:column;gap:12px}.dialog h3{font-size:18px;margin:0}.dialog p{margin:0}.supported-list{margin:0;padding-left:18px;font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--card-2);border:1px solid var(--border);border-radius:999px;padding:10px 18px;font-size:14px;box-shadow:var(--shadow-lg);z-index:25;animation:toast-in .18s ease-out}@keyframes toast-in{0%{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%);opacity:1}}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-thumb{background:var(--card-2);border:1px solid var(--border);border-radius:10px;padding:0;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;text-align:left;color:var(--text);transition:border-color .15s,transform .05s}.gallery-thumb:hover{border-color:var(--border-strong)}.gallery-thumb:active{transform:scale(.98)}.gallery-thumb-image{position:relative;width:100%}.gallery-thumb img,.gallery-thumb-placeholder{width:100%;aspect-ratio:1;object-fit:cover;background:var(--bg);display:flex;align-items:center;justify-content:center}.gallery-thumb-badge{position:absolute;top:6px;right:6px;background:#000000a6;color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:999px;pointer-events:none;backdrop-filter:blur(2px)}.gallery-thumb-badge-usb{background:#6366f1d9}.gallery-modal-source-badge{display:inline-block;vertical-align:middle;margin-left:8px;background:var(--card-2);border:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px}.gallery-thumb-meta{padding:8px 10px 10px;display:flex;flex-direction:column;gap:2px;min-height:48px}.gallery-thumb-preset{font-size:13px;font-weight:600;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-load-more{margin-top:12px;width:100%}.gallery-modal{max-width:600px;width:100%}.gallery-modal-image{width:100%;background:var(--bg);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-modal-image img{max-width:100%;max-height:60vh;display:block}.gallery-modal-meta{display:flex;flex-direction:column;gap:4px}.gallery-modal-preset{font-size:17px;font-weight:600}.gallery-modal-filename{word-break:break-all}.gallery-modal-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:stretch}.gallery-modal-actions .primary{width:100%}.gallery-modal-actions .ghost,.gallery-modal-actions .gallery-action-link{min-height:var(--tap);padding:0 16px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.gallery-action-link{text-decoration:none;color:var(--text)}.gallery-action-link:hover{border-color:var(--border-strong)}.gallery-action-danger{background:var(--bad);border-color:var(--bad);color:#fff}.gallery-action-danger:hover{border-color:var(--bad);background:#dc2626}.gallery-modal-close{align-self:center;margin-top:4px}.card-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card-head-actions .link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}.link-danger{color:var(--bad)}.gallery-thumb-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.gallery-thumb-check{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:999px;background:#00000080;border:1.5px solid white;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none;backdrop-filter:blur(2px)}.gallery-thumb-check.is-checked{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.primary.primary-danger{background:var(--bad);color:#fff}.primary.primary-danger:hover{background:#cf4b40}.primary.primary-danger:disabled{background:#5a2828;color:#8a5d5d}.dialog-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.printer-list{display:flex;flex-direction:column;gap:10px}.printer-card{background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.printer-card-disabled{opacity:.55}.printer-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.printer-card-name{font-size:17px;font-weight:600}.printer-card-status{font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace}.toggle{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.toggle-on{background:var(--ok);border-color:var(--ok);color:#fff}.toggle-off{background:var(--card);border-color:var(--border);color:var(--muted)}.toggle:disabled{opacity:.6;cursor:not-allowed}.printer-card-offline{border-left:3px solid var(--warn);opacity:.6}.printer-card-offline .chips,.printer-card-offline .ribbon-level,.printer-card-offline .swap-confirm{pointer-events:none}.preset-offline{opacity:.4;cursor:not-allowed}.printer-usb-warn{font-size:.82rem;color:var(--warn);margin-bottom:4px}.select-input{width:100%;min-height:var(--tap);background-color:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:16px;padding:0 40px 0 14px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8f98' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.select-input:hover{border-color:var(--border-strong)}.select-input:focus{border-color:var(--accent);outline:none}.ribbon-level{display:flex;flex-direction:column;gap:4px}.ribbon-bar{height:3px;border-radius:999px;transition:width .4s ease}.ribbon-bar-ok{background:var(--ok)}.ribbon-bar-low{background:var(--warn)}.net-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--card-2);border:1px solid var(--border);border-radius:12px}.net-row-body{display:flex;flex-direction:column;gap:4px;min-width:0}.net-row-label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.net-row-detail{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.net-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.net-dot-ok{background:var(--ok);box-shadow:0 0 6px #22c55e99}.net-dot-off{background:var(--muted)}.net-ssid{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wifi-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.wifi-network{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--card-2);border:1px solid var(--border);border-radius:10px;cursor:pointer;text-align:left;color:var(--text);min-height:var(--tap)}.wifi-network:hover{border-color:var(--border-strong)}.wifi-network-active{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.55)}.wifi-network-ssid{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wifi-signal{font-family:Geist Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--muted);flex-shrink:0;letter-spacing:1px}.text-input{width:100%;background:var(--card-2);border:1px solid var(--border);border-radius:10px;padding:0 14px;height:var(--tap);font-size:16px;color:var(--text);outline:none}.text-input:focus{border-color:var(--accent)}.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (min-width: 640px){.topbar h1{font-size:20px}.big-label{font-size:32px}.gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-modal{max-width:720px}.target-grid{grid-template-columns:repeat(3,1fr)}}.consent-page{min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;background:var(--bg);padding:40px 16px}.consent-card{width:100%;max-width:560px;display:flex;flex-direction:column;gap:12px}.consent-logo{font-size:1rem;font-weight:700;color:var(--muted);margin-bottom:4px}.consent-title{font-size:1.4rem;font-weight:700;color:var(--text);margin:0}.consent-section{font-size:.95rem;font-weight:600;color:var(--text);margin:8px 0 0}.consent-body{font-size:.9rem;color:var(--muted);margin:0;line-height:1.6}.consent-list{font-size:.9rem;color:var(--muted);margin:0;padding-left:20px;line-height:1.8}.consent-footer{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}.guest-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px 16px}.guest-card{width:100%;max-width:400px;background:var(--card);border-radius:16px;padding:40px 32px;display:flex;flex-direction:column;gap:20px;align-items:stretch}.guest-logo{font-size:1.3rem;font-weight:700;text-align:center;color:var(--text);margin:0 0 4px}.guest-hint{text-align:center;color:var(--muted);font-size:.95rem;margin:0}.guest-pin-input{width:100%;background:var(--card-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1.5rem;letter-spacing:.3em;padding:14px 16px;text-align:center;box-sizing:border-box}.guest-btn{width:100%;padding:16px;font-size:1.05rem;font-weight:500;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,transform .05s}.guest-btn:hover:not(:disabled){background:var(--accent-hover)}.guest-btn:active:not(:disabled){transform:scale(.99)}.guest-btn:disabled{opacity:.4;cursor:default}.guest-drop{display:block;border:2px dashed var(--border);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.guest-drop-over{border-color:var(--accent);background:rgba(var(--accent-rgb),.07)}.guest-drop-filled{border-style:solid;border-color:var(--ok)}.guest-drop-label{color:var(--muted);line-height:1.7}.guest-filename{color:var(--text);word-break:break-all}.guest-success{font-size:3.5rem;text-align:center;color:var(--ok)}.guest-cancel-row{display:flex;align-items:center;justify-content:space-between}.guest-cancel{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:0}.guest-cancel:hover{color:var(--text)}.guest-error{color:var(--warn);text-align:center;font-size:.9rem;margin:0}.guest-settings{display:flex;flex-direction:column;gap:12px;margin-top:8px}.guest-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem;color:var(--muted)}.guest-pin-field{display:flex;gap:8px;align-items:center}.guest-setting-input{background:var(--card-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;min-height:44px;padding:6px 10px;width:120px;box-sizing:border-box}.upload-preview{display:flex;align-items:center;gap:12px;margin-bottom:10px}.upload-preview-img{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid var(--border);flex-shrink:0}.upload-rotate-btns{display:flex;gap:6px}.upload-rotate-btns button{font-size:1.1rem;padding:6px 10px}.design-helper{background:var(--card-2);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.design-helper-title{font-size:.85rem;font-weight:600;color:var(--text);margin:0}.design-helper-list{font-size:.82rem;color:var(--muted);margin:0;padding-left:18px;line-height:1.8}.design-size-table{width:100%;font-size:.82rem;border-collapse:collapse;color:var(--muted)}.design-size-table th{text-align:left;padding:4px 8px;border-bottom:1px solid var(--border);font-weight:600;color:var(--text)}.design-size-table td{padding:4px 8px}.border-preview-row{display:flex;align-items:center;gap:12px}.border-preview{width:80px;height:60px;object-fit:contain;border-radius:6px;border:1px solid var(--border);background:repeating-conic-gradient(#333 0% 25%,#444 0% 50%) 0 0 / 12px 12px}.btn-primary{background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;min-height:44px;padding:10px 20px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.4;cursor:default}.btn-primary.small{padding:6px 14px;font-size:.85rem}.ghost.small{padding:4px 10px;font-size:.85rem}
