@import"https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap";:root{--bg-color: #faf7f2;--panel-bg: #ffffff;--well-bg: #f6f1e9;--border-color: #e6ddd0;--text-primary: #40372c;--text-secondary: #857a6a;--accent-color: #d9480f;--accent-hover: #bf400d;--accent-soft: #fdeee3;--danger-color: #c92a2a;--danger-hover: #a61e1e;--success-color: #2f9e44;--success-hover: #2b8a3e;--border-radius-lg: 18px;--border-radius-md: 10px;--shadow-sm: 0 1px 2px rgba(64, 55, 44, .06), 0 2px 8px rgba(64, 55, 44, .06);--shadow-lg: 0 2px 4px rgba(64, 55, 44, .05), 0 12px 32px rgba(64, 55, 44, .1);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--transition: background-color .15s var(--ease-out), border-color .15s var(--ease-out), color .15s var(--ease-out), box-shadow .15s var(--ease-out), transform .15s var(--ease-out), opacity .15s var(--ease-out)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Zen Kaku Gothic New,Hiragino Kaku Gothic ProN,Yu Gothic UI,system-ui,sans-serif;background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh;width:100%}h1,h2,h3{font-family:"M PLUS Rounded 1c",Zen Kaku Gothic New,sans-serif;font-weight:700;letter-spacing:.01em}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:.95rem;font-weight:500;border-radius:var(--border-radius-md);transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,.input-field:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.btn-primary{background-color:var(--accent-color);color:#fff;padding:.75rem 1.5rem;box-shadow:var(--shadow-sm)}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:scale(.98);transition-duration:60ms}.btn-secondary{background-color:var(--panel-bg);color:var(--text-primary);border:1px solid var(--border-color);padding:.75rem 1.5rem}@media(hover:hover)and (pointer:fine){.btn-primary:hover:not(:disabled){background-color:var(--accent-hover);box-shadow:0 3px 10px #d9480f40}.btn-secondary:hover:not(:disabled){background-color:var(--well-bg);border-color:#d5c9b8}}.container{max-width:1000px;margin:0 auto;padding:2rem;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.app-header{text-align:center;margin-bottom:2.5rem}.app-header h1{font-size:2.3rem;font-weight:800;margin-bottom:.6rem;color:var(--text-primary)}.app-header h1 .title-marker{background:linear-gradient(transparent 64%,#ffd8a8 64%,#ffd8a8 94%,transparent 94%);padding:0 .1em}.app-header p{color:var(--text-secondary);font-size:1.05rem}.glass-panel{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-lg);width:100%}.fade-in{animation:fadeIn .24s var(--ease-out)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.fade-in{animation:fadeInReduced .2s ease}@keyframes fadeInReduced{0%{opacity:0}to{opacity:1}}}.input-field{width:100%;padding:.75rem 1rem;font-size:1.1rem;font-family:inherit;background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-primary);transition:var(--transition)}.input-field:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #d9480f1f}.input-field[type=number]::-webkit-inner-spin-button,.input-field[type=number]::-webkit-outer-spin-button{height:3rem;width:1.5rem;opacity:1;cursor:pointer}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-2{margin-bottom:1rem}.mb-4{margin-bottom:2rem}.w-full{width:100%}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}
