:root{--naylo-mint-50: #F4FAF9;--naylo-mint-100: #E5F6F1;--naylo-mint-200: #C3EFE4;--naylo-mint-500: #34D8B0;--naylo-mint-600: #23B894;--naylo-mint-700: #1F8F74;--naylo-mint-800: #196854;--naylo-grey-50: #F7F7F8;--naylo-grey-100: #ECEDEE;--naylo-grey-200: #D6D8DC;--naylo-grey-300: #B7BBC2;--naylo-grey-400: #959BA7;--naylo-grey-500: #6B7280;--naylo-grey-700: #464A53;--naylo-grey-800: #34373D;--naylo-grey-900: #232528;--naylo-red-50: #FBF4F4;--naylo-red-500: #EF4444;--naylo-red-700: #B41414;--surface-app: var(--naylo-grey-50);--surface-card: #FFFFFF;--border-default: var(--naylo-grey-200);--text-primary: var(--naylo-grey-800);--text-secondary: var(--naylo-grey-500);--font-display: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 2px 4px rgba(35, 37, 40, .05);--shadow-md: 0 4px 12px rgba(35, 37, 40, .06);--transition: .15s ease}*{box-sizing:border-box}body{margin:0;background:var(--surface-app);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:64px;background:var(--surface-card);border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand img{border-radius:8px}.brand h1{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em;margin:0;color:var(--naylo-grey-900);line-height:1.2}.brand span{font-size:12px;color:var(--text-secondary)}.privacy-badge{display:flex;align-items:center;gap:6px;background:var(--naylo-mint-100);color:var(--naylo-mint-800);font-weight:600;font-size:12px;padding:4px 10px;border-radius:9999px;white-space:nowrap}main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:24px}.dropzone{border:1.5px dashed var(--naylo-grey-300);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;margin-top:24px;cursor:pointer;text-align:center;transition:border-color var(--transition),background var(--transition)}.dropzone.big{padding:96px 24px;margin-top:48px}.dropzone.over,.dropzone:hover{border-color:var(--naylo-mint-500);background:var(--naylo-mint-50)}.dropzone h2{font-family:var(--font-display);font-weight:600;font-size:28px;letter-spacing:-.02em;color:var(--naylo-grey-900);margin:8px 0 0}.dropzone p{margin:0;max-width:480px}.dropzone .as-span{margin-top:16px}.btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-md);border:none;font-family:var(--font-body);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn.primary{background:var(--naylo-mint-500);color:var(--naylo-grey-900)}.btn.primary:hover{background:var(--naylo-mint-600)}.btn.secondary{background:var(--surface-card);color:var(--naylo-grey-800);border:1.5px solid var(--naylo-grey-300)}.btn.secondary:hover{border-color:var(--naylo-grey-400)}.btn.ghost{background:transparent;color:var(--naylo-mint-700)}.btn.ghost.danger{color:var(--naylo-red-700)}.btn.ghost:hover{background:var(--naylo-grey-100)}.btn:disabled{opacity:.6;cursor:default}.as-span{pointer-events:none}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:12px 16px;position:sticky;top:12px;z-index:10;box-shadow:var(--shadow-sm)}.toolbar-info{display:flex;align-items:center;color:var(--text-secondary);font-size:14px}.toolbar-info strong{color:var(--text-primary)}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.tag{background:var(--naylo-mint-100);color:var(--naylo-mint-800);font-weight:600;font-size:12px;padding:2px 8px;border-radius:4px;margin-left:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:24px}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;position:relative;cursor:grab;transition:box-shadow var(--transition),border-color var(--transition)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--naylo-grey-300)}.card.selected{border-color:var(--naylo-mint-500);box-shadow:0 0 0 3px var(--naylo-mint-100)}.card.drop-target{border-color:var(--naylo-mint-500);border-style:dashed}.check{position:absolute;top:8px;left:8px;z-index:2;background:#ffffffe6;border:none;border-radius:6px;padding:4px;cursor:pointer;color:var(--naylo-grey-400);display:flex}.check.on{color:var(--naylo-mint-700)}.thumb-wrap{aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;background:var(--naylo-grey-100);overflow:hidden}.thumb-wrap img{max-width:100%;max-height:100%;transition:transform var(--transition);box-shadow:var(--shadow-sm)}.card-footer{display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--border-default)}.page-num{font-weight:700;font-size:12px;color:var(--naylo-mint-700);background:var(--naylo-mint-50);border-radius:4px;min-width:22px;text-align:center;padding:2px 0}.page-label{flex:1;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions{display:flex;gap:2px}.icon-btn{background:transparent;border:none;border-radius:6px;padding:4px;cursor:pointer;color:var(--naylo-grey-500);display:flex;transition:all var(--transition)}.icon-btn:hover{background:var(--naylo-grey-100);color:var(--naylo-grey-800)}.icon-btn.danger:hover{background:var(--naylo-red-50);color:var(--naylo-red-700)}.alert{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--naylo-red-50);color:var(--naylo-red-700);border:1px solid var(--naylo-red-500);border-radius:var(--radius-md);padding:10px 14px;font-size:14px;margin-bottom:16px}.busy{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--naylo-grey-900);color:#fff;border-radius:9999px;padding:10px 20px;display:flex;align-items:center;gap:10px;font-size:14px;box-shadow:0 8px 24px #23252833}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toolbar.tools{position:static;margin-top:12px;box-shadow:none;padding:10px 16px}.tools-label{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--naylo-grey-500)}.btn.secondary.active{border-color:var(--naylo-mint-500);background:var(--naylo-mint-50);color:var(--naylo-mint-800)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{background:transparent;color:var(--naylo-grey-500)}.modal-backdrop{position:fixed;inset:0;background:#23252880;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:0 16px 40px #23252833;width:100%;max-width:680px;max-height:90vh;overflow:auto;padding:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h3{font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.02em;color:var(--naylo-grey-900);margin:0;display:flex;align-items:center;gap:8px}.modal-hint{margin:16px 0 0;font-size:12px;color:var(--naylo-grey-400);text-align:center}.pad-wrap{display:flex;flex-direction:column;gap:12px}.pad{width:100%;aspect-ratio:600 / 240;border:1.5px dashed var(--naylo-grey-300);border-radius:var(--radius-md);background:var(--naylo-grey-50);cursor:crosshair;touch-action:none}.pad-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.place-wrap{display:flex;flex-direction:column;gap:12px}.place-box{position:relative;align-self:center;max-width:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;-webkit-user-select:none;user-select:none}.place-box>img{display:block;max-width:100%;max-height:55vh}.place-sig{position:absolute;cursor:move;outline:1.5px dashed var(--naylo-mint-500);outline-offset:2px;touch-action:none}.place-controls{display:flex;align-items:center;gap:12px;justify-content:flex-end;flex-wrap:wrap}.place-controls label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--naylo-grey-700);margin-right:auto}.place-controls input[type=range]{accent-color:var(--naylo-mint-500)}.place-loading{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);padding:48px 0}.modal.wide{max-width:780px}.ed-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.ed-box{width:fit-content;margin:0 auto 12px}.ed-el{position:absolute;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.ed-el.sel{outline:1.5px dashed var(--naylo-mint-500);outline-offset:2px}.ed-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--naylo-grey-50);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:12px}.ed-controls label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--naylo-grey-700)}.ed-controls input[type=range]{accent-color:var(--naylo-mint-500)}.ed-input{height:40px;border:1.5px solid var(--border-default);border-radius:var(--radius-md);padding:8px 12px;font-family:var(--font-body);font-size:14px;color:var(--text-primary);background:#fff;min-width:0}.ed-input:focus{outline:4px solid var(--naylo-mint-100);border-color:var(--naylo-mint-500)}.ed-colors{display:flex;gap:6px}.ed-color{width:24px;height:24px;border-radius:6px;border:1.5px solid var(--border-default);cursor:pointer}.ed-color.on{outline:2px solid var(--naylo-mint-500);outline-offset:1px}.form-stack{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:var(--naylo-grey-700)}.field.row{flex-direction:row;align-items:center;gap:8px}.field.muted span{color:var(--naylo-grey-400);font-weight:400;font-size:12px}.field input[type=range]{accent-color:var(--naylo-mint-500)}.field input[type=checkbox]{accent-color:var(--naylo-mint-500);width:16px;height:16px}.mode-row{display:flex;gap:8px;flex-wrap:wrap}.mode-btn{flex:1;min-width:120px;height:40px;border:1.5px solid var(--border-default);border-radius:var(--radius-md);background:#fff;font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--naylo-grey-800);cursor:pointer;transition:all var(--transition)}.mode-btn.on{border-color:var(--naylo-mint-500);background:var(--naylo-mint-50);color:var(--naylo-mint-800)}.mode-hint{font-weight:400;font-size:12px;color:var(--text-secondary);margin-top:2px}.result-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--naylo-mint-50);border:1px solid var(--naylo-mint-200);border-radius:var(--radius-md);padding:12px 14px;font-size:15px;color:var(--naylo-mint-800)}.result-box.neutral{background:var(--naylo-grey-50);border-color:var(--border-default);color:var(--naylo-grey-700)}.save-tag{background:var(--naylo-mint-500);color:var(--naylo-grey-900);font-weight:700;font-size:13px;padding:2px 10px;border-radius:9999px}.result-note{flex-basis:100%;font-size:12px;color:var(--text-secondary)}.form-fields{display:flex;flex-direction:column;gap:10px;max-height:40vh;overflow:auto;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px}.whatsnew-badge{display:inline-flex;align-items:center;gap:6px;background:var(--naylo-mint-100);color:var(--naylo-mint-800);font-weight:600;font-size:12px;padding:4px 10px;border-radius:9999px}.whatsnew-release+.whatsnew-release{border-top:1px solid var(--border-default);margin-top:16px;padding-top:16px}.whatsnew-release h3{font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.02em;color:var(--naylo-grey-900);margin:0 0 8px}.whatsnew-release ul{margin:0;padding-left:20px;color:var(--naylo-grey-700)}.whatsnew-release li+li{margin-top:6px}.footer{text-align:center;color:var(--naylo-grey-400);font-size:12px;padding:24px}@media(max-width:640px){.privacy-badge{display:none}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
