@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff")}:root{color-scheme:light;--color-page: #f8fafc;--color-surface: #ffffff;--color-text: #1a1a2e;--color-text-muted: #64748b;--color-blue-surface: #e0f2fe;--color-blue: #0369a1;--color-neutral-surface: #f1f5f9;--color-border: #e2e8f0;--color-primary: #0ea5e9;--color-primary-tint: rgba(14, 165, 233, .08);--color-primary-hover: #0891cc;--color-focus: #0c4a6e;--color-blue-surface-hover: #d6edfc;--color-blue-surface-active: #cfe9fb;--color-border-hover: #cbd5e1;--color-danger: #b91c1c;--color-danger-tint: rgba(185, 28, 28, .08);--color-danger-tint-strong: rgba(185, 28, 28, .14);--color-input-border: #64748b;--color-notice-surface: #fef3c7;--color-notice-text: #78350f;--color-notice-border: #fde68a;--color-backdrop: rgba(15, 23, 42, .55);--text-page-title: 28px;--text-section-title: 22px;--text-card-title: 17px;--text-body: 16px;--text-secondary: 14px;--text-button: 15px;--text-header-name: 18px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-image: 8px;--radius-button: 10px;--radius-tile: 12px;--radius-card: 14px;--radius-dialog: 16px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .05);--shadow-dialog: 0 20px 60px rgba(15, 23, 42, .3);--touch: 44px;--signet-height: 40px;--content-width: 1180px;--glyph-size: 18px;--icon-tile-size: 48px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--color-page);color:var(--color-text);font-family:var(--font);font-size:var(--text-body);line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glyph{display:inline-block;width:var(--glyph-size);height:var(--glyph-size);flex:none;fill:currentColor}.frame{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);padding:var(--space-3) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--touch);text-decoration:none;color:var(--color-text);font-size:var(--text-header-name);font-weight:var(--weight-semibold);line-height:1.2}.brand-signet{display:block;height:var(--signet-height);width:auto}.brand-name{white-space:nowrap}.topbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.identity{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4) 0 var(--space-3);min-height:var(--touch);border-radius:var(--radius-pill);background:var(--color-neutral-surface);color:var(--color-text);font-weight:var(--weight-medium);font-size:var(--text-secondary)}.identity .glyph{width:20px;height:20px}.dev-notice{display:flex;align-items:flex-start;gap:var(--space-3);width:calc(100% - 2 * var(--space-6));max-width:calc(var(--content-width) - 2 * var(--space-6));margin:var(--space-4) auto 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-tile);border:1px solid var(--color-notice-border);background:var(--color-notice-surface);color:var(--color-notice-text);font-size:var(--text-secondary);font-weight:var(--weight-medium)}.dev-notice .glyph{width:20px;height:20px;margin-top:1px}.main{flex:1;width:100%;max-width:var(--content-width);margin:0 auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-8)}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:var(--text-page-title);font-weight:var(--weight-bold)}h2{font-size:var(--text-section-title);font-weight:var(--weight-semibold)}p{margin:0}.muted{color:var(--color-text-muted)}.text-danger{color:var(--color-danger)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.row-between{justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch);min-width:var(--touch);padding:0 var(--space-4);border-radius:var(--radius-button);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium);font-size:var(--text-button);line-height:1.2;cursor:pointer;text-decoration:none;transition:background-color .12s ease,border-color .12s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{padding:0;width:var(--touch)}.btn-outline:hover:not(:disabled){background:var(--color-neutral-surface);border-color:var(--color-border-hover)}.btn-outline:active:not(:disabled){background:var(--color-border);border-color:var(--color-border-hover)}.btn-primary{background:var(--color-primary);border-color:transparent;color:var(--color-text);font-weight:var(--weight-semibold)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:transparent}.btn-primary:active:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-blue)}.btn-secondary{background:var(--color-blue-surface);border-color:var(--color-blue-surface);color:var(--color-blue);font-weight:var(--weight-semibold)}.btn-secondary:hover:not(:disabled){background:var(--color-blue-surface-hover);border-color:var(--color-blue-surface-hover)}.btn-secondary:active:not(:disabled){background:var(--color-blue-surface-active);border-color:var(--color-blue)}.btn-destructive{border-color:var(--color-danger);color:var(--color-danger)}.btn-destructive:hover:not(:disabled){background:var(--color-danger-tint)}.btn-destructive:active:not(:disabled){background:var(--color-danger-tint-strong)}.btn-text{border-color:transparent;background:transparent;color:var(--color-blue);font-weight:var(--weight-semibold)}.btn-text:hover:not(:disabled){background:var(--color-blue-surface)}.btn-text:active:not(:disabled){background:var(--color-blue-surface-active)}.section{display:flex;flex-direction:column;gap:var(--space-4)}.section-head{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-4)}.card-list,.template-grid{list-style:none;margin:0;padding:0}.card-list{display:flex;flex-direction:column;gap:var(--space-3)}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:var(--shadow-card)}.card-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4)}.card-stack{display:flex;flex-direction:column;gap:var(--space-4)}.card-head{display:flex;align-items:flex-start;gap:var(--space-4)}.card-info{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:2px}.card-title{font-size:var(--text-card-title);font-weight:var(--weight-semibold);line-height:1.3;overflow-wrap:anywhere}.card-line{font-size:var(--text-secondary);color:var(--color-text-muted);white-space:pre-line;overflow-wrap:anywhere}.card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-left:auto}.card-stack .card-actions{justify-content:flex-start;margin-left:0}.card-stack .card-actions .btn{flex:1 1 0}.icon-tile{width:var(--icon-tile-size);height:var(--icon-tile-size);flex:none;border-radius:var(--radius-tile);background:var(--color-blue-surface);color:var(--color-blue);display:grid;place-items:center}.icon-tile svg{width:26px;height:26px;fill:currentColor}.icon-tile-template{background:var(--color-primary-tint);color:var(--color-primary)}.status-line{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-secondary);font-weight:var(--weight-medium);color:var(--color-danger)}.notice{padding:var(--space-4);border-radius:var(--radius-tile);border:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.notice-error{background:var(--color-danger-tint);border-color:var(--color-danger-tint-strong)}.empty{padding:var(--space-8) var(--space-6);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.editor-header{display:flex;align-items:center;gap:var(--space-3)}.controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}.search{position:relative;flex:1 1 280px;display:flex;align-items:center}.search .glyph{position:absolute;left:var(--space-3);pointer-events:none;color:var(--color-text-muted);width:20px;height:20px}.search input{width:100%;min-height:var(--touch);padding:0 var(--space-3) 0 40px;border-radius:var(--radius-tile);border:1px solid var(--color-input-border);background:var(--color-surface);font-size:var(--text-body);appearance:none;-webkit-appearance:none}.filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--touch);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:var(--text-secondary);font-weight:var(--weight-medium)}.chip:hover{background:var(--color-neutral-surface)}.chip[aria-checked=true]{background:var(--color-blue-surface);border-color:var(--color-blue);color:var(--color-blue);font-weight:var(--weight-semibold)}.chip .glyph{width:16px;height:16px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3);list-style:none;margin:0;padding:0}.tile{position:relative;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-tile);border:1.5px solid var(--color-border);background:var(--color-surface)}.tile[data-selected=true]{border-color:var(--color-blue);background:var(--color-blue-surface)}.tile-toggle{display:flex;flex-direction:column;gap:var(--space-1);padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-image)}.tile-image{width:100%;aspect-ratio:1;object-fit:contain;background:var(--color-surface);border-radius:var(--radius-image)}.tile-footer{display:flex;align-items:center;gap:var(--space-1);min-height:28px;font-size:var(--text-secondary);font-weight:var(--weight-medium)}.tile-word{flex:1;overflow-wrap:anywhere}.tile-mark{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid var(--color-text-muted);background:var(--color-surface);color:var(--color-surface);display:grid;place-items:center}.tile[data-selected=true] .tile-mark{background:var(--color-blue);border-color:var(--color-blue)}.tile-mark .glyph{width:14px;height:14px}.tile-zoom{position:absolute;top:var(--space-3);right:var(--space-3)}.footer-bar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:0 calc(-1 * var(--space-6)) calc(-1 * var(--space-6));background:var(--color-surface);border-top:1px solid var(--color-border)}.footer-bar .summary{flex:1;min-width:200px;font-weight:var(--weight-medium)}.form-stack{display:flex;flex-direction:column;gap:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label,.field-label{font-weight:var(--weight-semibold);font-size:var(--text-button)}.field input,.field textarea{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-tile);border:1px solid var(--color-input-border);background:var(--color-surface);font-size:var(--text-body)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-danger)}.field textarea{min-height:96px;resize:vertical}.field-hint{font-size:var(--text-secondary);color:var(--color-text-muted)}.field-error{font-size:var(--text-secondary);color:var(--color-danger);font-weight:var(--weight-medium)}.icon-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-2)}.icon-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);min-height:84px;border-radius:var(--radius-tile);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:var(--text-secondary)}.icon-option:hover{background:var(--color-neutral-surface)}.icon-option[aria-checked=true]{border-color:var(--color-blue);background:var(--color-blue-surface)}.icon-option-glyph{width:26px;height:26px;fill:var(--color-blue)}.icon-option .check{position:absolute;top:6px;right:6px;display:grid;color:var(--color-blue)}.icon-option .check .glyph{width:16px;height:16px}.selected-strip{display:flex;flex-wrap:wrap;gap:var(--space-1)}.selected-strip img{width:56px;height:56px;object-fit:contain;background:var(--color-surface);border-radius:var(--radius-image);border:1px solid var(--color-border)}.unavailable{padding:var(--space-3);border-radius:var(--radius-tile);border:1px solid var(--color-danger-tint-strong);background:var(--color-danger-tint);display:flex;flex-direction:column;gap:var(--space-1)}.unavailable-row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch)}.unavailable-label{flex:1}.centered-note{text-align:center;padding:var(--space-8)}.login{display:flex;justify-content:center;padding-top:var(--space-8)}.login-card{width:100%;max-width:440px;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.login-card h1{margin:0}.dialog-backdrop{position:fixed;inset:0;background:var(--color-backdrop);display:grid;place-items:center;padding:var(--space-6);z-index:10}.dialog{width:min(560px,100%);max-height:100%;overflow:auto;background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-dialog);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-dialog)}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.qr-box{align-self:center;background:var(--color-surface);padding:0;border-radius:var(--radius-image);line-height:0}.qr-box svg{display:block;width:min(640px,calc(100vw - 96px),calc(100vh - 320px));height:auto;shape-rendering:crispEdges}.preview-image{max-width:100%;max-height:70vh;object-fit:contain;background:var(--color-surface);border-radius:var(--radius-tile);align-self:center}.toast{position:fixed;left:50%;bottom:var(--space-6);transform:translate(-50%);padding:var(--space-3) var(--space-5);border-radius:var(--radius-tile);background:var(--color-text);color:var(--color-page);font-weight:var(--weight-medium);box-shadow:var(--shadow-dialog);z-index:20}
