:root{color-scheme:light;--color-primary: #00838f;--color-primary-hover: #006f83;--color-primary-strong: #005a6b;--color-primary-dark: #003240;--color-primary-tint: #e0f7f9;--color-on-dark-muted: #c8f8ff;--color-accent-bright: #fbbf24;--color-surface: #ffffff;--color-surface-cream-warm: #edf3f3;--color-surface-subtle: #f6f9f9;--color-border: #d5e0e2;--color-border-strong: #7a8c93;--color-text-body: #22343c;--color-text-muted: #4a5e66;--color-text-light: #ffffff;--color-error: #b91c1c;--color-warning: #b45309;--color-focus-ring: #003240;--font-sans: "IBM Plex Sans JP", "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-button: 12px;--radius-lg: 12px;--radius-card-morph: 16px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);font-family:var(--font-sans);line-height:1.7;color:var(--color-text-body);background-color:var(--color-surface)}body{margin:0;background:var(--color-surface)}#root{min-height:100vh;display:flex;flex-direction:column}.app{width:100%;max-width:36rem;margin:0 auto;padding:var(--space-xl) var(--space-md) var(--space-xxl);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-md);flex:1 0 auto}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.app h1{font-size:clamp(1.6rem,4vw,2rem);font-weight:700;line-height:1.3;color:var(--color-primary-dark);letter-spacing:-.02em;font-feature-settings:"palt" 1;margin:0 0 var(--space-xs)}.mode-toggle{display:inline-flex;gap:2px;border:1px solid var(--color-border-strong);border-radius:var(--radius-button);background:var(--color-surface);margin:0;padding:3px}.mode-toggle-option{font:inherit;padding:var(--space-sm) var(--space-md);background:transparent;border:none;color:var(--color-text-body);cursor:pointer;font-weight:700;min-height:44px;border-radius:var(--radius-md);transition:background-color .2s ease,color .2s ease}.mode-toggle-option:hover{background:var(--color-surface-cream-warm)}.mode-toggle-option.active{background:var(--color-primary-hover);color:var(--color-text-light)}.lead{font-size:1rem;margin:0 0 var(--space-sm);color:var(--color-text-muted)}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);background:var(--color-surface)}.card h2{margin:0 0 var(--space-sm);font-size:1.125rem;font-weight:700;line-height:1.45;font-feature-settings:"palt" 1;color:var(--color-primary-dark)}.form-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.form-row label{color:var(--color-text-body);font-weight:700}.form-row input[type=text]{flex:2 1 8rem;min-width:0}.form-row input[type=number]{flex:1 1 5rem;min-width:0}.form-row input,.form-row button{font:inherit;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-body);min-height:44px}.form-row input{background:var(--color-surface-subtle)}.form-row input::placeholder{color:var(--color-text-muted)}.form-row button[type=submit]{cursor:pointer;background:var(--color-primary-hover);color:var(--color-text-light);border-color:transparent;border-radius:var(--radius-button);font-weight:700;transition:border-radius .45s var(--ease-spring),transform .45s var(--ease-spring),background-color .2s ease}.form-row button[type=submit]:hover{background:var(--color-primary-strong);border-radius:28px;transform:translateY(-3px)}.form-row button[type=submit]:active{border-radius:32px;transform:scale(.96)}.form-row button[type=submit]:disabled{opacity:.5;cursor:not-allowed;background:var(--color-primary-hover);border-radius:var(--radius-button);transform:none}.empty{margin:0;color:var(--color-text-muted);font-size:.9375rem}.snack-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.snack-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.snack-item:last-child{border-bottom:none}.snack-name{flex:1 1 auto;min-width:0;word-break:break-word;color:var(--color-text-body)}.snack-price{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--color-primary-dark);font-weight:700}.snack-item button{flex:0 0 auto;font:inherit;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-button);border:1px solid var(--color-primary-dark);background:var(--color-surface);color:var(--color-primary-dark);cursor:pointer;min-height:44px;font-weight:700;transition:background-color .2s ease}.snack-item button:hover{background:var(--color-surface-cream-warm)}.summary{display:flex;flex-direction:column;gap:var(--space-sm)}.summary .total,.summary .remaining{display:flex;justify-content:space-between;align-items:baseline;margin:0;font-size:1.125rem}.summary strong{font-variant-numeric:tabular-nums;font-size:1.375rem;color:var(--color-primary-dark)}.summary .total.over strong{color:var(--color-error)}.warning{margin:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-error);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-error);font-weight:700;display:flex;align-items:center;gap:var(--space-sm)}.warning:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--color-error);color:var(--color-text-light);font-weight:700;flex-shrink:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}.child-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-xs);padding-bottom:var(--space-xs)}.child-tab{display:flex;align-items:stretch;min-width:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-button);background:var(--color-surface);transition:border-color .2s ease,background-color .2s ease}.child-tab:hover{border-color:var(--color-primary-hover)}.child-tab.active{border-color:var(--color-primary-hover);background:var(--color-primary-tint)}.child-tab-name,.child-tab-remove,.child-tab-add{font:inherit;background:transparent;color:var(--color-text-body);border:none;cursor:pointer;padding:var(--space-sm) var(--space-sm);min-height:44px}.child-tab-name{flex:1 1 auto;min-width:0;font-weight:700;text-align:center;border-radius:calc(var(--radius-button) - 1px) 0 0 calc(var(--radius-button) - 1px);white-space:normal;word-break:keep-all;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2}.child-tab.active .child-tab-name{color:var(--color-primary-dark)}.child-tab-remove{flex:0 0 auto;padding:var(--space-sm) var(--space-xs);border-radius:0 calc(var(--radius-button) - 1px) calc(var(--radius-button) - 1px) 0;color:var(--color-text-muted);font-size:1rem}.child-tab-remove:hover{color:var(--color-primary-dark);background:var(--color-surface-cream-warm)}.child-tab-remove:disabled{opacity:.4;cursor:not-allowed;background:transparent}.child-tab-add{min-width:0;border:1px dashed var(--color-border-strong);border-radius:var(--radius-button);padding:var(--space-sm) var(--space-sm);font-weight:700;color:var(--color-text-muted);background:transparent;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.child-tab-add:hover{background:var(--color-surface-cream-warm);border-color:var(--color-primary-hover);color:var(--color-primary-dark)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:0;box-shadow:0 0 0 4px var(--color-accent-bright)}:focus:not(:focus-visible){outline:none}@media(prefers-contrast:high){:focus-visible{outline-width:3px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none;transition:none}.form-row button[type=submit]:hover,.form-row button[type=submit]:active{transform:none}}.child-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;margin:0 -.375rem}.child-track::-webkit-scrollbar{display:none}.child-track-item{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;padding:.375rem;box-sizing:border-box}.child-panel{display:flex;flex-direction:column;gap:1rem}.child-dots{display:flex;justify-content:center;gap:.5rem;margin-top:-.25rem}.child-dot{display:block;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-border-strong);transition:background-color .2s ease}.child-dot.active{background:var(--color-primary-hover)}@media(prefers-reduced-motion:reduce){.child-track{scroll-behavior:auto}.child-dot{transition:none}}@media(max-width:480px){.app{padding:1rem .5rem}.form-row input,.form-row button{min-height:2.75rem;padding:.55rem .75rem}.snack-item{gap:.5rem}.snack-item button{min-height:2.75rem;padding:.45rem .7rem}.child-tab-name,.child-tab-remove,.child-tab-add{min-height:3rem}}.app-footer{background:var(--color-primary-dark);color:var(--color-on-dark-muted);font-size:.9375rem}.app-footer-inner{max-width:36rem;box-sizing:border-box;margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-xl)}.app-footer-brand{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-md);margin-bottom:var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--color-text-light) 24%,transparent)}.app-footer-logo{display:inline-block;align-self:flex-start;border-radius:var(--radius-sm)}.app-footer-logo img{display:block;height:48px;width:auto}.app-footer-brand p{margin:0;line-height:1.6}.app-footer-links{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);margin:0;padding:0;list-style:none}.app-footer summary{cursor:pointer;min-height:44px;padding:var(--space-sm) 0;box-sizing:border-box;font-weight:700;color:var(--color-text-light);list-style-position:inside}.app-footer-content{padding:var(--space-xs) 0 var(--space-sm) var(--space-md)}.app-footer-content p{margin:0 0 var(--space-sm);line-height:1.6}.app-footer-content p:last-child{margin-bottom:0}.app-footer-content ul{margin:0;padding-left:var(--space-md)}.app-footer-content li{margin-bottom:var(--space-xs)}.app-footer a{color:var(--color-text-light);text-decoration:underline;text-underline-offset:.2em}.app-footer a:hover{text-decoration-thickness:2px}@media(max-width:480px){.app-footer-inner{padding:var(--space-lg) .75rem}}
