@import "https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600;700&family=Nanum+Pen+Script&display=swap";*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;width:100%;height:100%}#root{width:100%;min-height:100vh}:root{--ink:#1a252c;--ink-sub:#3d5260;--font-dancing:"Dancing Script", cursive;--font-nanum:"Nanum Pen Script", cursive}.paper-area{flex-direction:column;display:flex;position:absolute;inset:20% 18% 20% 42%;overflow:hidden}.paper-to{font-family:var(--font-dancing);color:var(--ink);letter-spacing:.03em;align-self:flex-start;font-size:32px;font-weight:600;line-height:1.5}.paper-msg{font-family:var(--font-nanum);color:var(--ink);white-space:pre-wrap;word-break:break-word;flex-grow:1;align-items:center;font-size:24px;line-height:1.9;display:flex}.paper-from{font-family:var(--font-dancing);color:var(--ink);letter-spacing:.04em;align-self:flex-end;font-size:28px;font-weight:500;line-height:1.5}.admin{background:#f5f0eb;justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:2rem 1rem;display:flex;overflow-y:auto}.admin-card{background:#fff;border:1px solid #e4dcd4;border-radius:24px;flex-direction:column;gap:1.15rem;width:min(480px,100%);padding:2.5rem 2.25rem;display:flex;box-shadow:0 4px 32px #1a252c17}.admin-title{font-family:var(--font-dancing);color:var(--ink);text-align:center;letter-spacing:.02em;font-size:2rem;font-weight:700}.admin-subtitle{font-family:var(--font-nanum);color:var(--ink-sub);text-align:center;margin-top:-.4rem;font-size:1.05rem}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{font-family:var(--font-dancing);color:var(--ink);padding-left:.2rem;font-size:1.05rem;font-weight:600}.form-group input,.form-group textarea{font-family:var(--font-nanum);color:var(--ink);resize:vertical;-webkit-appearance:none;background:#fdfbff;border:1.5px solid #d8cce8;border-radius:12px;outline:none;padding:.7rem 1rem;font-size:1.15rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:#9b8ec4;box-shadow:0 0 0 3px #9b8ec42e}.form-group textarea{min-height:120px;line-height:1.75}.btn-generate{color:#fff;font-family:var(--font-dancing);letter-spacing:.05em;cursor:pointer;background:linear-gradient(135deg,#9b8ec4,#c4a8d4);border:none;border-radius:14px;margin-top:.25rem;padding:.9rem 1rem;font-size:1.15rem;font-weight:600;transition:opacity .2s,transform .15s;box-shadow:0 4px 18px #9b8ec461}.btn-generate:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn-generate:active:not(:disabled){transform:translateY(0)}.btn-generate:disabled{opacity:.4;cursor:not-allowed}.url-result{background:#f7f3ff;border:1.5px solid #d8cce8;border-radius:14px;flex-direction:column;gap:.6rem;padding:1rem;animation:.28s fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.url-label{font-family:var(--font-dancing);color:var(--ink-sub);letter-spacing:.04em;font-size:.88rem;font-weight:600}.url-text{color:#555;word-break:break-all;background:#ffffffb3;border-radius:8px;padding:.5rem .75rem;font-family:ui-monospace,monospace;font-size:.7rem;line-height:1.6}.url-actions{gap:.6rem;display:flex}.btn-preview,.btn-copy{font-family:var(--font-dancing);cursor:pointer;text-align:center;border-radius:10px;flex:1;justify-content:center;align-items:center;padding:.6rem .5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:opacity .2s,transform .15s;display:flex}.btn-preview{color:var(--ink);background:0 0;border:1.5px solid #c0b4d8}.btn-preview:hover{background:#1a252c0d;transform:translateY(-1px)}.btn-copy{background:var(--ink);color:#fff;border:none}.btn-copy:hover{opacity:.82;transform:translateY(-1px)}.btn-copy:active{transform:translateY(0)}
