*{box-sizing:border-box;margin:0;padding:0}:root{--accent:#ff7043;--accent-light:#fff3f0;--accent-border:#ffccbc;font-family:Kosugi Maru,Hiragino Sans,sans-serif}body{color:#333;-webkit-font-smoothing:antialiased;background:#fff8f6}#root{width:100%;max-width:100%;min-height:100svh}h1,h2,h3{font-family:Kosugi Maru,sans-serif;font-weight:800}button,input,textarea{font-family:Kosugi Maru,sans-serif}.global-paw{z-index:9999;pointer-events:none;opacity:0;animation:1.8s ease-out forwards globalPawRise;position:fixed}@keyframes globalPawRise{0%{opacity:0;transform:translateY(8px) rotate(var(--rot,0deg)) scale(.5)}18%{opacity:1}to{opacity:0;transform:translateY(-52px) rotate(var(--rot,0deg)) scale(1.15)}}.home-hint{color:#c2632e;text-align:center;background:#fff6ef;border:1.5px solid #ffdcc2;border-radius:12px;margin:8px auto 12px;padding:8px 12px;font-size:12.5px;font-weight:800;line-height:1.5}@media (display-mode:standalone){.home-hint{display:none}}.login-page{background:#e8d5b7;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:500px;padding:40px 36px;box-shadow:0 8px 32px #00000014}.mode-tabs{border-bottom:2px solid #f0f0f0;gap:12px;margin-bottom:32px;display:flex}.mode-tabs .tab{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:14px 0;font-family:Kosugi Maru,sans-serif;font-size:15px;font-weight:700;transition:all .2s}.mode-tabs .tab.active{color:#ff7043;border-bottom-color:#ff7043}.intro-section{text-align:left}.intro-hero{border-radius:16px;width:100%;margin-bottom:16px;display:block;box-shadow:0 4px 16px #00000014}.intro-section h2{color:#ff7043;text-align:center;white-space:nowrap;margin:0 0 16px;font-family:Kosugi Maru,sans-serif;font-size:clamp(13px,4.4vw,19px);font-weight:700}.tagline{color:#777;white-space:nowrap;margin-bottom:28px;font-size:12.5px;font-weight:700}.features{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.feature-item{background:#fff3f0;border:2px solid #ffccbc;border-radius:12px;gap:12px;padding:14px;display:flex}.feature-icon{text-align:center;flex-shrink:0;min-width:40px;font-size:28px}.feature-text strong{color:#333;margin-bottom:4px;font-size:15px;font-weight:800;display:block}.feature-text p{color:#777;margin:0;font-size:13px;font-weight:600}.tutorial{background:#f9f9f9;border-radius:12px;margin-bottom:24px;padding:20px}.tutorial h3{color:#333;margin:0 0 12px;font-size:16px;font-weight:800}.tutorial ol{color:#555;margin:0;padding-left:20px;font-size:14px;font-weight:600;line-height:1.8}.tutorial li{margin-bottom:8px}.tutorial strong{color:#ff7043;font-size:16px;font-weight:800}.btn-start{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff7043,#ffab40);border:none;border-radius:30px;width:100%;padding:14px;font-family:Kosugi Maru,sans-serif;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #ff70434d}.btn-start:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff704366}.login-logo{color:#ff7043;margin-bottom:8px;font-size:24px;font-weight:700}.login-card h2{color:#333;margin-bottom:28px;font-size:22px}.form-group{text-align:left;margin-bottom:18px}.password-wrap{position:relative}.password-wrap input{box-sizing:border-box;border:2px solid #eee;border-radius:10px;outline:none;width:100%;padding:12px 48px 12px 16px;font-size:15px;transition:border-color .2s}.password-wrap input:focus{border-color:#ff7043}.password-toggle{cursor:pointer;background:0 0;border:none;padding:6px;font-size:18px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-hint{color:#555;text-align:left;margin:6px 0 0;font-size:12px}.error-msg{color:#e53935;text-align:left;margin-bottom:12px;font-size:13px}.btn-primary{color:#fff;cursor:pointer;background:#ff7043;border:none;border-radius:30px;width:100%;margin-top:4px;padding:14px;font-size:16px;font-weight:700;transition:background .2s}.btn-primary:hover:not(:disabled){background:#e64a19}.btn-primary:disabled{cursor:not-allowed;background:#ffccbc}.toggle-msg{color:#555;margin-top:20px;font-size:14px;font-weight:500}.btn-link{color:#ff7043;cursor:pointer;background:0 0;border:none;margin-left:6px;font-size:14px;font-weight:700;text-decoration:underline}.forgot-password{text-align:center;margin-top:16px;font-size:12px}.btn-forgot{color:#555;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline;transition:color .2s}.btn-forgot:hover{color:#ff7043}.success-msg{color:#4caf50;text-align:left;background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;margin-bottom:12px;padding:12px;font-size:13px}.login-page{background:url(/footprints-green.svg) 0 0/340px 340px,linear-gradient(160deg,#f8fcfb 0%,#e9f5f1 100%);font-family:"M PLUS Rounded 1c",Kosugi Maru,sans-serif}.login-card{background:#fffdf8;border:2px solid #ffdcc2;border-radius:26px;box-shadow:0 8px 22px #d6a06e29}.login-logo{letter-spacing:.5px;text-shadow:-2px -2px #fff,2px -2px #fff,-2px 2px #fff,2px 2px #fff,-2.5px 0 #fff,2.5px 0 #fff,0 -2.5px #fff,0 2.5px #fff,3px 5px #d14a1f59;justify-content:center;align-items:center;gap:6px;font-size:clamp(25px,7vw,29px);font-weight:900;display:flex}.free-badge{color:#fff;vertical-align:2px;background:#ff7043;border-radius:999px;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:800;display:inline-block}.ssl-note{text-align:center;color:#b8a594;margin:8px 0 0;font-size:10.5px;font-weight:700}.login-page .mode-tabs{border-bottom:none;gap:8px;margin-bottom:24px}.login-page .mode-tabs .tab{color:#9b8576;background:#fff;border:2px solid #ffdcc2;border-radius:999px;padding:10px 0;font-family:inherit}.login-page .mode-tabs .tab.active{color:#fff;background:#ff7043;border-color:#ff7043;box-shadow:0 3px #d14a1f}.login-page .intro-section h2{color:#5d4037}.login-page .feature-item{background:#fffdf8;border:2px solid #ffdcc2;border-radius:16px;box-shadow:0 4px 12px #d6a06e1a}.login-page .feature-text strong{color:#5d4037}.login-page .feature-text p{color:#9b8576}.login-page .tutorial{background:#fffdf8;border:2px solid #ffdcc2;border-radius:16px}.login-page .tutorial h3{color:#5d4037}.login-page .tutorial ol{color:#7a6a5e}.login-page .btn-start,.login-page .btn-primary{background:#ff7043;font-family:inherit;font-weight:800;transition:transform .1s,box-shadow .1s;box-shadow:0 5px #d14a1f}.login-page .btn-start:hover,.login-page .btn-primary:hover:not(:disabled){background:#ff7043;transform:none;box-shadow:0 5px #d14a1f}.login-page .btn-start:active,.login-page .btn-primary:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #d14a1f}.login-page .btn-primary:disabled{box-shadow:none}.login-page .login-card{max-width:460px;margin-top:-12px;padding:16px 20px 12px}.login-page{box-sizing:border-box;min-height:100dvh;padding:12px 20px}.login-page .mode-tabs{margin-bottom:10px}.login-page .mode-tabs .tab{padding:8px 0;font-size:14px}.login-page .intro-section h2{margin:0 0 8px}.login-page .hero-copy{color:#5d4037;flex-direction:column;align-items:center;gap:3px;padding:2px 0 4px;font-size:clamp(13.5px,4.4vw,18px);line-height:1.6;display:flex}.login-page .hc-line{white-space:nowrap;font-weight:800}.login-page .hc-accent{color:#e8552f;font-size:1.3em;font-weight:900}.login-page .hc-x{color:#d7b894;font-size:.95em;font-weight:800;line-height:1}.login-page .features{gap:7px;margin-bottom:10px}.login-page .feature-item{align-items:center;gap:12px;padding:7px 12px}.login-page .feature-icon{border-radius:50%;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;font-size:20px;display:flex}.login-page .fi1{background:#ffe9e6}.login-page .fi2{background:#fdeef5}.login-page .fi3{background:#eaf6ec}.login-page .feature-text strong{margin-bottom:2px;font-size:14px}.login-page .feature-text p{color:#8a7163;font-size:12px;font-weight:800}.login-page .tutorial{margin-bottom:10px;padding:10px 14px}.login-page .tutorial h3{margin:0 0 8px;font-size:14px}.login-page .tutorial ol{padding-left:18px;font-size:12.5px;line-height:1.5}.login-page .tutorial li{margin-bottom:2px}.login-page .tutorial strong{font-size:13px}.login-page .btn-start{padding:12px}.login-page .form-group input,.login-page .password-wrap input{background:#fff;border-color:#ffdcc2}.login-page .form-group input:focus,.login-page .password-wrap input:focus{border-color:#ff7043}.illust-circle{background:#fff;border-radius:50%;flex-shrink:0;overflow:hidden;box-shadow:0 8px 24px #0000002e,0 0 0 3px #ffffff80}.illust-img{object-fit:cover;object-position:center 15%;width:100%;height:100%}.illust-pair{flex-shrink:0;align-items:center;gap:-10px;display:flex}.illust-pair .illust-circle:first-child{z-index:1;margin-right:-14px}.illust-pair .illust-circle:last-child{z-index:2;box-shadow:0 8px 24px #00000038,0 0 0 3px #ffffffb3}.ad-banner{text-align:center;width:100%;max-width:560px;margin:16px auto}.ad-label{color:#aaa;text-align:right;margin:0 0 4px;padding-right:4px;font-size:10px}.ad-banner-placeholder{background:repeating-linear-gradient(45deg,#f5f5f5,#f5f5f5 10px,#eaeaea 10px 20px);border:2px dashed #ccc;border-radius:12px;justify-content:center;align-items:center;min-height:80px;padding:16px 20px;display:flex}.ad-placeholder-content{align-items:center;gap:12px;display:flex}.ad-placeholder-icon{opacity:.6;font-size:28px}.ad-placeholder-text{text-align:left;flex-direction:column;gap:2px;display:flex}.ad-placeholder-text strong{color:#888;font-size:13px;font-weight:700}.ad-placeholder-text small{color:#aaa;font-size:11px}.terms-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.terms-modal{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;box-shadow:0 10px 40px #0000004d}.terms-modal h1{color:#333;border-bottom:2px solid #f0f0f0;margin:0;padding:24px 24px 16px;font-size:22px}.terms-content{color:#555;flex:1;padding:24px;font-size:14px;line-height:1.8;overflow-y:auto}.terms-content h2{color:#333;margin:20px 0 10px;font-size:16px;font-weight:800}.terms-content p{text-align:justify;margin:0 0 12px}.terms-content ul{margin:0 0 12px 20px;padding:0}.terms-content li{margin-bottom:8px}.terms-footer{border-top:2px solid #f0f0f0;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.terms-checkbox{cursor:pointer;color:#666;align-items:center;gap:10px;font-size:14px;display:flex}.terms-checkbox input{cursor:pointer;width:18px;height:18px;accent-color:var(--accent,#ff7043)}.btn-agree{background:linear-gradient(135deg, var(--accent,#ff7043), #ffab40);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px;font-family:Kosugi Maru,sans-serif;font-size:16px;font-weight:800;transition:all .2s}.btn-agree:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff704366}.btn-agree:disabled{opacity:.5;cursor:not-allowed}.dashboard{background:#e8d5b7;min-height:100vh}.dash-header{z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;position:sticky;top:0;box-shadow:0 3px 12px #ff70431a}.logo{color:var(--accent,#ff7043);letter-spacing:-.5px;align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.logo-mark{width:auto;height:28px;display:block}.dash-user{align-items:center;gap:10px;display:flex}.btn-settings{background:var(--accent-light,#fff3f0);cursor:pointer;border:none;border-radius:12px;padding:8px 10px;font-size:18px;transition:transform .2s}.btn-settings:hover{transform:rotate(30deg)}.btn-signout{color:#666;cursor:pointer;background:0 0;border:2px solid #eee;border-radius:20px;padding:6px 14px;font-family:Kosugi Maru,sans-serif;font-size:12px}.animal-banner{background:linear-gradient(135deg, var(--accent,#ff7043) 0%, #ffab40 100%);padding:12px 20px 14px;position:relative;overflow:hidden}.animal-banner-decos{opacity:.15;pointer-events:none;justify-content:space-around;align-items:center;font-size:36px;display:flex;position:absolute;inset:0}.banner-content{z-index:1;align-items:center;gap:16px;max-width:560px;margin:0 auto;display:flex;position:relative}.banner-illust{flex-shrink:0;animation:3s ease-in-out infinite sway}@keyframes sway{0%,to{transform:rotate(-3deg)translateY(0)}50%{transform:rotate(3deg)translateY(-6px)}}.banner-text{text-align:left;flex:1}.banner-date{color:#fffc;margin-bottom:4px;font-size:12px}.banner-title{color:#fff;text-shadow:0 2px 8px #00000026;margin:0 0 4px;font-size:20px;font-weight:800;line-height:1.3}.banner-sub{color:#fff;text-shadow:0 1px 4px #0000002e;font-size:13.5px;font-weight:600}.dash-main{max-width:560px;margin:0 auto;padding:14px 16px 40px}.choose-area{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:12px;margin-bottom:14px;display:grid}.upload-box{border:3px dashed var(--accent-border,#ffccbc);cursor:pointer;background:#fff;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;padding:36px 24px;transition:all .2s;display:flex}.upload-box:hover{border-color:var(--accent,#ff7043);background:var(--accent-light,#fff3f0);transform:translateY(-2px)}.photo-diary-btn{cursor:pointer;background:linear-gradient(135deg,#fdf5e6 0%,wheat 50%,#deb887 100%);border:4px solid #fff;border-radius:28px;flex-direction:column;flex:1 1 0;align-items:center;min-width:0;padding:16px 16px 18px;font-family:Kosugi Maru,sans-serif;transition:transform .2s,box-shadow .2s;animation:4s ease-in-out infinite photoDiaryWiggle;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #d2b48c66,0 0 0 4px #f5deb366}.photo-diary-btn:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 20%,#fff9 0%,#0000 40%);position:absolute;inset:0}.photo-diary-btn:hover{transform:translateY(-3px)scale(1.01);box-shadow:0 12px 32px #d2b48c8c,0 0 0 4px #f5deb380}.photo-diary-btn:active{transform:translateY(-1px)scale(.99)}@keyframes photoDiaryWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(.5deg)}75%{transform:rotate(-.5deg)}}.photo-diary-img-wrap{z-index:1;width:100%;max-width:100%;margin-bottom:8px;position:relative}.photo-diary-img{object-fit:cover;filter:drop-shadow(0 4px 12px #00000026);border-radius:20px;width:100%;height:96px;display:block}.photo-diary-sparkle{pointer-events:none;filter:drop-shadow(0 2px 4px #a0785080);font-size:24px;animation:1.8s ease-in-out infinite sparkleAnim;position:absolute}.photo-diary-sparkle.s1{animation-delay:0s;top:5%;left:8%}.photo-diary-sparkle.s2{font-size:20px;animation-delay:.4s;top:10%;right:10%}.photo-diary-sparkle.s3{font-size:22px;animation-delay:.8s;bottom:15%;right:5%}@keyframes sparkleAnim{0%,to{opacity:.9;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.3)rotate(20deg)}}.photo-diary-text{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex;position:relative}.photo-diary-text strong{color:#5d4037;text-shadow:0 2px #fff,0 -1px #fff,1px 0 #fff,-1px 0 #fff;letter-spacing:.5px;font-size:19px;font-weight:800}.photo-diary-text small{color:#6d4c41;background:#fffc;border-radius:12px;padding:3px 12px;font-size:13px;font-weight:700}.or-divider{color:#ccc;flex:none;justify-content:center;align-items:center;padding:0;font-size:11px;display:flex}.photo-picker-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.photo-picker-modal{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:480px;padding:24px 20px 32px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 -8px 32px #00000026}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.photo-picker-title{color:#333;text-align:center;margin:0 0 4px;font-size:18px;font-weight:800}.photo-picker-desc{color:#555;text-align:center;margin:0 0 20px;font-size:13px;font-weight:500}.photo-picker-option{background:var(--accent-light,#fff3f0);border:2px solid var(--accent-border,#ffccbc);cursor:pointer;border-radius:16px;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:16px 20px;transition:all .2s;display:flex}.photo-picker-option:hover,.photo-picker-option:active{border-color:var(--accent,#ff7043);background:#fff;transform:translateY(-1px)}.photo-picker-icon{flex-shrink:0;font-size:32px}.photo-picker-text{text-align:left;flex-direction:column;gap:2px;display:flex}.photo-picker-text strong{color:var(--accent,#ff7043);font-size:16px;font-weight:800}.photo-picker-text small{color:#555;font-size:12px}.photo-picker-cancel{color:#555;cursor:pointer;background:0 0;border:2px solid #eee;border-radius:16px;width:100%;margin-top:8px;padding:14px;font-family:Kosugi Maru,sans-serif;font-size:14px;transition:all .2s}.photo-picker-cancel:hover{color:#666;background:#f9f9f9}.upload-icon{filter:drop-shadow(0 4px 8px #0000001a);font-size:52px;animation:2s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.upload-box p{color:#555;font-size:17px;font-weight:700}.upload-box span{color:#ccc;font-size:12px}.no-photo-btn{cursor:pointer;background:linear-gradient(135deg,#fff5e6 0%,#ffe4b5 50%,#f4a460 100%);border:4px solid #fff;border-radius:28px;flex-direction:column;flex:1 1 0;align-items:center;min-width:0;padding:16px 16px 18px;font-family:Kosugi Maru,sans-serif;transition:transform .2s,box-shadow .2s;animation:4.5s ease-in-out .5s infinite photoDiaryWiggle;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #f4a46059,0 0 0 4px #ffe4b566}.no-photo-btn:before{content:"";pointer-events:none;background:radial-gradient(circle at 70% 20%,#fff9 0%,#0000 40%);position:absolute;inset:0}.no-photo-btn:hover:not(:disabled){transform:translateY(-3px)scale(1.01);box-shadow:0 12px 32px #f4a46080,0 0 0 4px #ffe4b580}.no-photo-btn:active:not(:disabled){transform:translateY(-1px)scale(.99)}.no-photo-btn:disabled{opacity:.6;cursor:not-allowed}.no-photo-img-wrap{z-index:1;width:100%;max-width:100%;margin-bottom:8px;position:relative}.no-photo-img{object-fit:cover;filter:drop-shadow(0 4px 12px #00000026);border-radius:18px;width:100%;height:96px;display:block}.no-photo-heart{pointer-events:none;filter:drop-shadow(0 2px 4px #ff648280);font-size:22px;animation:2s ease-in-out infinite sparkleAnim;position:absolute}.no-photo-heart.h1{animation-delay:.2s;top:8%;left:6%}.no-photo-heart.h2{font-size:20px;animation-delay:.6s;top:8%;right:8%}.no-photo-text{text-align:center;z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex;position:relative}.no-photo-text strong{color:#5d4037;text-shadow:0 2px #fff,0 -1px #fff,1px 0 #fff,-1px 0 #fff;letter-spacing:.5px;font-size:18px;font-weight:800}.no-photo-text small{color:#6d4c41;background:#fffc;border-radius:12px;padding:3px 12px;font-size:13px;font-weight:700}.done-card{text-align:center;border:2px solid var(--accent-border,#ffccbc);background:#fff;border-radius:24px;margin-bottom:24px;padding:40px 24px;box-shadow:0 8px 24px #ff70431f}.done-icon{margin-bottom:12px;font-size:64px;animation:.4s pop}.done-card h3{color:#333;margin-bottom:8px;font-size:19px}.done-card p{color:#555;margin-bottom:20px;font-size:14px;font-weight:500}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.preview-area{flex-direction:column;align-items:center;gap:14px;margin-bottom:24px;display:flex}.preview-img{object-fit:cover;border-radius:20px;width:100%;max-width:400px;height:260px;box-shadow:0 8px 24px #0000001f}.photo-pet-picker{text-align:center;width:100%;max-width:400px}.photo-pet-picker-label{color:#5d4037;margin-bottom:8px;font-size:14px;font-weight:700}.photo-pet-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.photo-pet-chip{border:2px solid var(--accent,#ff7043);color:var(--accent,#ff7043);cursor:pointer;background:#fff;border-radius:20px;padding:8px 18px;font-size:14px;font-weight:700}.photo-pet-chip.selected{background:var(--accent,#ff7043);color:#fff}.btn-judge{background:linear-gradient(135deg, var(--accent,#ff7043), #ffab40);color:#fff;cursor:pointer;border:none;border-radius:30px;padding:14px 36px;font-family:Kosugi Maru,sans-serif;font-size:17px;font-weight:800;transition:all .2s;box-shadow:0 4px 16px #ff704359}.btn-judge:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff704373}.btn-judge:disabled{opacity:.6;cursor:not-allowed}.energy-card{text-align:center;background:#fff;border:3px solid;border-radius:24px;width:100%;max-width:400px;padding:24px;box-shadow:0 8px 24px #0000000f}.energy-score{color:#555;flex-direction:column;align-items:center;margin-bottom:4px;font-size:15px;display:flex}.energy-score span{font-size:56px;font-weight:800;line-height:1.1}.energy-comment{color:#555;margin:10px 0;font-size:16px;font-weight:500;line-height:1.6}.saved-msg{color:#4caf50;background:#f1f8e9;border-radius:20px;margin-top:8px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-block}.btn-reset{color:#666;cursor:pointer;background:0 0;border:2px solid #eee;border-radius:20px;padding:8px 22px;font-family:Kosugi Maru,sans-serif;font-size:13px}.info-cards{grid-template-columns:repeat(2,1fr);gap:8px 12px;display:grid}.info-card-line{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;display:flex}.info-card-line p{margin-bottom:0}.info-card{border:2px solid var(--accent,#ff7043);text-align:center;background:#fff3e0;border-radius:20px;padding:18px 14px;transition:all .2s;box-shadow:0 4px 12px #00000014}.info-card.clickable{cursor:pointer}.info-card.clickable:hover{border-color:var(--accent-border,#ffccbc);transform:translateY(-2px);box-shadow:0 6px 16px #ff70431f}.info-icon{margin-bottom:6px;font-size:30px}.info-card-img{object-fit:contain;border-radius:16px;width:100%;max-width:175px;height:88px;margin:0 auto 4px;display:block}.info-card p{color:#777;margin-bottom:4px;font-size:12px;font-weight:700}.info-card strong{color:var(--accent,#ff7043);font-size:15px;font-weight:800}.info-card.compact{flex-direction:column;justify-content:center;align-items:center;padding:16px 12px;display:flex}.info-card.compact p{color:#777;margin-bottom:6px;font-size:13px}.info-card.compact strong{font-size:18px}.snooze-panel{margin-bottom:24px}.btn-snooze{color:#555;cursor:pointer;background:#fff;border:2px dashed #999;border-radius:20px;width:100%;padding:16px 24px;font-size:15px;font-weight:700;transition:all .2s}.btn-snooze:hover:not(:disabled){color:#ff7043;background:#fff3f0;border-color:#ff7043}.btn-snooze:disabled{opacity:.6;cursor:not-allowed}.snooze-active{text-align:center;background:#fff3f0;border:2px solid #ffccbc;border-radius:20px;padding:16px 24px}.snooze-active p{color:#ff7043;margin:0;font-size:15px;font-weight:700}.btn-unsnooze{color:#ff7043;cursor:pointer;background:#fff;border:2px solid #ffccbc;border-radius:16px;margin-top:12px;padding:8px 20px;font-size:13px;font-weight:700;transition:all .2s}.btn-unsnooze:hover:not(:disabled){background:#fff3f0;border-color:#ff7043}.btn-unsnooze:disabled{opacity:.6;cursor:not-allowed}.diary-section{border:2px solid var(--accent-border,#ffccbc);text-align:left;background:#fff;border-radius:20px;width:100%;max-width:400px;margin-top:20px;padding:24px}.diary-section label{color:#333;margin-bottom:8px;font-size:16px;font-weight:800;display:block}.diary-hint{color:#5d4037;margin-bottom:14px;font-size:14px;font-weight:700;line-height:1.7}.diary-input{resize:vertical;border:2px solid #eee;border-radius:12px;width:100%;min-height:100px;padding:12px;font-family:Kosugi Maru,sans-serif;font-size:14px;transition:border-color .2s}.diary-input:focus{border-color:var(--accent,#ff7043);outline:none}.diary-counter{color:#666;text-align:right;margin:6px 0 12px;font-size:11px}.btn-submit-diary{background:linear-gradient(135deg, var(--accent,#ff7043), #ffab40);color:#fff;cursor:pointer;border:none;border-radius:20px;width:100%;padding:14px 24px;font-family:Kosugi Maru,sans-serif;font-size:16px;font-weight:800;transition:all .2s;box-shadow:0 4px 12px #ff70434d}.btn-submit-diary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ff704366}.btn-submit-diary:disabled{opacity:.6;cursor:not-allowed}.birthday-card{background:linear-gradient(135deg,#fff3f0,#ffe0e6);border:2px solid #ffb3c1;border-radius:16px;align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.birthday-icon{flex-shrink:0;font-size:40px}.birthday-content{flex:1}.birthday-pet{color:#555;margin:0 0 4px;font-size:14px}.birthday-days{color:#ff69b4;margin:0;font-size:18px;font-weight:800}.dashboard{background:url(/footprints-green.svg) 0 0/340px 340px,linear-gradient(160deg,#f8fcfb 0%,#e9f5f1 100%);font-family:"M PLUS Rounded 1c",Kosugi Maru,sans-serif}.dashboard .dash-header{background:#fffdf8f2;box-shadow:0 2px 12px #ff70431a}.dashboard .info-card,.dashboard .done-card,.dashboard .diary-section{background:#fffdf8;border:2px solid #ffdcc2;box-shadow:0 8px 22px #d6a06e29}.dashboard .info-card p{color:#9b8576}.dashboard .info-card strong{color:#e8552f}.dashboard .done-card h3{color:#5b4a3f}.dashboard .done-card p{color:#9b8576}.dashboard .birthday-card{background:linear-gradient(135deg,#fff6ef,#ffe9dd);border:2px solid #ffdcc2}.dashboard .photo-diary-btn,.dashboard .no-photo-btn{background:#fffdf8;border:2px solid #ffdcc2;border-radius:22px;gap:10px;padding:20px 14px;animation:none;box-shadow:0 5px #ffe0c8}.dashboard .photo-diary-btn:before,.dashboard .no-photo-btn:before{content:none}.dashboard .photo-diary-btn:hover,.dashboard .no-photo-btn:hover:not(:disabled){transform:none;box-shadow:0 5px #ffe0c8}.dashboard .photo-diary-btn:active,.dashboard .no-photo-btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #ffe0c8}.dashboard .btn-line-icon{color:#ff7043;line-height:0}.dashboard .btn-line-icon svg{width:48px;height:48px;display:block}.dashboard .photo-diary-text strong,.dashboard .no-photo-text strong{color:#5b4a3f;text-shadow:none}.dashboard .photo-diary-text small,.dashboard .no-photo-text small{color:#e8552f;background:#ff70431f}.dashboard .info-card-icon{color:#ff7043;margin-bottom:6px;line-height:0}.dashboard .info-card-icon svg{width:40px;height:40px;margin:0 auto;display:block}.dashboard .info-card.clickable{box-shadow:0 5px #ffe0c8,0 10px 18px #d6a06e1a}.dashboard .info-card.clickable:hover{transform:none;box-shadow:0 5px #ffe0c8,0 10px 18px #d6a06e1a}.dashboard .info-card.clickable:active{transform:translateY(4px);box-shadow:0 1px #ffe0c8}.dashboard .choose-area{grid-template-columns:1fr}.dashboard .checkin-btn{cursor:pointer;background:#ff7043;border:none;border-radius:22px;justify-content:center;align-items:center;gap:14px;width:100%;padding:22px 18px;font-family:"M PLUS Rounded 1c",Kosugi Maru,sans-serif;transition:transform 60ms,box-shadow 60ms;display:flex;box-shadow:0 6px #d14a1f}.dashboard .checkin-btn:active{transform:translateY(5px);box-shadow:0 1px #d14a1f}.dashboard .checkin-btn .btn-line-icon{color:#fff}.dashboard .checkin-btn .btn-line-icon svg{width:42px;height:42px;display:block}.dashboard .checkin-btn-text{flex-direction:column;align-items:flex-start;line-height:1.3;display:flex}.dashboard .checkin-btn-text strong{color:#fff;font-size:21px;font-weight:800}.dashboard .checkin-btn-text small{color:#ffe9dd;font-size:13px;font-weight:700}.countdown-ring{margin:0 auto 6px;display:block}.countdown-ring-text{font-family:inherit;font-size:15px;font-weight:800}.dashboard .info-card-icon svg{width:52px;height:52px}.dashboard .info-card-icon .card-img-icon{object-fit:contain;width:auto;max-width:100%;height:60px;margin:0 auto;display:block}.dashboard .info-cards .info-card{flex-direction:column;justify-content:center;align-items:center;min-height:152px;display:flex}.dashboard .info-cards .info-card p{color:#5d4037;font-size:15px;font-weight:900}.dashboard .info-cards .info-card strong{font-size:18px;font-weight:900}.dashboard .dash-header .logo{font-size:23px;font-weight:900}.dashboard .dash-header .logo-mark{height:33px}.choose-area{position:relative}.paw-stamp{z-index:2000;pointer-events:none;opacity:0;animation:1.6s ease-out forwards pawPop;position:absolute;top:4px}@keyframes pawPop{0%{opacity:0;transform:translateY(12px) rotate(var(--rot,0deg)) scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-48px) rotate(var(--rot,0deg)) scale(1.15)}}.pet-profile{background:#e8d5b7;min-height:100vh}.pp-header{background:#fff;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.pp-main{max-width:560px;margin:0 auto;padding:18px 20px 24px}.pp-steps{justify-content:center;align-items:center;gap:0;margin-bottom:28px;display:flex}.pp-step{color:#ccc;white-space:nowrap;background:#eee;border-radius:20px;padding:8px 20px;font-size:13px;font-weight:700}.pp-step.active{color:#fff;background:#ff7043}.pp-step-line{background:#ddd;width:24px;height:2px}.pp-card{background:#fff;border-radius:20px;padding:28px 24px;box-shadow:0 4px 16px #0000000f}.pp-card h2{color:#333;margin-bottom:20px;font-size:20px}.pp-note{color:#ff7043;background:#fff3f0;border-radius:8px;margin-bottom:20px;padding:8px 14px;font-size:13px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.type-buttons{flex-wrap:wrap;gap:8px;display:flex}.btn-type{cursor:pointer;color:#555;background:#fff;border:2px solid #eee;border-radius:20px;padding:8px 18px;font-size:14px;transition:all .2s}.btn-type.selected{color:#ff7043;background:#fff3f0;border-color:#ff7043;font-weight:700}.btn-next{color:#fff;cursor:pointer;background:#ff7043;border:none;border-radius:30px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:700}.btn-next:disabled{cursor:not-allowed;background:#ffccbc}.btn-row{gap:12px;margin-top:8px;display:flex}.btn-back-step{color:#555;cursor:pointer;background:#fff;border:2px solid #eee;border-radius:30px;flex:1;padding:14px;font-size:15px}.btn-save:disabled{background:#ffccbc}.confirm-section{margin-bottom:20px}.confirm-section h3{color:#555;border-bottom:1px solid #eee;margin-bottom:10px;padding-bottom:6px;font-size:14px}.confirm-row{border-bottom:1px solid #f5f5f5;justify-content:space-between;padding:8px 0;font-size:15px;display:flex}.confirm-row span{color:#555}.confirm-row strong{color:#333;text-align:right;max-width:65%}.pet-list-card{background:#fff;border:2px solid #fff3f0;border-radius:20px;margin-bottom:14px;padding:16px 18px;box-shadow:0 4px 16px #ff704314}.pet-card-head{cursor:pointer;align-items:center;gap:14px;display:flex}.pet-avatar{color:#5d4037;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-family:Kosugi Maru,sans-serif;font-size:24px;font-weight:800;display:flex;box-shadow:inset 0 -3px 6px #0000000f,0 2px 6px #00000014}.pet-avatar.xl{border:4px solid #fff;width:88px;height:88px;font-size:40px}.pet-list-info{flex-direction:column;gap:4px;display:flex}.pet-list-name{color:#333;font-size:18px;font-weight:700}.pet-list-sub{color:#555;font-size:13px;font-weight:500}.btn-view-care{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff8a65,#ff7043);border:none;border-radius:16px;width:100%;margin-top:14px;padding:12px;font-family:Kosugi Maru,sans-serif;font-size:15px;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px #ff70434d}.btn-view-care:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ff704366}.btn-edit-sm{color:#ff7043;cursor:pointer;white-space:nowrap;background:#fff3f0;border:2px solid #ffccbc;border-radius:14px;flex:1;padding:7px 14px;font-size:13px;font-weight:700;transition:all .2s}.btn-edit-sm:hover{color:#fff;background:#ff7043}.pet-list-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.pet-view-hero{background:linear-gradient(135deg,#fff8f3,#fff3f0);border:2px solid #ffe2d6;border-radius:22px;margin-bottom:10px;padding:16px 18px;box-shadow:0 4px 16px #ff704314}.pet-view-head{align-items:center;gap:14px;display:flex}.pet-view-info{text-align:left;min-width:0}.pet-avatar-wrap{flex-shrink:0;width:64px;height:64px;position:relative}.pet-avatar.lg{border:3px solid #fff;width:64px;height:64px;font-size:30px}.avatar-cam-badge{color:#fff;cursor:pointer;background:#ff7043;border:2.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 6px #0003}.pet-view-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:14px;margin-top:14px;display:flex}.btn-avatar-reset{color:#a1887f;cursor:pointer;background:0 0;border:none;font-family:Kosugi Maru,sans-serif;font-size:12.5px;text-decoration:underline}.pet-view-name{color:#4e342e;font-size:21px;font-weight:800}.pet-view-sub{color:#a1887f;margin-top:4px;font-size:14px}.btn-edit-care{color:#ff7043;cursor:pointer;background:#fff;border:2px solid #ff7043;border-radius:22px;padding:9px 26px;font-family:Kosugi Maru,sans-serif;font-size:14px;font-weight:800;transition:all .2s}.btn-edit-care:hover{color:#fff;background:#ff7043}.view-note{color:#ef6c00;text-align:center;background:#fff8e1;border-radius:10px;margin-bottom:10px;padding:7px 12px;font-size:12px}.care-info-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.care-row{background:#fff;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex;box-shadow:0 2px 8px #0000000d}.care-row.wide{grid-column:1/-1}.care-row-icon{text-align:center;flex-shrink:0;width:24px;font-size:20px}.care-row-body{flex:1;min-width:0}.care-row-label{color:#666;margin-bottom:2px;font-size:12px;font-weight:700}.care-row-value{color:#333;word-break:break-word;font-size:15px;font-weight:600}.care-row-value.empty{color:#ccc;font-weight:400}.btn-delete-icon{color:#e57373;cursor:pointer;background:#fff;border:2px solid #ffcdd2;border-radius:16px;justify-content:center;align-items:center;padding:6px 10px;font-size:14px;line-height:1;transition:all .2s;display:flex}.btn-delete-icon:hover{background:#ffebee;border-color:#ef5350;transform:translateY(-1px)}.btn-add-pet{color:#ff7043;cursor:pointer;background:#fff;border:2px dashed #ffccbc;border-radius:16px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:700;transition:all .2s}.btn-add-pet:hover{background:#fff3f0;border-style:solid}.upgrade-banner p{color:#666;margin:0 0 6px;font-size:14px}.btn-upgrade{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff7043,#e91e8c);border:none;border-radius:30px;margin-top:12px;padding:12px 28px;font-size:15px;font-weight:700;box-shadow:0 4px 12px #ff704359}.empty-state p{margin:0;font-size:15px}.delete-section{text-align:center;border-top:1px dashed #ddd;margin-top:32px;padding-top:20px}.delete-note{color:#555;margin:0 0 12px;font-size:12px;font-weight:500;line-height:1.6}.btn-delete-pet{color:#e57373;cursor:pointer;background:0 0;border:2px solid #e57373;border-radius:20px;padding:10px 24px;font-family:Kosugi Maru,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.btn-delete-pet:hover{background:#ffebee;border-color:#ef5350;transform:translateY(-1px)}.delete-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.delete-modal{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:420px;padding:28px 24px 24px;animation:.3s cubic-bezier(.16,1,.3,1) popIn;box-shadow:0 12px 40px #0003}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.delete-icon{margin-bottom:8px;font-size:48px}.delete-modal h3{color:#333;margin:0 0 8px;font-size:18px}.delete-target{color:#555;margin:0 0 16px;font-size:15px}.delete-target strong{color:#e57373;font-size:18px}.delete-info{text-align:left;background:#fff8e1;border-radius:12px;margin-bottom:20px;padding:14px 16px}.delete-info p{color:#6d4c41;margin:0 0 6px;font-size:12px;line-height:1.6}.delete-info p:last-child{margin-bottom:0}.delete-btn-row{gap:10px;display:flex}.btn-cancel-delete{color:#555;cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:16px;flex:1;padding:12px;font-family:Kosugi Maru,sans-serif;font-size:14px;font-weight:700;transition:all .2s}.btn-cancel-delete:hover:not(:disabled){background:#f5f5f5}.btn-confirm-delete{color:#fff;cursor:pointer;background:#e57373;border:2px solid #e57373;border-radius:16px;flex:1;padding:12px;font-family:Kosugi Maru,sans-serif;font-size:14px;font-weight:800;transition:all .2s}.btn-confirm-delete:hover:not(:disabled){background:#ef5350;border-color:#ef5350;transform:translateY(-1px)}.btn-cancel-delete:disabled,.btn-confirm-delete:disabled{opacity:.6;cursor:not-allowed}.pet-profile{--nat-green:#ff8a65;--nat-green-deep:#ff7043;--nat-terra:#ff7043;--nat-terra-deep:#e8552f;--nat-cream:#fffdf8;--nat-border:#ffdcc2;--nat-ink:#5b4a3f;--nat-sub:#9b8576;background:url(/footprints-green.svg) 0 0/340px 340px,linear-gradient(160deg,#f8fcfb 0%,#e9f5f1 100%);font-family:"M PLUS Rounded 1c",Kosugi Maru,sans-serif}.pet-profile .pp-header{background:#fffdf8eb;box-shadow:0 2px 12px #ff70431f}.pet-profile .pp-header .logo{color:var(--nat-terra-deep);letter-spacing:.5px}.pet-profile .btn-back{color:var(--nat-terra-deep)}.pet-profile .pp-main>h2{color:var(--nat-ink);letter-spacing:.5px}.pet-profile .pp-step.active{background:var(--nat-terra)}.pet-profile .pp-step-line{background:var(--nat-border)}.pet-profile .pp-card,.pet-profile .pet-list-card,.pet-profile .care-row{background:var(--nat-cream);border:2px solid var(--nat-border);box-shadow:0 8px 22px #d6a06e29}.pet-profile .pp-card{border-radius:24px;padding:30px 26px}.pet-profile .pet-list-card{border-radius:24px;padding:20px}.pet-profile .pp-card h2,.pet-profile .pet-list-name,.pet-profile .care-row-value,.pet-profile .confirm-row strong{color:var(--nat-ink)}.pet-profile .pet-list-sub,.pet-profile .care-row-label,.pet-profile .form-group label,.pet-profile .confirm-row span{color:var(--nat-sub)}.pet-profile .pp-note,.pet-profile .view-note{color:var(--nat-terra-deep);background:#ff70431a;border:1px solid #ff704340}.pet-profile .form-group input,.pet-profile .form-group textarea{border-color:var(--nat-border);background:#fffdf8}.pet-profile .form-group input:focus,.pet-profile .form-group textarea:focus{border-color:var(--nat-terra)}.pet-profile .btn-type{border-color:var(--nat-border)}.pet-profile .btn-type.selected{border-color:var(--nat-terra);color:var(--nat-terra-deep);background:#c98a6b1f}.pet-profile .btn-next,.pet-profile .btn-save{background:var(--nat-terra);box-shadow:0 6px 16px #b3735a47}.pet-profile .btn-next:disabled,.pet-profile .btn-save:disabled{background:#ddc4b6}.pet-profile .btn-back-step{border-color:var(--nat-border);color:var(--nat-sub);background:#fffdf8}.pet-profile .btn-view-care{background:linear-gradient(135deg, var(--nat-green) 0%, var(--nat-green-deep) 100%);border-radius:18px;box-shadow:0 6px 16px #6e90804d}.pet-profile .btn-view-care:hover{box-shadow:0 8px 20px #6e90806b}.pet-profile .btn-edit-sm{color:var(--nat-terra-deep);background:#c98a6b1f;border-color:#c98a6b66}.pet-profile .btn-edit-sm:hover{background:var(--nat-terra);color:#fff}.pet-profile .pet-view-hero{border:2px solid var(--nat-border);background:linear-gradient(135deg,#fff6ef 0%,#ffe9dd 100%);border-radius:24px;box-shadow:0 8px 22px #d6a06e29}.pet-profile .pet-view-name{color:var(--nat-ink)}.pet-profile .pet-view-sub{color:var(--nat-sub)}.pet-profile .avatar-cam-badge{background:var(--nat-terra)}.pet-profile .btn-edit-care{border-color:var(--nat-terra);color:var(--nat-terra-deep)}.pet-profile .btn-edit-care:hover{background:var(--nat-terra);color:#fff}.pet-profile .btn-avatar-reset{color:var(--nat-sub)}.pet-profile .confirm-section h3{color:var(--nat-green-deep);border-bottom-color:var(--nat-border)}.pet-profile .btn-add-pet{border:2px dashed var(--nat-terra);color:var(--nat-terra-deep);background:#fffdf8;border-radius:18px}.pet-profile .btn-add-pet:hover{background:#c98a6b1a;border-style:solid}.pet-profile .upgrade-banner{border:2px solid var(--nat-border);background:linear-gradient(135deg,#fff6ef,#ffe9dd);border-radius:18px}.pet-profile .btn-view-care,.pet-profile .btn-next,.pet-profile .btn-save{background:var(--nat-terra);border-radius:16px;transition:transform 60ms,box-shadow 60ms;box-shadow:0 5px #d14a1f}.pet-profile .btn-view-care:hover,.pet-profile .btn-next:hover,.pet-profile .btn-save:hover{transform:none;box-shadow:0 5px #d14a1f}.pet-profile .btn-view-care:active,.pet-profile .btn-next:active,.pet-profile .btn-save:active{transform:translateY(4px);box-shadow:0 1px #d14a1f}.pet-profile .btn-next:disabled,.pet-profile .btn-save:disabled{box-shadow:0 4px #d8c6ba}.pet-profile .btn-back-step,.pet-profile .btn-add-pet,.pet-profile .btn-edit-care{box-shadow:0 4px 0 var(--nat-border);transition:transform 60ms,box-shadow 60ms}.pet-profile .btn-back-step:active,.pet-profile .btn-add-pet:active,.pet-profile .btn-edit-care:active{box-shadow:0 1px 0 var(--nat-border);transform:translateY(3px)}.pet-profile .pp-main>h2{letter-spacing:.5px;font-size:24px;font-weight:800}.pet-profile .pp-card h2,.pet-profile .form-group label{font-weight:800}.pet-profile .pp-card{border-radius:28px}.pet-profile .pet-list-card{border-radius:26px}.pet-profile .care-row{border-radius:18px;padding:12px 14px}.pet-profile .care-info-grid{gap:10px}.pet-profile .form-group input,.pet-profile .form-group textarea{border-width:2px;border-radius:16px;padding:13px 15px}.pet-profile .pp-step{border-radius:999px;padding:9px 18px;font-weight:800}.pet-profile .pp-step.active{box-shadow:0 3px #d14a1f}.pet-profile .btn-type{border-width:2px;border-radius:999px;font-weight:700}.pet-profile .btn-type.selected{background:var(--nat-terra);color:#fff;box-shadow:0 3px #d14a1f}.pet-profile .pet-list-card{box-shadow:0 6px #ffe7d2,0 12px 20px #d6a06e1f}.emergency{background:#e8d5b7;min-height:100vh}.em-header{background:#fff;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.em-main{max-width:560px;margin:0 auto;padding:16px 20px 24px}.em-main h1{color:#333;margin-bottom:8px;font-size:22px}.em-desc{color:#666;margin-bottom:14px;font-size:14px;line-height:1.7}.em-sos{color:#d32f2f;background:#ffebee;border:1.5px solid #ffcdd2;border-radius:10px;margin:3px 0;padding:3px 12px;font-size:16px;font-weight:800;display:inline-block}.em-notice{color:#555;background:#fff3e0;border-radius:12px;gap:10px;margin-bottom:16px;padding:11px 14px;font-size:13px;line-height:1.6;display:flex}.em-notice span{flex-shrink:0;font-size:20px}.contact-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.contact-card{background:#fff;border-radius:14px;flex-direction:column;padding:16px 20px;display:flex;box-shadow:0 2px 8px #0000000d}.contact-card-top{justify-content:space-between;align-items:center;display:flex}.contact-name{color:#333;align-items:center;gap:8px;margin-bottom:4px;font-size:16px;font-weight:700;display:flex}.contact-tag{color:#ff7043;background:#fff3f0;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:400}.contact-email{color:#555;font-size:14px}.contact-actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.btn-edit-contact{background:var(--accent-light,#fff3f0);border:1px solid var(--accent-border,#ffccbc);color:var(--accent,#ff7043);cursor:pointer;white-space:nowrap;border-radius:20px;padding:6px 14px;font-family:Kosugi Maru,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.btn-edit-contact:hover{background:var(--accent,#ff7043);color:#fff}.btn-delete{color:#ccc;cursor:pointer;background:0 0;border:1px solid #eee;border-radius:20px;padding:6px 14px;font-size:13px}.btn-delete:hover{color:#ff5252;border-color:#ff5252}.empty-state{text-align:center;color:#666;padding:40px 20px;font-size:15px}.contact-form{background:#fff;border-radius:16px;margin-bottom:20px;padding:24px;box-shadow:0 2px 12px #0000000f}.contact-form h3{color:#333;margin-bottom:18px;font-size:17px}.form-group input{box-sizing:border-box;border:2px solid #eee;border-radius:10px;outline:none;width:100%;padding:11px 14px;font-size:15px;transition:border-color .2s}.form-group input:focus{border-color:#ff7043}.relation-buttons{flex-wrap:wrap;gap:8px;display:flex}.btn-relation{cursor:pointer;color:#666;background:#fff;border:2px solid #eee;border-radius:20px;padding:7px 16px;font-size:14px}.btn-relation.selected{color:#ff7043;background:#fff3f0;border-color:#ff7043;font-weight:700}.form-btn-row{gap:10px;margin-top:8px;display:flex}.btn-cancel{color:#555;cursor:pointer;background:#fff;border:2px solid #eee;border-radius:30px;flex:1;padding:12px;font-size:15px}.btn-save{color:#fff;cursor:pointer;background:#ff7043;border:none;border-radius:30px;flex:2;padding:12px;font-size:15px;font-weight:700}.btn-save:disabled{cursor:not-allowed;background:#ffccbc}.btn-add{color:#ff7043;cursor:pointer;background:#fff;border:2px dashed #ffccbc;border-radius:14px;width:100%;padding:16px;font-size:16px;font-weight:700;transition:all .2s}.btn-add:hover{background:#fff3f0;border-color:#ff7043}.upgrade-banner{text-align:center;background:linear-gradient(135deg,#fff3e0,#fff8f6);border:2px solid #ffcc80;border-radius:14px;padding:20px}.upgrade-banner p{color:#555;margin-bottom:6px;font-size:14px;font-weight:500}.btn-upgrade{color:#fff;cursor:pointer;background:#ff7043;border:none;border-radius:20px;margin-top:12px;padding:10px 24px;font-size:14px;font-weight:700}.torisetsu-banner{background:linear-gradient(135deg,#fff3f0,#fce4ec);border:2px solid #ffccbc;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:18px 20px;display:flex}.torisetsu-left{flex:1;min-width:0}.torisetsu-title{color:#333;margin-bottom:4px;font-size:15px;font-weight:700}.torisetsu-desc{color:#555;margin:0;font-size:12px;font-weight:500;line-height:1.5}.torisetsu-desc strong{color:#ff7043;font-weight:700}.btn-copy-url{color:#fff;cursor:pointer;white-space:nowrap;background:#ff7043;border:none;border-radius:20px;flex-shrink:0;padding:10px 16px;font-size:13px;font-weight:700;transition:all .2s;box-shadow:0 4px 10px #ff70434d}.btn-copy-url:hover{background:#e64a19;transform:translateY(-1px)}.torisetsu-actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.btn-show-qr{color:#ff7043;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #ff7043;border-radius:20px;padding:9px 16px;font-family:Kosugi Maru,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.btn-show-qr:hover{background:#fff3f0;transform:translateY(-1px)}.qr-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qr-modal{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:360px;padding:28px 24px;box-shadow:0 12px 40px #0003}.qr-title{color:#333;margin:0 0 8px;font-size:18px;font-weight:800}.qr-desc{color:#555;margin:0 0 20px;font-size:13px;font-weight:500;line-height:1.6}.qr-code-box{background:#fff;border:2px solid #ffccbc;border-radius:16px;justify-content:center;margin-bottom:20px;padding:16px;display:flex}.btn-close-qr{color:#fff;cursor:pointer;background:#ff7043;border:none;border-radius:16px;width:100%;padding:12px;font-family:Kosugi Maru,sans-serif;font-size:14px;font-weight:800;transition:all .2s}.btn-close-qr:hover{background:#e64a19}.settings{background:#e8d5b7;min-height:100vh}.settings-header{background:#fff;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.header-left{align-items:center;gap:12px;display:flex}.btn-back{color:var(--accent,#ff7043);cursor:pointer;background:0 0;border:none;font-size:15px;font-weight:700}.logo{color:var(--accent,#ff7043);font-size:20px;font-weight:700}.settings-main{max-width:600px;margin:0 auto;padding:28px 20px}.settings-main h1{color:#333;text-align:center;margin-bottom:24px;font-size:24px}.settings-section{background:#fff;border-radius:20px;margin-bottom:20px;padding:24px;box-shadow:0 2px 12px #0000000d}.settings-section h2{color:#333;margin-bottom:8px;font-size:17px}.settings-desc{color:#555;margin-bottom:20px;font-size:14px;font-weight:500}.theme-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.theme-card{cursor:pointer;text-align:center;background:#fff;border:2px solid #eee;border-radius:16px;padding:16px 10px;transition:all .2s;position:relative}.theme-card:hover{border-color:#ddd;transform:translateY(-2px)}.theme-card.selected{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.theme-icon{margin-bottom:6px;font-size:36px}.theme-name{color:#333;margin-bottom:4px;font-size:14px;font-weight:700}.theme-deco{opacity:.6;font-size:12px}.theme-check{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.preview-box{text-align:center;border:2px solid;border-radius:16px;padding:24px}.preview-icon{margin-bottom:8px;font-size:56px}.preview-greeting{margin-bottom:6px;font-size:22px;font-weight:700}.preview-msg{color:#666;margin-bottom:16px;font-size:15px}.preview-decos{flex-wrap:wrap;justify-content:center;gap:8px;font-size:24px;display:flex}.alert-buttons{flex-wrap:wrap;gap:12px;display:flex}.alert-btn{color:#666;cursor:pointer;background:#fff;border:2px solid #ffccbc;border-radius:16px;flex:1;min-width:80px;padding:14px 20px;font-size:16px;font-weight:700;transition:all .2s}.alert-btn:hover:not(:disabled){border-color:var(--accent,#ff7043);background:var(--accent-light,#fff3f0);transform:translateY(-2px)}.alert-btn.selected{border-color:var(--accent,#ff7043);background:var(--accent,#ff7043);color:#fff;box-shadow:0 4px 12px #ff70434d}.alert-btn:disabled{opacity:.6;cursor:not-allowed}.btn-enable-notification{background:linear-gradient(135deg, var(--accent,#ff7043), #ffab40);color:#fff;cursor:pointer;border:none;border-radius:16px;width:100%;padding:16px 24px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #ff70434d}.btn-enable-notification:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff704366}.btn-enable-notification-big{background:linear-gradient(135deg, var(--accent,#ff7043), #ffab40);color:#fff;cursor:pointer;border:none;border-radius:18px;width:100%;padding:20px 24px;font-family:Kosugi Maru,sans-serif;font-size:19px;font-weight:800;transition:all .2s;box-shadow:0 6px 18px #ff704359}.btn-enable-notification-big:hover{transform:translateY(-2px);box-shadow:0 8px 22px #ff704373}.notif-on-badge{color:#43a047;background:#e8f5e9;border-radius:20px;padding:8px 18px;font-size:15px;font-weight:800;display:inline-block}.btn-save-time{background:var(--accent,#ff7043);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:12px;padding:11px 20px;font-family:Kosugi Maru,sans-serif;font-size:15px;font-weight:800;transition:all .2s}.btn-save-time:hover:not(:disabled){background:#e64a19;transform:translateY(-1px)}.btn-save-time:disabled{opacity:.6;cursor:not-allowed}.time-saved-msg{color:#2e7d32;background:#e8f5e9;border-radius:12px;margin-top:12px;padding:12px 16px;font-size:14px;font-weight:700;animation:.3s fadeIn}.iphone-notice{background:#f0f7ff;border:1px solid #cfe3ff;border-radius:14px;margin-top:20px;padding:16px 18px}.iphone-notice strong{color:#1976d2;margin-bottom:8px;font-size:14px;display:block}.iphone-notice p{color:#666;margin:0;font-size:12.5px;line-height:1.7}.notification-setting{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 0;display:flex}.notification-setting label{color:#333;font-weight:700}.btn-test-push{border:2px solid var(--accent,#ff7043);width:100%;color:var(--accent,#ff7043);cursor:pointer;background:#fff;border-radius:12px;padding:14px 16px;font-family:Kosugi Maru,sans-serif;font-size:15px;font-weight:800;transition:all .2s}.btn-test-push:hover:not(:disabled){background:var(--accent-light,#fff3f0);transform:translateY(-1px)}.btn-test-push:disabled{opacity:.6;cursor:not-allowed}.btn-disable-notification{color:#555;cursor:pointer;background:#f5f5f5;border:2px solid #ddd;border-radius:12px;width:100%;padding:10px 16px;font-size:14px;transition:all .2s}.btn-disable-notification:hover{background:#fafafa;border-color:#ccc}.language-buttons{flex-wrap:wrap;gap:12px;display:flex}.lang-btn{color:#666;cursor:pointer;background:#fff;border:2px solid #ffccbc;border-radius:16px;flex:1;min-width:100px;padding:14px 20px;font-size:16px;font-weight:700;transition:all .2s}.lang-btn:hover{border-color:var(--accent,#ff7043);background:var(--accent-light,#fff3f0);transform:translateY(-2px)}.lang-btn.selected{border-color:var(--accent,#ff7043);background:var(--accent,#ff7043);color:#fff;box-shadow:0 4px 12px #ff70434d}.language-switcher{gap:4px;display:flex}.lang-switch{color:#555;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700;transition:all .2s}.dark-mode .lang-switch{color:#777}.lang-switch:hover{color:var(--accent,#ff7043)}.lang-switch.active{color:var(--accent,#ff7043);background:#ff70431a}.settings-contact{text-align:center;border-top:1px solid #f0f0f0;margin-top:48px;padding-top:20px}.contact-label{color:#555;margin:0 0 12px;font-size:13px}.btn-contact{color:#666;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:20px;padding:10px 20px;font-size:13px;transition:all .2s}.btn-contact:hover{border-color:var(--accent,#ff7043);color:var(--accent,#ff7043)}.export-buttons{flex-direction:column;gap:12px;display:flex}.btn-export{background:var(--accent,#ff7043);color:#fff;cursor:pointer;border:none;border-radius:16px;width:100%;padding:14px 20px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #ff70434d}.btn-export:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ff704366}.btn-export:disabled{opacity:.6;cursor:not-allowed}.settings-legal{text-align:center;margin-top:24px;padding-bottom:20px}.btn-legal-link{color:#555;cursor:pointer;background:0 0;border:none;padding:8px 16px;font-family:Kosugi Maru,sans-serif;font-size:13px;text-decoration:underline;transition:color .2s}.btn-legal-link:hover{color:var(--accent,#ff7043)}.contact-container{max-width:600px;margin:0 auto;padding:24px}.contact-header{text-align:center;margin-bottom:32px}.contact-header h2{color:#333;margin:0 0 8px;font-size:28px}.contact-subtitle{color:#555;margin:0;font-size:14px;font-weight:500}.contact-success{text-align:center;background:#f0f9ff;border:2px solid #4caf50;border-radius:12px;margin-bottom:24px;padding:24px}.success-icon{color:#4caf50;margin-bottom:12px;font-size:40px}.contact-success p{color:#333;margin:8px 0;font-size:15px}.success-note{color:#555;font-size:13px;font-weight:500}.contact-form{background:#fff;border:2px solid #f0f0f0;border-radius:12px;margin-bottom:24px;padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#555;margin-bottom:8px;font-size:14px;font-weight:700;display:block}.form-group input,.form-group textarea{box-sizing:border-box;border:2px solid #eee;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#ff7043}.form-group textarea{resize:vertical;min-height:120px}.char-count{color:#555;text-align:right;margin:6px 0 0;font-size:12px}.error-msg{color:#e53935;margin-bottom:16px;font-size:13px}.btn-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff7043,#ffab40);border:none;border-radius:30px;width:100%;padding:14px;font-family:Kosugi Maru,sans-serif;font-size:16px;font-weight:700;transition:all .2s}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ff704366}.btn-submit:disabled{cursor:not-allowed;background:#ffccbc}.contact-info{background:#fff3f0;border-left:4px solid #ff7043;border-radius:12px;padding:16px}.contact-note{color:#666;margin:0;font-size:13px;line-height:1.6}.petcard-page{background:#e8d5b7;min-height:100vh;font-family:Kosugi Maru,sans-serif}.petcard-loading,.petcard-error{color:#ff7043;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100vh;font-size:18px;display:flex}.petcard-error small{color:#666;font-size:13px}.petcard-header{background:linear-gradient(135deg,#ff7043,#ff8a65);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.petcard-logo{color:#fff;font-size:18px;font-weight:700}.petcard-badge{color:#fff;background:#ffffff40;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700}.petcard-intro{background:#fff3f0;border-left:4px solid #ff7043;border-radius:0 12px 12px 0;margin:20px 16px;padding:14px 16px}.petcard-intro p{color:#666;margin:0 0 4px;font-size:14px}.petcard-list{flex-direction:column;gap:20px;max-width:600px;margin:0 auto;padding:0 16px;display:flex}.petcard-item{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 16px #00000014}.petcard-name-row{background:linear-gradient(135deg,#fff3f0,#fce4ec);border-bottom:2px solid #ffccbc;align-items:center;gap:14px;padding:20px 20px 16px;display:flex}.petcard-emoji{font-size:44px;line-height:1}.petcard-name{color:#333;margin:0 0 4px;font-size:24px;font-weight:800}.petcard-sub{color:#555;margin:0;font-size:13px;font-weight:500}.petcard-sections{flex-direction:column;gap:14px;padding:16px 20px 20px;display:flex}.petcard-section{background:#fafafa;border:1px solid #f0f0f0;border-radius:12px;padding:14px 16px}.petcard-section.urgent{background:#fff8e1;border:2px solid #ffcc02}.section-title{color:#555;letter-spacing:.03em;margin-bottom:8px;font-size:13px;font-weight:700}.petcard-section.urgent .section-title{color:#f57f17}.section-row{border-bottom:1px solid #eee;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:15px;display:flex}.section-row:last-child{border-bottom:none}.section-row span:first-child{color:#555;flex-shrink:0;margin-right:12px;font-size:13px}.section-row span:last-child{color:#333;text-align:right;font-weight:700}.section-text{color:#333;font-size:15px;line-height:1.6}.tel-link{color:#1976d2;font-size:16px;font-weight:700;text-decoration:none}.petcard-footer{text-align:center;color:#777;padding:40px 20px}.petcard-footer-brand{color:#333;justify-content:center;align-items:center;margin-bottom:10px;font-size:17px;font-weight:700;display:flex}.petcard-footer-logo{vertical-align:middle;width:auto;height:22px;margin-right:6px}.petcard-footer-links{margin:0;font-size:13px}.petcard-footer-links a{color:#0d8a8a;text-decoration:underline}.privacy-page{background:#e8d5b7;min-height:100vh;font-family:Kosugi Maru,sans-serif}.privacy-header{z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0;box-shadow:0 3px 12px #ff70431a}.privacy-header .btn-back{color:var(--accent,#ff7043);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:14px;font-weight:700}.privacy-header .logo{color:var(--accent,#ff7043);font-size:18px;font-weight:800}.privacy-main{max-width:720px;margin:0 auto;padding:24px 20px 60px}.privacy-main h1{color:#333;text-align:center;margin:0 0 4px;font-size:24px}.privacy-updated{text-align:center;color:#555;margin:0 0 24px;font-size:12px}.privacy-intro{color:#555;background:#fff;border-radius:12px;margin-bottom:24px;padding:16px 20px;font-size:14px;line-height:1.7;box-shadow:0 2px 8px #0000000a}.privacy-section{background:#fff;border-radius:12px;margin-bottom:16px;padding:20px;box-shadow:0 2px 8px #0000000a}.privacy-section h2{color:var(--accent,#ff7043);border-bottom:2px solid var(--accent-light,#fff3f0);margin:0 0 12px;padding-bottom:8px;font-size:17px}.privacy-section p{color:#555;margin:0 0 12px;font-size:14px;line-height:1.7}.privacy-section p:last-child{margin-bottom:0}.privacy-section ul{margin:0 0 12px;padding-left:24px}.privacy-section li{color:#555;margin-bottom:4px;font-size:14px;line-height:1.8}.privacy-section a{color:var(--accent,#ff7043);text-decoration:underline}.privacy-section a:hover{color:#e64a19}.btn-back-bottom{border:2px solid var(--accent-border,#ffccbc);color:var(--accent,#ff7043);cursor:pointer;background:#fff;border-radius:24px;margin:32px auto 0;padding:12px 32px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:block}.btn-back-bottom:hover{background:var(--accent-light,#fff3f0);transform:translateY(-1px)}.decorations{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.deco{opacity:.12;-webkit-user-select:none;user-select:none;font-size:28px;animation:6s ease-in-out infinite float;position:absolute}.deco-0{font-size:32px;animation-delay:0s;top:5%;left:3%}.deco-1{font-size:24px;animation-delay:1s;top:12%;left:88%}.deco-2{font-size:20px;animation-delay:2s;top:25%;left:10%}.deco-3{opacity:.08;font-size:36px;animation-delay:.5s;top:30%;left:80%}.deco-4{font-size:22px;animation-delay:3s;top:50%;left:5%}.deco-5{font-size:28px;animation-delay:1.5s;top:55%;left:92%}.deco-6{opacity:.08;font-size:34px;animation-delay:2.5s;top:72%;left:15%}.deco-7{font-size:26px;animation-delay:.8s;top:85%;left:85%}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-12px)rotate(5deg)}66%{transform:translateY(6px)rotate(-3deg)}}
