.toast-host[data-v-3882a9e7]{z-index:9999;pointer-events:none;gap:.65rem;width:min(92vw,380px);display:grid;position:fixed;top:1.1rem;right:1.1rem}.toast[data-v-3882a9e7]{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf7f5;border:1px solid #2a26221a;border-radius:14px;grid-template-columns:1fr auto;align-items:start;gap:.65rem;padding:.95rem 1rem;display:grid;box-shadow:0 18px 40px #2a262224}.toast-success[data-v-3882a9e7]{border-color:#1f7a5547}.toast-error[data-v-3882a9e7]{border-color:#b4231847}.toast-info[data-v-3882a9e7]{border-color:#8f7a5f59}.toast-title[data-v-3882a9e7]{font-family:var(--font-display);margin-bottom:.2rem;font-size:.95rem;font-weight:700}.toast-msg[data-v-3882a9e7]{color:var(--ink-soft);font-size:.92rem;line-height:1.4}.toast-error .toast-msg[data-v-3882a9e7],.toast-error .toast-title[data-v-3882a9e7]{color:#8f2a24}.toast-success .toast-msg[data-v-3882a9e7],.toast-success .toast-title[data-v-3882a9e7]{color:#1f7a55}.toast-close[data-v-3882a9e7]{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:1.25rem;line-height:1}.toast-close[data-v-3882a9e7]:hover{color:var(--ink)}.toast-enter-active[data-v-3882a9e7],.toast-leave-active[data-v-3882a9e7]{transition:opacity .22s,transform .22s}.toast-enter-from[data-v-3882a9e7],.toast-leave-to[data-v-3882a9e7]{opacity:0;transform:translateY(-8px)scale(.98)}.fb-support[data-v-a68980cc]{z-index:50;color:#fff;background:#1877f2;border-radius:999px;align-items:center;gap:.55rem;min-height:3rem;padding:.55rem 1rem .55rem .7rem;font-size:.875rem;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;position:fixed;bottom:1.1rem;right:1.1rem;box-shadow:0 10px 28px #1877f259}.fb-support[data-v-a68980cc]:hover{background:#166fe5;transform:translateY(-2px);box-shadow:0 14px 32px #1877f26b}.fb-support[data-v-a68980cc]:active{transform:translateY(0)}.fb-icon[data-v-a68980cc]{flex-shrink:0;width:1.35rem;height:1.35rem}.fb-label[data-v-a68980cc]{white-space:nowrap;line-height:1}@media (width<=480px){.fb-support[data-v-a68980cc]{justify-content:center;min-width:3.1rem;min-height:3.1rem;padding:.7rem;bottom:.85rem;right:.85rem}.fb-label[data-v-a68980cc]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}:root{--ink:#2a2622;--ink-soft:#5c554c;--muted:#8a8278;--line:#2a26221a;--surface:#fffdf9e0;--surface-solid:#fffcf7;--accent:#8f7a5f;--accent-deep:#6e5c45;--accent-soft:#ebe4d8;--warm:#8f7a5f;--warm-soft:#ebe4d8;--danger:#b42318;--ok:#1f7a55;--radius:14px;--radius-sm:10px;--shadow:0 16px 40px #2a26220f;--font-display:"Sora", sans-serif;--font-body:"Figtree", sans-serif;--max:1180px;--page-bg:#f3eee6;--shell-top:64px}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%}body{color:var(--ink);font-family:var(--font-body);background:var(--page-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;margin:0;line-height:1.12}p{margin:0}.page{z-index:1;min-height:100vh;position:relative}.container{box-sizing:border-box;width:100%;max-width:none;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.75rem)}.header-container,.content-max{box-sizing:border-box;width:100%;max-width:1400px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.75rem)}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.2rem;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s,opacity .2s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fffcf7;box-shadow:0 10px 22px #6f5c452e}.btn-primary:not(:disabled):hover{background:var(--accent-deep)}.btn-secondary{background:var(--surface-solid);color:var(--ink);border:1px solid var(--line)}.btn-ghost{color:var(--ink-soft);background:0 0;border:1px solid #0000}.btn-ghost:hover{border-color:var(--line);background:#fffcf7b3}.btn-warm{background:var(--warm);color:#fffcf7;box-shadow:0 10px 22px #6f5c4529}.field{flex-direction:column;gap:.45rem;display:flex}.field label{color:var(--ink-soft);font-size:.875rem;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fffcf7f2;outline:none;width:100%;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#8f7a5f8c;box-shadow:0 0 0 4px #ebe4d8e6}.chip{background:var(--accent-soft);color:var(--accent-deep);letter-spacing:.02em;border-radius:8px;align-items:center;gap:.35rem;padding:.32rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.alert{border-radius:var(--radius-sm);padding:.85rem 1rem;font-size:.925rem}.alert-error{color:#8f2a24;background:#fdf2f1;border:1px solid #f0c7c3}.alert-info{background:var(--accent-soft);color:var(--accent-deep);border:1px solid #8f7a5f40}.panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #ffffffa6}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{opacity:.45}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.fade-rise{animation:.55s both rise}.spinner{border:2px solid #2a26222e;border-top-color:currentColor;border-radius:50%;width:1.1rem;height:1.1rem;animation:.7s linear infinite spin}.tool-page{gap:.75rem;display:grid}.tool-page>.head{gap:.2rem;display:grid}.tool-page>.head h1{margin:.2rem 0 .15rem;font-size:clamp(1.35rem,2.6vw,1.85rem)}.tool-page>.head .desc{max-width:62ch;color:var(--ink-soft);font-size:.9rem}.tool-page>.head .chip{margin:0}.tool-workspace{align-items:start;gap:1rem;display:grid}.tool-form{align-content:start;gap:.7rem;padding:.85rem .95rem;display:grid}.tool-form .field{gap:.35rem}.tool-form .actions{gap:.45rem}.tool-form .btn{padding:.7rem 1rem}.tool-results{min-width:0}.tool-results>h2{margin-bottom:.75rem;font-size:1.15rem}@media (width>=960px){.tool-workspace{grid-template-columns:minmax(300px,.88fr) minmax(0,1.22fr)}}
