.checkbox-item input[type=checkbox]:checked{border-color:#ff8fa3;background:#ff8fa3;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3.5 8.5 6.8 11.5 12.5 5'/></svg>");background-repeat:no-repeat;background-position:center;background-size:14px 14px}:root{font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.3;margin:0 0 .5rem}p{margin:0 0 .5rem}html{font-size:clamp(14px,4vw,16px)}input[type=checkbox]{width:1rem;height:1rem;margin:0;flex-shrink:0}.font-serif{font-family:"Noto Serif JP",Yu Mincho,YuMincho,游明朝,Hiragino Mincho ProN,Hiragino Mincho Pro,MS PMincho,serif}:root{--bg: #f8f8ff;--primary: #7fffd4;--primary-dark: #66e6c2;--accent: #ffb6c1;--dark: #333333;--light: #ffffff;--text-primary: #333333;--text-secondary: rgba(0, 0, 0, .6);--text-on-dark: #ffffff;--border: #ffb6c1;--shadow: none;--radius: .75rem;--radius-sm: .5rem;--radius-full: 999px;--nav-height: 3.75rem}input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none}input[type=password]::-webkit-credentials-auto-fill-button{display:none}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;background:var(--bg);color:var(--text-primary)}#root{min-height:100vh}.screen{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.page-content{flex:1;padding:1.25rem;max-width:600px;width:100%;margin:0 auto;overflow-wrap:anywhere;word-break:break-word;min-width:0;box-sizing:border-box}.card,.form-group{overflow-wrap:anywhere;word-break:break-word;min-width:0}.page-header{background:var(--accent);color:var(--text-on-dark);padding:.875rem 1.25rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 2px 8px #ffb6c159;position:sticky;top:0;z-index:10}.page-header h1{margin:0;font-size:1.1rem;font-weight:700;flex:1}.back-btn{background:none;border:none;color:var(--text-on-dark);font-size:1.3rem;cursor:pointer;padding:.25rem;line-height:1}.card{background:var(--light);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);padding:1rem 1.125rem;box-shadow:none}.btn{width:100%;padding:.8rem 1.25rem;border-radius:var(--radius-full);font-size:1rem;font-weight:500;cursor:pointer;border:none;transition:opacity .15s,transform .1s;display:block;font-family:inherit}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{background:#e0e0e0!important;color:#9e9e9e!important;border-color:#e0e0e0!important;box-shadow:none!important;cursor:not-allowed;opacity:1}.btn-primary{background:linear-gradient(135deg,#ffb6c1,#ff8fa3);color:#fff;font-weight:700;box-shadow:0 4px 16px #ffb6c166}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#ff8fa3,#ff6b85)}.btn-secondary{background:#fff;border:2px solid var(--accent);color:var(--accent);font-weight:600}.btn-danger{background:var(--accent);color:#fff}.btn-outline-dark{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:var(--text-on-dark)}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.875rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--accent)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .875rem;border:1.5px solid #e0e0e0;border-radius:var(--radius-sm);font-size:.95rem;color:var(--text-primary);background:var(--light);outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#bbb;box-shadow:0 0 0 3px #0000000f}.form-group textarea{min-height:5rem;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.error-msg{font-size:.85rem;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:.5rem .75rem;margin:0}.success-msg{font-size:.85rem;color:var(--dark);background:#7fffd426;border:1px solid var(--primary);border-radius:var(--radius-sm);padding:.5rem .75rem;margin:0}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:var(--radius-sm);background:var(--light);border:1.5px solid #e0e0e0;cursor:pointer;font-size:.85rem;color:var(--text-primary);transition:border-color .15s;-webkit-user-select:none;user-select:none}.checkbox-item input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin:0;flex-shrink:0;border:1.5px solid #bdbdbd;border-radius:3px;background:#fff;cursor:pointer;position:relative;transition:border-color .15s,background .15s}.checkbox-item input[type=checkbox]:checked{border-color:#ff8fa3;background:#ff8fa3;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3.5 8.5 6.8 11.5 12.5 5'/></svg>");background-repeat:no-repeat;background-position:center;background-size:14px 14px}.checkbox-item.checked{border-color:#ff8fa3;background:#ff8fa31f}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);gap:1rem}.spinner{width:2.5rem;height:2.5rem;border:3px solid rgba(255,182,193,.25);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:var(--text-primary);font-size:.95rem;margin:0}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{display:block;background:linear-gradient(90deg,#eee,#f6f6f6,#eee);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm);position:relative}.skeleton-circle{border-radius:50%}.skeleton-line{height:.75rem;margin:.35rem 0}.skeleton-card{background:var(--light);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);padding:1rem 1.125rem;box-shadow:none;margin-bottom:.75rem}.skeleton-header{height:3rem;background:linear-gradient(90deg,#ffd6dc,#ffe4e8,#ffd6dc);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.skeleton,.skeleton-header{animation:none}}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem 1.25rem .75rem;position:sticky;top:3.1rem;z-index:9;background:var(--bg);border-bottom:1px solid rgba(0,0,0,.06)}.step-dots{display:flex;align-items:center;gap:.35rem}.step-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .2s}.step-dot.active{background:var(--primary)}.step-dot.done{background:var(--primary-dark)}.progress-bar{width:100%;max-width:300px;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--primary),var(--primary-dark));transition:width .3s ease}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid rgba(255,182,193,.3)}.toggle-row label{font-size:.9rem;color:var(--text-primary)}.toggle-group{display:flex;gap:.5rem}.toggle-btn{padding:.3rem .75rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--light);color:var(--text-secondary);transition:all .15s;font-family:inherit}.toggle-btn.selected{border-color:var(--primary);background:var(--primary);color:var(--dark)}.divider{border:none;border-top:1px solid rgba(255,182,193,.3);margin:1rem 0}.navbar{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height, 3.75rem);background:#fff;display:flex;align-items:stretch;border-top:none;box-shadow:0 -1px 3px #0000001f,0 -1px 2px #00000014;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;border:none;background:none;color:#bdbdbd;font-size:.65rem;font-weight:600;font-family:inherit;transition:color .15s}.nav-item.active{color:#ff8fa3}.nav-item .nav-icon{font-size:1.5rem;line-height:1}.nav-badge{position:absolute;top:-2px;right:-6px;width:10px;height:10px;padding:0;border-radius:50%;background:#e53935;color:transparent;font-size:0;font-family:inherit;box-sizing:border-box;border:2px solid #ffffff;pointer-events:none}
