@font-face{font-family:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCAIT5lu.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:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCkIT5lu.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCIIT5lu.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:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCMIT5lu.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyC0ITw.woff2) format("woff2");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:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCAIT5lu.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:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCkIT5lu.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCIIT5lu.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:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCMIT5lu.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyC0ITw.woff2) format("woff2");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:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCAIT5lu.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:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCkIT5lu.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCIIT5lu.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:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyCMIT5lu.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v37/1Ptug8zYS_SKggPNyC0ITw.woff2) format("woff2");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{--bg: #f3f5f8;--surface: #fff;--border: #d9dee5;--text: #1d2733;--muted: #5f6b7a;--primary: #c0392b;--primary-hover: #a02c20;--primary-soft: #fbeceb;--stage: #15191e;--info: #1d5fa8;--info-soft: #e8f0fa;--success: #1b7a47;--success-soft: #e6f4ec;--error: #b42318;--error-soft: #fdecea;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45;color:var(--text);background-color:var(--bg)}app-root{display:flex;flex-direction:column;height:100vh;height:100dvh}h1,h2,h3{font-family:Raleway,sans-serif;font-weight:700;margin:0}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 24px;font-size:13px;color:var(--muted);background-color:var(--surface);border-top:1px solid var(--border)}.wjps-logo{display:block;height:26px;filter:invert(1)}.workspace{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;width:100%;max-width:1600px;margin:0 auto;padding:16px 24px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.stage{position:relative;flex:1;min-height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--stage);border-radius:var(--radius)}.stage-message{max-width:420px;padding:24px;text-align:center;color:#e8ecf1}.camera-preview,.webcam-wrapper{display:block;width:100%;height:100%}.webcam-wrapper>video{display:block;width:100%;height:100%;object-fit:contain}.stage-editor{flex:1;min-height:0}.zoom-controls{position:absolute;top:8px;right:8px;display:flex;gap:4px}.zoom-controls button{min-width:34px;height:34px;font:inherit;font-weight:600;color:#fff;background:#0009;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer}.zoom-controls button:disabled{opacity:.4;cursor:default}.dropzone{flex-direction:column;gap:6px;background-color:var(--surface);border:2px dashed var(--border);color:var(--muted);cursor:pointer;transition:border-color .15s,background-color .15s}.dropzone:hover,.dropzone.drag-over,.dropzone:focus-within{border-color:var(--primary);background-color:var(--primary-soft)}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone svg{width:48px;height:48px;fill:var(--primary)}.dropzone strong{font-size:18px;color:var(--text)}.review{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.review-image img{display:block;max-width:100%;max-height:100%;object-fit:contain}.card{overflow-y:auto;padding:20px;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card h2{font-size:18px;margin-bottom:16px}.card h3{font-size:14px;margin:20px 0 8px}.files{margin:0 0 12px;padding:0;list-style:none}.files li+li{border-top:1px solid var(--border)}.files label{display:flex;align-items:flex-start;gap:10px;padding:8px 4px;cursor:pointer}.files label>span{display:flex;flex-direction:column;min-width:0}.file-label{font-weight:600}.file-name{font-family:Consolas,Courier New,monospace;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.file-desc{font-size:13px;color:var(--muted)}.files input[type=checkbox]{flex:none;width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--primary);cursor:pointer}.files .off .file-label{color:var(--muted);text-decoration:line-through}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:13px;background-color:var(--bg);border:1px solid var(--border);border-radius:999px}.swatch{width:10px;height:10px;border:1px solid rgba(0,0,0,.35);border-radius:2px}.actions{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.actions-hint{flex:1;color:var(--muted)}.actions-hint kbd{padding:0 5px;font:inherit;font-size:.9em;color:var(--text);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 20px;font:inherit;font-weight:600;white-space:nowrap;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background-color .15s,border-color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background-color:var(--primary)}.btn-primary:not(:disabled):hover{background-color:var(--primary-hover)}.btn-secondary{color:var(--text);background-color:var(--surface);border-color:var(--border)}.btn-secondary:not(:disabled):hover{background-color:var(--bg)}.btn svg{width:18px;height:18px;fill:currentColor}.link{padding:0;font:inherit;color:var(--primary);text-decoration:underline;background:none;border:0;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.dropzone:focus-within{outline:3px solid rgba(192,57,43,.35);outline-offset:1px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-weight:600}.field-inline{flex-direction:row;align-items:center;gap:10px;margin:0}.field-help{margin:-6px 0 0;font-size:13px;color:var(--muted)}input,select,textarea{width:100%;min-height:42px;padding:8px 12px;font:inherit;font-weight:400;color:var(--text);background-color:var(--surface);border:1px solid var(--border);border-radius:8px}.field-inline select{width:auto;min-width:240px;max-width:100%}.segmented{display:inline-flex;padding:3px;background-color:#e4e8ee;border-radius:9px}.segmented button{min-height:36px;padding:0 16px;font:inherit;font-weight:600;color:var(--muted);background:none;border:0;border-radius:7px;cursor:pointer}.segmented button.on{color:var(--text);background-color:var(--surface);box-shadow:var(--shadow)}.status{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border-left:4px solid currentColor}.status>span:not(.spinner){flex:1}.status-info{color:var(--info);background-color:var(--info-soft)}.status-success{color:var(--success);background-color:var(--success-soft)}.status-error{color:var(--error);background-color:var(--error-soft)}.status-close{font-size:20px;line-height:1;color:inherit;background:none;border:0;cursor:pointer}.spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.stage>.spinner{width:36px;height:36px;color:#fff}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 800px){.workspace,.app-footer{padding-left:16px;padding-right:16px}.review{grid-template-columns:1fr;grid-template-rows:minmax(240px,1fr) auto;overflow-y:auto}.actions{flex-wrap:wrap}.actions-hint{flex-basis:100%;order:-1;font-size:13px}.actions .btn{flex:1}.field-inline select{min-width:0}}.type-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.type-toggle{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font:inherit;font-size:13px;color:inherit;background:none;border:1px solid var(--border);border-radius:999px;cursor:pointer}.type-toggle .swatch{width:10px;height:10px;border-radius:50%;background:var(--type-colour)}.type-toggle.off{color:var(--muted);text-decoration:line-through}.type-toggle.off .swatch{background:none;box-shadow:inset 0 0 0 2px var(--type-colour)}.item-row{display:flex;align-items:center}.eye{display:grid;flex:none;padding:4px;color:var(--muted);background:none;border:0;border-radius:6px;cursor:pointer}.eye:hover{color:var(--primary)}.eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.box-hidden .item-head{opacity:.5}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.toggle-all{padding:3px 10px;font:inherit;font-size:13px;color:var(--primary);background:none;border:1px solid currentColor;border-radius:6px;cursor:pointer}.toggle-all:disabled{color:var(--muted);cursor:default}.item-actions .delete,.item-actions .zoom-to{padding:3px 8px;font:inherit;font-size:13px;color:var(--error);background:none;border:1px solid currentColor;border-radius:6px;cursor:pointer}.item-actions .zoom-to{color:var(--primary)}.item-actions .delete:hover{color:#fff;background-color:var(--error)}
