@font-face{font-family:NeoDunggeunmo;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_neodgm@1.230/NeoDunggeunmo.woff2) format("woff2");font-weight:400;font-display:swap}:root{--cream:#f2e9d9;--paper:#fffdf8;--sand:#eaddc8;--line:#e0d0bb;--coral:#e8613c;--coral-deep:#b84525;--brown:#3d2b1f;--brown-soft:#8c7361;--green:#2e7d5b;--red:#c4392f;--font-dot:"NeoDunggeunmo",monospace;--font-body:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--font-body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input{font-family:var(--font-body)}.page{max-width:640px;margin:0 auto;padding:20px 20px 32px}.dot-title{font-family:var(--font-dot);font-weight:400;letter-spacing:.02em;word-spacing:-.32em;line-height:1.35}h1.dot-title{font-size:26px;margin:0 0 4px}h2.dot-title{font-size:18px;margin:0}.meta{font-size:13px;color:var(--brown-soft)}.hero-avatars{display:flex;align-items:center}.hero-avatars>span{display:block;width:30px;height:30px;border:2px solid var(--cream);border-radius:9px;overflow:hidden;margin-left:-9px;background:var(--sand)}.hero-avatars>span:first-child{margin-left:0}.hero-strip{display:flex;align-items:center;gap:10px;background:var(--sand);border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.5;color:var(--brown)}.hero-strip i{width:6px;height:6px;background:var(--coral);flex-shrink:0}.hero-strip b{font-weight:700}.dot-divider{display:flex;gap:6px;margin:28px 0}.dot-divider i{width:4px;height:4px;display:block}.dot-divider i:first-child{background:var(--coral)}.dot-divider i:nth-child(2){background:var(--sand)}.dot-divider i:nth-child(3){background:var(--line)}.card{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px 16px;transition:transform .08s ease,background .08s ease}.card:active{transform:scale(.98);background:var(--sand)}.card .avatar{border-radius:12px;overflow:hidden;flex-shrink:0;width:52px;height:52px}.card .avatar svg{display:block}.card-name{font-size:15px;font-weight:600;margin:0}.card-meta{font-size:13px;color:var(--brown-soft);margin:1px 0 4px}.card-oneliner{font-size:14px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:768px){.card-grid{grid-template-columns:1fr 1fr}}.hero-cta{text-align:center}.hero-cta-faces{margin-bottom:12px}.hero-cta-faces,.hero-cta-faces>span{display:inline-flex;align-items:center;justify-content:center}.hero-cta-faces>span{margin-left:-8px;width:36px;height:36px;border:2px solid var(--cream);border-radius:12px;overflow:hidden;background:var(--sand)}.hero-cta-faces>span:first-child{margin-left:0}.hero-q{font-size:18px;font-weight:700;color:var(--brown-soft)}.btn-hero{height:54px;font-size:16px;gap:8px;animation:hero-breathe 2.8s ease-in-out infinite}@keyframes hero-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@media (prefers-reduced-motion:reduce){.btn-hero{animation:none}}.btn-cta{display:flex;align-items:center;justify-content:center;width:100%;height:48px;background:var(--coral);color:#fff;font-size:15px;font-weight:600;border:none;border-radius:24px}.btn-cta:active,.btn-cta:hover{background:var(--coral-deep)}.btn-cta:disabled{opacity:.5;cursor:default}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;background:transparent;border:1px solid var(--line);border-radius:22px;color:var(--brown);font-size:14px;font-weight:600}.btn-ghost:active,.chip{background:var(--sand)}.chip{display:inline-flex;align-items:center;height:32px;padding:0 14px;border:none;border-radius:16px;font-size:13px;color:var(--brown);white-space:nowrap}.chip.on{background:var(--brown);color:var(--cream)}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.search-box{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:24px;height:44px;padding:0 16px}.search-box input{flex:1 1;border:none;outline:none;background:transparent;font-size:15px;color:var(--brown)}.search-box input::placeholder{color:var(--brown-soft)}.chat-page{max-width:640px;margin:0 auto;display:flex;flex-direction:column;height:100dvh}.chat-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--line)}.chat-body{flex:1 1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:15px;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--coral);color:#fff}.bubble-row{display:flex;gap:8px;align-items:flex-end}.bubble.persona{align-self:flex-start;background:var(--sand);color:var(--brown)}.bubble-avatar{width:28px;height:28px;border-radius:8px;overflow:hidden;flex-shrink:0}.cursor-blink{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.chat-input-row{display:flex;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.chat-input-row input{flex:1 1;height:44px;border:1px solid var(--line);border-radius:22px;padding:0 16px;font-size:15px;color:var(--brown);outline:none;background:var(--cream)}.chat-send{width:44px;height:44px;border-radius:22px;border:none;background:var(--coral);color:#fff;font-size:18px;flex-shrink:0}.chat-send:disabled{opacity:.4}.tabbar{position:fixed;left:0;right:0;bottom:0;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);box-shadow:0 -1px 0 var(--line);display:flex;z-index:50}.tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:600;color:var(--brown-soft)}.tabbar a.on{color:var(--coral)}@media (min-width:1024px){.tabbar{left:max(24px,calc(50% - 320px - 120px));right:auto;top:40px;bottom:auto;width:88px;height:auto;flex-direction:column;border:1px solid var(--line);border-radius:16px;box-shadow:none;padding:12px 0}.tabbar a{flex:none;padding:12px 0}}.sheet-back{position:fixed;inset:0;background:rgba(61,43,31,.4);display:flex;align-items:flex-end;justify-content:center;z-index:100}.sheet{background:var(--paper);border-radius:20px 20px 0 0;padding:28px 24px calc(28px + env(safe-area-inset-bottom));width:100%;max-width:640px}@media (min-width:768px){.sheet-back{align-items:center}.sheet{border-radius:20px;max-width:400px}}.btn-social{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border-radius:24px;border:none;font-size:15px;font-weight:600;margin-top:10px}.btn-kakao{background:#fee500;color:#191919}.btn-google{background:var(--paper);border:1px solid var(--line);color:var(--brown)}.cta-float{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));padding:24px 20px 12px;background:linear-gradient(transparent,var(--cream) 55%);z-index:40}@media (min-width:1024px){.cta-float{bottom:0;padding-bottom:24px}}.cta-float>div{max-width:600px;margin:0 auto}.occupation-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px;transition:transform .08s ease,background .08s ease}.occupation-card:active{transform:scale(.98);background:var(--sand)}.occupation-title{font-size:15px;font-weight:600;margin:0}.finding{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 0}.finding-faces{display:flex;gap:12px;animation:finding-scan 2.6s ease-in-out infinite}.finding-face{display:inline-flex;animation:finding-pop .3s ease,finding-walk .62s ease-in-out infinite}.finding-face:nth-child(2){animation-delay:0s,.15s}.finding-face:nth-child(3){animation-delay:0s,.3s}.finding-msg{margin:0;font-size:14px;color:var(--brown-soft);animation:finding-fade .4s ease}@keyframes finding-pop{0%{transform:scale(.7);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes finding-walk{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes finding-scan{0%,to{transform:translateX(-9px)}50%{transform:translateX(9px)}}@keyframes finding-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.finding-face,.finding-faces,.finding-msg{animation:none}}.empty{text-align:center;color:var(--brown-soft);padding:48px 0;font-size:14px}.skeleton{position:relative;overflow:hidden;background:var(--sand);border-radius:16px;height:84px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:skeleton-sweep 1.5s ease-in-out infinite}@keyframes skeleton-sweep{to{transform:translateX(100%)}}.skeleton-card{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px 16px}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.ds-block{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}.ds-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media (min-width:560px){.ds-grid{grid-template-columns:repeat(3,1fr)}}.ds-swatch{height:52px;border-radius:10px;border:1px solid var(--line)}.ds-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ds-label{font-size:12px;margin:6px 0 0}.ds-label,.ds-mono{color:var(--brown-soft)}.ds-mono{font-family:ui-monospace,monospace;font-size:11px}.admin-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--paper);border:1px solid var(--line)}.admin-table td,.admin-table th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.admin-table th{background:var(--sand);font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media (min-width:768px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.stat-card b{font-size:20px;display:block}.iv-steps{list-style:none;margin:20px 0;padding:0;display:flex;flex-direction:column;gap:2px}.iv-step{display:flex;align-items:center;gap:10px;padding:7px 0;color:var(--brown-soft);font-size:14px}.iv-step-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;display:grid;place-items:center;font-size:11px;line-height:1}.iv-step.done{color:var(--brown)}.iv-step.done .iv-step-dot{background:var(--green);border-color:var(--green);color:#fff}.iv-step.on{color:var(--brown);font-weight:600}.iv-step.on .iv-step-dot{border-color:var(--coral);animation:iv-pulse 1.1s ease-in-out infinite}@keyframes iv-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.28)}}.iv-bar{height:6px;background:var(--sand);overflow:hidden;margin:8px 0 16px}.iv-bar,.iv-bar>i{border-radius:99px}.iv-bar>i{display:block;height:100%;background:var(--coral);transition:width .4s ease}.iv-pick-reason{color:var(--brown-soft);font-size:13px;margin:4px 0 14px;padding-left:2px}.iv-block{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}.iv-block.pending{opacity:.55}.iv-block-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.iv-block-head .who{font-weight:600;font-size:14px}.iv-block-head .tag{margin-left:auto;font-size:12px;color:var(--brown-soft)}.iv-block-head .tag.done{color:var(--green)}.iv-answer{white-space:pre-wrap;font-size:15px}.iv-nonverbal{font-style:italic;color:var(--brown);opacity:.72}.iv-report h3{font-size:15px;font-weight:700;margin:20px 0 6px;padding-left:9px;border-left:3px solid var(--coral)}.iv-report ul{margin:6px 0;padding-left:18px}.iv-report li{margin:3px 0}.iv-report p{margin:7px 0}.iv-report .iv-disclaimer{font-size:12px;color:var(--brown-soft);margin-top:18px}.iv-quote{border-left:3px solid var(--coral);background:var(--sand);border-radius:0 10px 10px 0;padding:10px 14px;margin:10px 0}.iv-sample-tag{display:inline-block;font-size:11px;color:var(--brown-soft);border:1px solid var(--line);border-radius:99px;padding:2px 8px;margin-bottom:10px}@media (prefers-reduced-motion:reduce){.iv-step.on .iv-step-dot{animation:none}}.iv-meta-row{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--brown-soft);margin:2px 0 16px}.iv-badge{display:inline-block;font-size:11px;font-weight:600;border-radius:99px;padding:1px 8px;border:1px solid}.iv-badge.pos{color:var(--green)}.iv-badge.neu{color:var(--brown-soft)}.iv-badge.neg{color:var(--red)}.iv-report h4{font-size:13px;font-weight:700;margin:12px 0 4px}.iv-report h4.pos{color:var(--green)}.iv-report h4.neg{color:var(--red)}.iv-finding{margin:0 0 10px}.iv-finding b{display:block}.iv-q{margin:12px 0 2px}.iv-followup,.iv-q{color:var(--brown-soft);font-size:13px;font-weight:600}.iv-followup{margin:8px 0 2px 16px}.iv-accordion{width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:10px;cursor:pointer;font-family:inherit}.iv-accordion-head{display:flex;align-items:center;gap:10px}.iv-accordion .who{font-weight:600;font-size:14px}.iv-accordion .chev{margin-left:auto;color:var(--brown-soft);font-size:12px;transition:transform .15s ease}.iv-accordion.open .chev{transform:rotate(90deg)}.iv-accordion-sum{font-size:13px;color:var(--brown-soft);margin:8px 0 0}.notebook-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px 10px;gap:16px 10px}@media (min-width:768px){.notebook-grid{grid-template-columns:repeat(4,1fr)}}.notebook-cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:4px 2px}.notebook-cell:active{transform:scale(.96)}.notebook-cell .avatar{border-radius:14px;overflow:hidden}.notebook-name{margin:2px 0 0;font-size:13px;font-weight:600}.notebook-job,.notebook-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebook-job{margin:0;font-size:11px;color:var(--brown-soft)}.notebook-rare{font-size:10px;color:var(--brown-soft);background:var(--sand);border-radius:99px;padding:1px 7px;margin-top:1px}.notebook-add{width:64px;height:64px;border-radius:14px;border:2px dashed var(--line);display:grid;place-items:center;font-size:26px;color:var(--brown-soft)}.notebook-cell:active .notebook-add{border-color:var(--coral);color:var(--coral)}.granny-banner{display:flex;align-items:center;gap:12px;background:var(--sand);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 18px;text-decoration:none;color:var(--brown)}.granny-banner:active{transform:scale(.99)}.granny-banner-faces{display:inline-flex;align-items:center;flex-shrink:0}.granny-banner-faces>span{margin-left:-12px;width:34px;height:34px;border:2px solid var(--sand);border-radius:10px;overflow:hidden;display:inline-flex}.granny-banner-faces>span:first-child{margin-left:0}.granny-banner-text{display:flex;flex-direction:column;min-width:0;line-height:1.35}.granny-banner-text b{font-size:15px;font-weight:700}.granny-banner-go{margin-left:auto;color:var(--coral);font-size:18px;font-weight:700;flex-shrink:0}.granny-list{display:flex;flex-direction:column;gap:12px}.granny-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer;font-family:inherit;color:var(--brown)}.granny-item:active{transform:scale(.98);background:var(--sand)}.granny-item:disabled{opacity:.6}.granny-item-body{display:flex;flex-direction:column;min-width:0;gap:1px}.granny-region{font-size:12px;font-weight:700;color:var(--coral)}.granny-name{font-size:15px;font-weight:600}.granny-go{margin-left:auto;color:var(--brown-soft);font-size:13px;font-weight:600;flex-shrink:0}