:root{--color-primary: #245c3a;--color-primary-deep: #173e2a;--color-ivory: #fbf7ef;--color-card: #fffdf8;--color-text: #33291f;--color-text-muted: #74695e;--color-gold: #c99a43;--color-line: #e6ddcd;--color-primary-soft: #e8f0ea;--color-danger: #a8433a;--color-danger-soft: #fbeeec;--radius-sm: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgb(51 41 31 / 6%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--screen-max-width: 26rem}*{box-sizing:border-box}html{background-color:var(--color-ivory)}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Noto Sans KR,Apple SD Gothic Neo,sans-serif;line-height:1.5;color:var(--color-text);background-color:var(--color-ivory);-webkit-font-smoothing:antialiased}h1,h2,p{word-break:keep-all}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{font:inherit;font-weight:600;border:1px solid transparent;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.btn:disabled{cursor:not-allowed;opacity:.45}.btn--block{display:block;width:100%}.btn--primary{background-color:var(--color-primary);color:var(--color-card)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-deep)}.btn--ghost{background-color:transparent;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:.2em;padding:var(--space-2) var(--space-3)}.btn--ghost:hover:not(:disabled){color:var(--color-primary)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.landing{min-height:100dvh;max-width:var(--screen-max-width);margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-6);display:flex;flex-direction:column;justify-content:center;gap:var(--space-7);text-align:center}.landing__hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.landing__mark{margin:0;font-size:3rem;line-height:1}.landing__title{margin:0;font-size:2rem;font-weight:700;letter-spacing:.01em;color:var(--color-primary-deep)}.landing__lede{margin:0;font-size:1.375rem;font-weight:600;line-height:1.4;color:var(--color-text);white-space:pre-line}.landing__body{margin:0;font-size:.9375rem;line-height:1.6;color:var(--color-text-muted);white-space:pre-line}.landing__footer{display:flex;flex-direction:column;gap:var(--space-3)}.chip{font:inherit;color:var(--color-text);background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.chip:hover:not(:disabled){border-color:var(--color-primary)}.chip--selected{background-color:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-deep);font-weight:600}.chip:disabled{cursor:not-allowed;opacity:.4}.chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.step{min-height:100dvh;max-width:var(--screen-max-width);margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-6)}.step__header{display:flex;flex-direction:column;gap:var(--space-2)}.step__title{margin:0;font-size:1.5rem;line-height:1.35;font-weight:700;color:var(--color-text)}.step__subtitle{margin:0;font-size:.9375rem;color:var(--color-text-muted);white-space:pre-line}.step__body{display:flex;flex-direction:column;gap:var(--space-5);flex:1}.step__footer{display:flex;flex-direction:column;gap:var(--space-2);position:sticky;bottom:0;padding-top:var(--space-4);background:linear-gradient(to bottom,transparent,var(--color-ivory) 35%)}.pet-info__age-toggle{align-self:flex-start}.traits{display:flex;flex-wrap:wrap;gap:var(--space-2)}.traits__count{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.photos__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);list-style:none;margin:0;padding:0}.photos__tip{background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-4);margin:0;font-size:.875rem;color:var(--color-text-muted);white-space:pre-line}.photos__tip strong{color:var(--color-gold)}.photos__notice{margin:0;font-size:.8125rem;color:var(--color-danger)}.complete__card{background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.complete__row{display:flex;justify-content:space-between;gap:var(--space-4);font-size:.9375rem}.complete__row dt{color:var(--color-text-muted);margin:0}.complete__row dd{margin:0;font-weight:600;text-align:right}.complete__boundary{margin:0;font-size:.875rem;color:var(--color-text-muted);border-top:1px dashed var(--color-line);padding-top:var(--space-4);white-space:pre-line}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field--group{border:0;margin:0;padding:0}.field__label{font-size:.875rem;font-weight:600;color:var(--color-text-muted);padding:0}.field__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.field__hint{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.field__error{margin:0;font-size:.8125rem;color:var(--color-danger)}.field__input{font:inherit;color:var(--color-text);background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);width:100%}.field__input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.field__input[aria-invalid=true]{border-color:var(--color-danger);background-color:var(--color-danger-soft)}.tile{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--color-line);background-color:var(--color-card);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.tile__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.tile--normalizing .tile__image,.tile--presigning .tile__image,.tile--uploading .tile__image{opacity:.55}.tile--error{border-color:var(--color-danger)}.tile__remove{position:absolute;top:var(--space-1);right:var(--space-1);width:1.5rem;height:1.5rem;border:0;border-radius:var(--radius-pill);background-color:#33291f8c;color:#fff;font-size:1rem;line-height:1;cursor:pointer}.tile__status{position:relative;margin:0;padding:var(--space-1) var(--space-2);font-size:.6875rem;text-align:center;color:var(--color-text);background-color:#fffdf8e0;border-radius:var(--radius-sm);max-width:92%}.tile__status--error{color:var(--color-danger)}.tile__retry{position:relative;margin-top:var(--space-1);font:inherit;font-size:.75rem;font-weight:600;color:var(--color-primary-deep);background-color:var(--color-card);border:1px solid var(--color-primary);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer}.tile--add{border-style:dashed}.tile__input{display:none}.tile__add{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);font:inherit;font-size:1.5rem;color:var(--color-text-muted);background:none;border:0;cursor:pointer}.tile__add-label{font-size:.75rem}.tile__add:focus-visible,.tile__remove:focus-visible,.tile__retry:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
