:root{--plum: #6E4756;--plum-soft: #F0E7EA;--bg: #F6F2EC;--ink: #2A2521;--sub: #4A423B;--mut: #8A7F75;--line: #E4DCD1;--card: #FAFAF8;--ok: #2F6B4F;--warn: #8A5A2B;--err: #8C3B3B;--ok-soft: #E6F0EA;--err-soft: #F4E4E4;--warn-soft: #F7EDE2}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--sub);font-family:Pretendard Variable,Pretendard,-apple-system,Segoe UI,Noto Sans KR,sans-serif;font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}body.no-scroll{overflow:hidden}a{color:var(--plum)}b,strong{color:var(--ink)}:focus-visible{outline:2px solid var(--plum);outline-offset:2px}#app{min-height:100dvh}.screen{min-height:100dvh;display:flex;flex-direction:column;max-width:520px;margin:0 auto}.main{flex:1;padding:16px;display:flex;flex-direction:column;gap:14px}.main.center-v{justify-content:center}.pad-top .main{padding-top:28px}.app-head{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--line)}.logo-t{font-family:"Noto Serif KR",Georgia,Times New Roman,serif;font-weight:700;color:var(--ink);text-decoration:none;font-size:17px}.logo-t.big{font-size:22px;display:block}.head-right{display:flex;align-items:center;gap:6px}.head-link{background:none;border:none;color:var(--sub);font:inherit;font-size:14px;padding:10px 8px;min-height:44px;cursor:pointer}.chip-credit{display:inline-flex;align-items:center;background:var(--plum);color:#fff;border-radius:16px;padding:6px 14px;min-height:33px;font-size:14px;font-weight:700;text-decoration:none}.chip-credit.zero{background:var(--err)}.foot{position:sticky;bottom:0;z-index:20;background:var(--bg);border-top:1px solid var(--line)}.foot-inner{padding:10px 16px 8px;display:flex;flex-direction:column;gap:8px}.tabbar{display:flex;background:var(--card);border-top:1px solid var(--line)}.tab{flex:1;text-align:center;padding:13px 4px;min-height:48px;font-size:13.5px;color:var(--sub);text-decoration:none}.tab.on{color:var(--plum);font-weight:700;background:var(--plum-soft)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.card.center{text-align:center;align-items:center}.stack{display:flex;flex-direction:column;gap:10px}.stack:empty{display:none}.meta{font-size:13px;color:var(--sub)}.meta.center-t{text-align:center}.meta.pad{padding:12px 4px}.hint{font-size:13px;color:var(--sub)}.hint.err{color:var(--err);font-weight:600}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.ok-tag{color:var(--ok);font-size:13px}.free-tag{color:var(--ok);font-size:13px;font-weight:600}.plum-t{color:var(--plum)}.list{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.list.flat{border:none;background:none}.li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line)}.list.flat .li{padding:10px 2px}.li:last-child{border-bottom:none}.li-main{display:flex;flex-direction:column;gap:2px;min-width:0}.li-title{color:var(--ink);font-size:14.5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.li-title.revert{color:var(--sub);font-style:italic}.li-meta{color:var(--sub);font-size:12.5px;white-space:nowrap}.quote{border-left:3px solid var(--plum);background:var(--plum-soft);border-radius:0 8px 8px 0;padding:10px 12px;color:var(--ink);font-size:14.5px}.field-label{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}.input,.ta{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:12px;min-height:48px}.ta{resize:none;line-height:1.5}.input::placeholder,.ta::placeholder{color:var(--mut)}.pw-row{display:flex;gap:6px;align-items:stretch}.pw-row .input{flex:1}.eye{min-width:48px;min-height:48px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:18px;cursor:pointer}.eye[aria-pressed=true]{background:var(--plum-soft);border-color:var(--plum)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border:none;border-radius:10px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;transition:opacity .2s}.btn.plum{background:var(--plum);color:#fff}.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}.btn:disabled{background:var(--line);color:var(--mut);cursor:default}.btn-mini{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:10px 12px;min-height:44px;font:inherit;font-size:13.5px;cursor:pointer;white-space:nowrap}.btn-mini:disabled{color:var(--mut);cursor:default}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--card);color:var(--sub);border-radius:18px;padding:9px 13px;min-height:44px;font:inherit;font-size:13.5px;cursor:pointer}.spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:rot .8s linear infinite}.btn-mini .spin,.ghost .spin{border-color:var(--line);border-top-color:var(--plum)}@keyframes rot{to{transform:rotate(360deg)}}.banner{border-radius:10px;padding:12px 14px;font-size:14.5px;line-height:1.55}.banner b{color:inherit}.banner.info{background:var(--plum-soft);color:var(--ink)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.banner.err{background:var(--err-soft);color:var(--err)}.banner.zero{background:var(--warn-soft);color:var(--warn)}.bn-sub{font-size:13px}.preview-card{padding:10px;gap:6px}.preview{width:100%;height:46vh;min-height:260px;border:1px solid var(--line);border-radius:8px;background:#fff}.preview-empty{padding:40px 12px;text-align:center;color:var(--sub);font-size:14px}.attach-row:empty{display:none}.attach-chip{display:inline-flex;align-items:center;gap:6px;background:var(--plum-soft);color:var(--ink);border-radius:16px;padding:6px 12px;font-size:13.5px}.attach-x{border:none;background:none;color:var(--ink);font-size:14px;cursor:pointer;padding:12px;margin:-9px -6px -9px -4px;min-width:44px;min-height:44px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.file-drop{display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--mut);border-radius:10px;background:#fff;min-height:84px;padding:14px;color:var(--sub);font-size:15px;cursor:pointer;text-align:center}.pick-preview{display:flex;align-items:center;gap:10px}.pick-preview:empty{display:none}.thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#fff}.up-item{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--line);padding-top:10px}.up-info{display:flex;flex-direction:column;gap:6px;min-width:0}.up-url{font-size:12px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-big{font-size:44px;font-weight:800;color:var(--plum);line-height:1.2}.acct-row{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px dashed var(--line);border-radius:8px;padding:8px 10px;background:#fff}.acct{font-size:14px;color:var(--ink)}.steps{display:flex;gap:6px}.step{flex:1;text-align:center;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:9px 4px;font-size:12.5px;color:var(--sub)}.step.on{border-color:var(--plum);background:var(--plum-soft);color:var(--ink);font-weight:700}.guide-p{font-size:14.5px}.login-logo{text-align:center;display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#2a252173;display:flex;align-items:flex-end;justify-content:center}.sheet-panel{background:var(--bg);width:100%;max-width:520px;border-radius:16px 16px 0 0;max-height:80dvh;overflow-y:auto;padding:14px 16px 20px;animation:sheet-up .2s ease-out}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sheet-head b{font-size:16px}.sheet-x{border:none;background:none;font-size:16px;color:var(--sub);cursor:pointer;padding:10px;min-width:44px;min-height:44px}.sheet-body{display:flex;flex-direction:column;gap:10px}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
