@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.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}body,html{height:100%}button{background:none;border:none;cursor:pointer;font:inherit}a,button{color:inherit}a{text-decoration:none}input,textarea{font:inherit;color:inherit}:root{color-scheme:light;--ink-900:#171713;--ink-700:#393832;--ink-500:#7e7a71;--ink-400:#827c70;--ink-300:#cfc7b7;--line:#e5dfd2;--line-soft:#f0ebde;--surface:#fff;--surface-2:#f1ece0;--surface-3:#e8e3d9;--bg:#f7f3ea;--accent:#ff6a2a;--accent-strong:#dc4c12;--accent-soft:#ffe2d0;--sage:#c9dcad;--like:#f0455a;--save:#171713;--warn:#e4933a;--success:#4fa06b;--shadow-tint:45,40,30;--app-max-w:480px;--tab-h:64px;--header-h:52px}body{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,SF Pro Text,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:var(--ink-900);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.app-shell,body{background:var(--bg)}.app-shell{width:100%;max-width:var(--app-max-w);margin:0 auto;height:100dvh;position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:5px}@media (min-width:768px){body{background:#e7dfce}.app-shell{box-shadow:0 0 0 1px rgba(var(--shadow-tint),.08),0 28px 70px rgba(var(--shadow-tint),.2)}}.app-header{height:var(--header-h);background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0;position:relative;z-index:10}.app-header .h-title{font-size:16px;font-weight:700;color:var(--ink-900);letter-spacing:-.02em}.app-header .h-back{font-size:22px;color:var(--ink-900);cursor:pointer;font-weight:400;line-height:1;width:28px}.app-header .h-action{font-size:15px;font-weight:600;color:var(--accent);cursor:pointer}.app-header .h-action.disabled{color:var(--ink-300);pointer-events:none}.app-header .h-action.danger{color:var(--like)}.app-header.divided{border-bottom:1px solid var(--line)}.app-body{flex:1 1;min-height:0;overflow-y:auto;background:var(--bg);-webkit-overflow-scrolling:touch;padding:10px 5px}.app-body::-webkit-scrollbar{display:none}.app-body.has-tabs{padding-bottom:10px}.tab-bar{height:calc(var(--tab-h) + env(safe-area-inset-bottom, 0px));background:rgba(255,253,248,.96);border-top:1px solid var(--line);display:flex;align-items:stretch;padding:8px 12px calc(8px + env(safe-area-inset-bottom, 0px));flex-shrink:0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;width:100%;z-index:30}.tab-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;color:var(--ink-400);font-size:10px;font-weight:600;line-height:1;transition:color .15s ease,transform .12s ease}.tab-item.active{color:var(--ink-900);font-weight:700}.tab-item:active{transform:scale(.94)}.tab-icon-wrap{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center}.tab-icon-wrap svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.tab-item.active .tab-icon-wrap svg{stroke-width:2.2}.tab-add{position:relative;width:52px;height:52px;background:var(--ink-900);border:4px solid var(--surface);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-top:-17px;box-shadow:0 8px 18px rgba(var(--shadow-tint),.28);transition:transform .16s ease,background .16s ease}.tab-add:hover{background:var(--accent-strong);transform:translateY(-2px)}.tab-add svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round}.input-box{height:50px;border:none;border-radius:14px;padding:0 14px;font-size:15px;color:var(--ink-900);background:var(--surface-2);width:100%;display:block;font-family:inherit;outline:none;transition:background .15s ease,box-shadow .15s ease}.input-box::placeholder{color:var(--ink-400)}.input-box:focus{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent)}.input-box[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--like)}textarea.input-box{padding:14px;height:auto;resize:vertical;min-height:80px;line-height:1.5}.input-label{font-size:11px;font-weight:700;color:var(--ink-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.input-label .required{color:var(--like)}.input-error{color:var(--like)}.input-error,.input-help{font-size:12px;margin-top:6px}.input-help{color:var(--ink-500)}.btn{height:50px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:opacity .15s ease,transform .1s ease;width:100%;font-family:inherit}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(255,106,42,.32)}.btn-secondary{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-900)}.btn-accent{background:var(--accent);color:#fff}.btn-soft{background:var(--surface-2);color:var(--ink-900)}.btn-danger{background:var(--like,#e5484d);color:#fff}.btn-ghost{background:transparent;color:var(--ink-900)}.btn-kakao{background:#fee500;color:#181818}.btn-google{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-900)}.btn-sm{height:40px;font-size:14px;border-radius:10px}.sep{height:1px;background:var(--line);margin:0;border:none}.card{background:var(--surface);border-radius:24px;box-shadow:0 7px 20px rgba(var(--shadow-tint),.06);overflow:hidden}.mono{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:inherit;font-weight:700;color:#fff;letter-spacing:-.02em;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--ink-700);flex-shrink:0}.mono.size-28{width:28px;height:28px;font-size:11px}.mono.size-32{width:32px;height:32px;font-size:13px}.mono.size-34{width:34px;height:34px;font-size:14px}.mono.size-36{width:36px;height:36px;font-size:14px}.mono.size-44{width:44px;height:44px;font-size:17px}.mono.size-60{width:60px;height:60px;font-size:22px}.mono.size-64{width:64px;height:64px;font-size:24px;font-weight:600}.mono.size-86{width:86px;height:86px;font-size:32px;font-weight:600}.mono.c-slate{background:linear-gradient(135deg,#5c6470,#3a4250)}.mono.c-stone{background:linear-gradient(135deg,#8c7b6b,#5e4f40)}.mono.c-sky{background:linear-gradient(135deg,#6b8fb8,#41608c)}.mono.c-teal{background:linear-gradient(135deg,#5e9594,#38635f)}.mono.c-sage{background:linear-gradient(135deg,#7c9275,#4f6646)}.mono.c-rose{background:linear-gradient(135deg,#b07a86,#834858)}.mono.c-plum{background:linear-gradient(135deg,#856b8f,#574060)}.mono.c-clay{background:linear-gradient(135deg,#b58a6f,#875d45)}.mono.c-graphite{background:linear-gradient(135deg,#2c2c2e,#1a1a1c)}.mono.c-ink{background:linear-gradient(135deg,#3a3a3e,#222226)}.mono.c-soft{background:var(--surface-3);color:var(--ink-700)}.ph-1{background:linear-gradient(135deg,#c5d2de,#6b7e94)}.ph-2{background:linear-gradient(180deg,#b9cfd8,#5c8499 60%,#2f4858)}.ph-3{background:linear-gradient(135deg,#c5ccba,#5f7657)}.ph-4{background:linear-gradient(135deg,#d7c7c9,#8d6772)}.ph-5{background:linear-gradient(180deg,#e2d2b2,#c19a6b)}.ph-6{background:linear-gradient(135deg,#b9c3d4,#4e5f87)}.ph-7{background:linear-gradient(135deg,#d4bca8,#7e5b43)}.ph-8{background:linear-gradient(135deg,#c8b8cc,#5c4a66)}.ph-9{background:linear-gradient(180deg,#bccbd3,#4a6975)}.ph-dark{background:linear-gradient(160deg,#2c2c2e,#0f0f11)}.ph-light{background:linear-gradient(160deg,#f2f2f4,#c7c7cc)}.chip{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border-radius:999px;background:var(--surface-3);color:var(--ink-900);font-size:13px;font-weight:600;white-space:nowrap}.chip.active{background:var(--accent);color:#fff}.chip.outline{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.app-toast{position:fixed;left:50%;bottom:96px;z-index:1000;transform:translate(-50%,10px);min-width:180px;max-width:320px;padding:12px 18px;border-radius:999px;background:var(--ink-900);color:#fff;font-size:13px;font-weight:600;text-align:center;opacity:0;pointer-events:none;box-shadow:0 10px 30px rgba(var(--shadow-tint),.28);transition:opacity .18s ease,transform .18s ease}.app-toast.show{opacity:1;transform:translate(-50%)}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);flex-shrink:0}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.65),transparent);animation:skeleton-shimmer 1.3s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.spinner{width:18px;height:18px;border:2px solid var(--surface-3);border-top-color:var(--ink-900);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.full-center{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:32px;text-align:center}.muted{color:var(--ink-500)}.icon-stroke{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.auth-bg svg{display:block;width:100%;height:100%}.onb-overlay{position:fixed;inset:0;z-index:200;display:flex;justify-content:center;background:var(--surface);animation:sheet-fade .25s ease}@media (min-width:768px){.onb-overlay{background:#e7dfce}}.onb-panel{width:100%;max-width:var(--app-max-w);height:100dvh;overflow:hidden;background:var(--surface);display:flex;flex-direction:column;position:relative;padding-bottom:calc(28px + env(safe-area-inset-bottom, 0px))}.onb-skip{position:absolute;top:14px;right:14px;z-index:2;font-size:14px;font-weight:600;color:var(--ink-400);padding:8px 6px}.onb-track{flex:1 1;min-height:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.onb-track::-webkit-scrollbar{display:none}.onb-slide{flex:0 0 100%;min-width:100%;scroll-snap-align:center;scroll-snap-stop:always;flex-direction:column;text-align:center;padding:32px 32px 8px;overflow-y:auto}.onb-badge,.onb-slide{display:flex;align-items:center;justify-content:center}.onb-badge{width:132px;height:132px;border-radius:38px;margin-bottom:32px}.onb-step{font-size:13px;font-weight:700;color:var(--ink-400);letter-spacing:.04em}.onb-title{font-size:25px;font-weight:800;letter-spacing:-.03em;margin-top:6px}.onb-desc{margin-top:12px;font-size:15px;line-height:1.6;color:var(--ink-500);white-space:pre-line;max-width:300px}.onb-dots{display:flex;justify-content:center;gap:7px;padding:16px 0 22px}.onb-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-300);transition:width .2s ease,background .2s ease}.onb-dot.active{width:22px;background:var(--accent)}.onb-cta{display:flex;width:calc(100% - 48px);margin:0 auto}.onb-demo{width:100%;max-width:300px;aspect-ratio:4/5;object-fit:contain;border-radius:20px;margin:0 auto 20px;display:block;background:var(--surface-2)}.sheet-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.35);display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .18s ease}.sheet{width:100%;max-width:var(--app-max-w);height:33.33dvh;min-height:260px;background:var(--surface);border-radius:20px 20px 0 0;display:flex;flex-direction:column;box-shadow:0 -8px 40px rgba(0,0,0,.18);animation:sheet-up .22s cubic-bezier(.22,1,.36,1);padding-bottom:env(safe-area-inset-bottom,0)}.sheet-grab{width:38px;height:4px;border-radius:2px;background:var(--ink-300);margin:8px auto 4px;flex-shrink:0}.sheet-title{text-align:center;font-size:14px;font-weight:700;padding:4px 0 10px;border-bottom:1px solid var(--line);flex-shrink:0}.sheet-body{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 0;scrollbar-width:thin;scrollbar-color:var(--ink-300) transparent}.sheet-body::-webkit-scrollbar{width:5px}.sheet-body::-webkit-scrollbar-thumb{background:var(--ink-300);border-radius:999px}.sheet-body::-webkit-scrollbar-thumb:hover{background:var(--ink-400)}.sheet-body::-webkit-scrollbar-track{background:transparent}.comment-row{display:flex;gap:10px;padding:8px 16px;align-items:flex-start}.comment-meta{display:flex;align-items:center;gap:14px;margin-top:3px;font-size:12px;color:var(--ink-400)}.comment-meta button{font-size:12px;font-weight:600;color:var(--ink-500)}.comment-meta button.danger{color:var(--like)}.sheet-replybar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;font-size:12px;color:var(--ink-500);background:var(--surface-2);border-top:1px solid var(--line)}.sheet-replybar button{font-size:12px;font-weight:600;color:var(--ink-700)}.sheet-composer{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line);flex-shrink:0;background:var(--surface)}.sheet-input{flex:1 1;height:40px;border:none;outline:none;background:var(--surface-2);border-radius:999px;padding:0 16px;font-size:14px}.sheet-input::placeholder{color:var(--ink-400)}.sheet-send{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.sheet-send:disabled{color:var(--ink-300);pointer-events:none}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.35);display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .18s ease}.modal-card{width:100%;max-width:var(--app-max-w);height:92dvh;background:var(--surface);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 40px rgba(0,0,0,.18);animation:sheet-up .24s cubic-bezier(.22,1,.36,1)}.modal-card,.modal-card .app-header{border-radius:20px 20px 0 0}.pop-menu{position:absolute;top:32px;right:0;z-index:20;background:var(--surface);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.14),0 0 0 1px var(--line);overflow:hidden;min-width:120px}.pop-item{display:block;width:100%;text-align:left;padding:12px 16px;font-size:14px;font-weight:600}.pop-item.danger{color:var(--like)}.pop-item:active{background:var(--surface-2)}.like-burst{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#fff;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35));animation:like-pop .65s ease}@keyframes like-pop{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(1.1)}55%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}