/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#43352f;--cream:#fffaf1;--peach:#f3ad7e;--peach-deep:#d77952;--brown:#7a4937;--brown-dark:#4d2d26;--mint:#b8d8c7}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#e9ded0;margin:0;font-family:Apple SD Gothic Neo,Pretendard,Noto Sans KR,system-ui,sans-serif}button,input{font:inherit}button{color:inherit}.app-shell{isolation:isolate;background:radial-gradient(circle at 15% 10%,#ffffffb3,#0000 32%),linear-gradient(145deg,#efe6da 0%,#d9c7b7 100%);place-items:center;min-height:100svh;padding:18px;display:grid;position:relative;overflow:hidden}.ambient{z-index:-1;filter:blur(2px);opacity:.55;border-radius:999px;position:absolute}.ambient-one{background:#f0b78e;width:280px;height:280px;top:-90px;right:-80px}.ambient-two{background:#a9cdbb;width:230px;height:230px;bottom:-80px;left:-75px}.pocket-card{background:radial-gradient(circle at 50% 48%,#ffffffe6 0 20%,#0000 48%),linear-gradient(#fffdf8 0%,#fbf1e1 72%,#f0dfc8 100%);border:1px solid #ffffffd1;border-radius:38px;flex-direction:column;width:min(100%,430px);height:min(820px,100svh - 36px);min-height:0;padding:28px 25px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 70px #5b402f38,inset 0 1px #fff}.pocket-card:before{content:"";pointer-events:none;border:1px solid #c8a8892e;border-radius:50%;height:430px;position:absolute;inset:105px -130px auto;box-shadow:0 0 0 50px #ffffff24,0 0 0 100px #ffffff1a}.topbar{z-index:5;justify-content:space-between;align-items:center;display:flex;position:relative}.eyebrow{color:#a48e7b;letter-spacing:.18em;margin:0 0 4px;font-size:10px;font-weight:800}.name-button{letter-spacing:-.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:24px;font-weight:850;display:flex}.name-button span{color:#b19a87;font-size:13px}.name-form input{width:160px;color:var(--ink);background:0 0;border:0;border-bottom:2px solid #d6bba1;outline:0;padding:0 0 2px;font-size:24px;font-weight:850}.status-dot{background:#ffffffb8;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 6px 22px #5d412e17}.status-dot span{background:#78b78f;border-radius:50%;width:9px;height:9px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 0 5px #78b78f29}.message-wrap{z-index:5;place-items:end center;height:76px;display:grid;position:relative}.message{background:#ffffffb8;border:1px solid #77544114;border-radius:18px;padding:10px 16px;font-size:14px;font-weight:750;transition:transform .2s,background .2s;position:relative;box-shadow:0 8px 28px #62412e14}.message:after{content:"";background:inherit;border-bottom:1px solid #77544114;border-right:1px solid #77544114;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.message.mood-happy,.message.mood-loved{background:#fff4ee;transform:translateY(-3px)scale(1.04)}.pet-zone{z-index:3;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;flex:auto;min-height:350px;position:relative}.pet-zone:active{cursor:grabbing}.pet-zone:focus-visible{border-radius:28px;box-shadow:inset 0 0 0 3px #d7795259}.pet-hand{z-index:12;opacity:0;width:78px;height:auto;transform:translate3d(calc(var(--hand-x,0px) - 10px), calc(var(--hand-y,0px) - 52px), 0) rotate(var(--hand-rotation,0deg)) scale(.92);transform-origin:10px 52px;filter:drop-shadow(0 5px 7px #59312224);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform, opacity;-webkit-user-drag:none;transition:opacity .1s;position:absolute;top:0;left:0}.pet-zone.is-petting .pet-hand{opacity:.96}.dog-art-frame{background:#faead7;border-radius:32px;padding:0 5px 9px;position:absolute;inset:4px 0 0;overflow:hidden;box-shadow:0 18px 42px #65412d1c,inset 0 0 0 1px #ffffff7a}.dog-motion{width:100%;height:100%;transform:translate3d(var(--dog-shift-x,0), var(--dog-shift-y,0), 0) rotate(var(--dog-tilt)) scale(.985);transform-origin:50% 68%;will-change:transform;transition:transform .24s cubic-bezier(.22,.68,.28,1),filter .35s}.dog-art{object-fit:contain;object-position:50% 100%;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.pet-glow{opacity:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#ffb9a247,#0000 67%);border-radius:50%;transition:opacity .2s,transform .25s;position:absolute;inset:20% 14% 16%;transform:scale(.8)}.pet-zone.mood-curious .dog-motion{transform:translate3d(var(--dog-shift-x,0), var(--dog-shift-y,0), 0) rotate(var(--dog-tilt)) scale(.992)}.pet-zone.mood-happy .dog-motion{transform:translate3d(var(--dog-shift-x,0), calc(var(--dog-shift-y,0px) - 1px), 0) rotate(var(--dog-tilt)) scale(.998);filter:saturate(1.04)brightness(1.015)}.pet-zone.mood-loved .dog-motion{transform:translate3d(var(--dog-shift-x,0), calc(var(--dog-shift-y,0px) - 2px), 0) rotate(var(--dog-tilt)) scale(1);filter:saturate(1.08)brightness(1.025)}.pet-zone.is-petting .dog-art{animation:1.15s ease-in-out infinite pet-breathe}.pet-zone.mood-loved:not(.is-petting) .dog-art{animation:1.8s ease-in-out infinite alternate loved-float}.pet-zone.action-celebrate .dog-art{animation:.72s cubic-bezier(.2,.78,.3,1) 3 action-bounce}.pet-zone.mood-happy .pet-glow,.pet-zone.mood-loved .pet-glow{opacity:1;transform:scale(1)}.shadow{filter:blur(8px);background:#68483424;border-radius:50%;width:238px;height:40px;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}.dog-body{background:linear-gradient(110deg,#e99563 0%,#f1ae7b 52%,#d87e54 100%);border-radius:50% 50% 44% 44%;width:196px;height:210px;animation:3.6s ease-in-out infinite breathe;position:absolute;bottom:60px;left:50%;transform:translate(-50%);box-shadow:inset -15px -5px 28px #7e412d1f}.chest{opacity:.95;background:#f9d1a9;border-radius:46% 46% 42% 42%;width:108px;height:145px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.paw{background:#eda06c;border-radius:46% 46% 42% 42%;width:57px;height:89px;position:absolute;bottom:-4px;box-shadow:inset 0 -8px 10px #82443014}.paw-left{left:19px;transform:rotate(2deg)}.paw-right{right:19px;transform:rotate(-2deg)}.paw span{background:#713c2d2e;border-radius:999px;width:22px;height:2px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:-12px 3px 0 -.5px #713c2d21,12px 3px 0 -.5px #713c2d21}.tail{transform-origin:12px;background:#db8458;border-radius:15% 70% 70% 20%;width:112px;height:51px;animation:3.4s ease-in-out infinite tail-idle;position:absolute;bottom:116px;right:45px;transform:rotate(-15deg)}.tail span{background:#f4bd8e;border-radius:50%;width:34px;height:35px;position:absolute;top:7px;right:-4px}.mood-happy .tail,.mood-loved .tail{animation:.22s ease-in-out infinite alternate tail-happy}.dog-head{z-index:4;width:230px;height:220px;transform:translateX(-50%) rotate(var(--head-tilt));transform-origin:50% 80%;transition:transform .12s ease-out;animation:3.6s ease-in-out infinite head-float;position:absolute;bottom:215px;left:50%}.face{z-index:2;background:radial-gradient(circle at 29%,#f3aa76 0 18%,#0000 19%),radial-gradient(circle at 71%,#f3aa76 0 18%,#0000 19%),linear-gradient(135deg,#f3ad79,#de8458);border-radius:48% 48% 46% 46%;position:absolute;inset:18px 15px 7px;box-shadow:inset -13px -8px 22px #7739281a,0 16px 26px #5b36291f}.face:before{content:"";opacity:.86;background:#f8c99d;border-radius:0 0 50% 50%;width:68px;height:88px;position:absolute;top:0;left:50%;transform:translate(-50%)}.ear{z-index:1;transform-origin:50% 15%;background:#7e4b39;border-radius:55% 55% 65% 65%;width:79px;height:128px;position:absolute;top:19px;box-shadow:inset 0 -12px 18px #3f231d2e}.ear-left{left:0;transform:rotate(19deg)}.ear-right{right:0;transform:rotate(-19deg)}.ear span{background:#a96751;border-radius:55%;position:absolute;inset:18px 14px 28px}.mood-curious .ear-left{transform:rotate(8deg)}.mood-curious .ear-right{transform:rotate(-8deg)}.mood-happy .ear-left,.mood-loved .ear-left{animation:.45s ease-in-out infinite alternate ear-left}.mood-happy .ear-right,.mood-loved .ear-right{animation:.45s ease-in-out infinite alternate ear-right}.eye{z-index:4;background:var(--brown-dark);border-radius:50%;width:21px;height:25px;transition:height .15s,border-radius .15s,transform .15s;animation:5s ease-in-out infinite blink;position:absolute;top:84px;overflow:hidden;box-shadow:inset 0 -3px #321e1a}.eye-left{left:51px}.eye-right{right:51px}.eye span{background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;left:5px}.mood-happy .eye,.mood-loved .eye{border-top:3px solid var(--brown-dark);height:9px;box-shadow:none;background:0 0;border-radius:50% 50% 20% 20%;animation:none;transform:translateY(8px)}.brow{z-index:4;border-top:3px solid #5f32274d;border-radius:50%;width:26px;height:8px;transition:transform .2s;position:absolute;top:70px}.brow-left{left:47px;transform:rotate(-7deg)}.brow-right{right:47px;transform:rotate(7deg)}.mood-curious .brow-left{transform:translateY(-3px)rotate(8deg)}.mood-curious .brow-right{transform:translateY(-3px)rotate(-8deg)}.muzzle{z-index:5;background:#f8d0a8;border-radius:46% 46% 50% 50%;width:104px;height:78px;position:absolute;top:104px;left:50%;transform:translate(-50%)}.nose{background:#4d312b;border-radius:48% 48% 60% 60%;width:30px;height:21px;position:absolute;top:5px;left:50%;transform:translate(-50%);box-shadow:inset 4px 3px #ffffff2b}.mouth{border-bottom:3px solid #70463a;border-radius:0 0 50% 50%;width:31px;height:21px;position:absolute;top:26px;left:50%;transform:translate(-50%)}.tongue{z-index:-1;background:#df7f78;border-radius:5px 5px 50% 50%;width:26px;height:0;transition:height .2s;position:absolute;top:43px;left:50%;transform:translate(-50%)}.mood-happy .tongue,.mood-loved .tongue{height:30px}.blush{z-index:5;opacity:0;background:#e0645c2e;border-radius:50%;width:32px;height:13px;transition:opacity .2s;position:absolute;top:125px}.blush-left{left:28px}.blush-right{right:28px}.mood-happy .blush,.mood-loved .blush{opacity:1}.heart-field{z-index:8;pointer-events:none;position:absolute;top:70px;left:50%}.heart-field span{color:#e78275;filter:drop-shadow(0 4px 4px #96474224);animation:float-heart 1.55s var(--heart-delay,0s) cubic-bezier(.2, .72, .3, 1) forwards;opacity:0;font-size:25px;position:absolute}.interaction-hint{z-index:6;text-align:center;flex:none;position:relative}.pet-meter{background:#714f3c1a;border-radius:999px;width:126px;height:5px;margin:0 auto 14px;overflow:hidden}.pet-meter span{border-radius:inherit;background:linear-gradient(90deg,#d8946d,#e77e75);height:100%;transition:width .14s ease-out;display:block}.interaction-hint p{color:#8f7968;letter-spacing:-.01em;margin:0;font-size:12px;font-weight:700}.finger{margin-right:4px;animation:2s ease-in-out infinite swipe;display:inline-block}.action-row{z-index:9;flex:none;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid;position:relative}.action-button{color:#65483c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffbd;border:1px solid #754d371a;border-radius:18px;justify-content:center;align-items:center;gap:8px;min-width:0;height:58px;padding:7px 12px;font-size:13px;font-weight:820;transition:transform .16s,background .16s,box-shadow .16s;display:flex;box-shadow:0 8px 22px #5e3d2b14,inset 0 1px #fffc}.action-button img{object-fit:contain;pointer-events:none;width:42px;height:42px}.action-button:active,.action-button.is-active{background:#fff1e8;transform:translateY(1px)scale(.97);box-shadow:0 4px 12px #5e3d2b12,inset 0 0 0 2px #e77e752e}.walk-action{background:#fff8e8d1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes pulse{50%{opacity:.5}}@keyframes breathe{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.018,1.025)}}@keyframes head-float{0%,to{margin-bottom:0}50%{margin-bottom:3px}}@keyframes blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.08)}}@keyframes tail-idle{0%,78%,to{transform:rotate(-15deg)}84%{transform:rotate(-2deg)}91%{transform:rotate(-22deg)}}@keyframes tail-happy{0%{transform:rotate(-38deg)}to{transform:rotate(15deg)}}@keyframes ear-left{0%{transform:rotate(19deg)}to{transform:rotate(27deg)}}@keyframes ear-right{0%{transform:rotate(-19deg)}to{transform:rotate(-27deg)}}@keyframes float-heart{0%{transform:translate(var(--heart-x), calc(24px + var(--heart-y))) scale(.45) rotate(-10deg);opacity:0}20%{opacity:1}58%{opacity:1}to{transform:translate(var(--heart-x), calc(-125px + var(--heart-y))) scale(var(--heart-scale,1)) rotate(14deg);opacity:0}}@keyframes swipe{0%,to{transform:translate(-5px)rotate(-8deg)}50%{transform:translate(5px)rotate(8deg)}}@keyframes loved-float{0%{transform:translateY(0)scale(1)}to{transform:translateY(-3px)scale(1.004)}}@keyframes pet-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.006,1.003)}}@keyframes action-bounce{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-9px)scale(1.012,.99)}65%{transform:translateY(1px)scale(.995,1.008)}}@media (height<=720px){.pocket-card{border-radius:30px;min-height:calc(100svh - 20px);padding-top:21px;padding-bottom:17px}.message-wrap{height:52px}.pet-zone{min-height:320px}.action-row{margin-top:10px}.action-button{height:52px}}@media (width<=390px){.app-shell{padding:0}.pocket-card{border:0;border-radius:0;width:100%;height:100svh;min-height:100svh;padding-inline:21px}.pet-hand{width:72px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
