:root{color-scheme:light;--color-primary: #005a6b;--color-secondary: #00838f;--color-surface: #ffffff;--color-surface-alt: #f1f5f9;--color-text-light: #ffffff;--color-text-body: #1e293b;--color-text-dark: #0f172a;--color-text-muted: #64748b;--color-warning-bg: #fee2e2;--color-warning-text: #991b1b;--color-divider: #e2e3e5;--font-display: "Zen Maru Gothic", "BIZ UDPGothic", "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--font-body: "M PLUS Rounded 1c", "BIZ UDPGothic", "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 10px 24px rgba(0, 90, 107, .12);font-family:var(--font-body);line-height:1.65;color:var(--color-text-body);background-color:var(--color-surface)}body{margin:0;min-height:100vh;background:var(--color-surface)}.app{max-width:36rem;margin:0 auto;padding:var(--space-xl) var(--space-md) var(--space-xxl);display:flex;flex-direction:column;gap:var(--space-md)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.app h1{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2rem);font-weight:700;color:var(--color-text-dark);letter-spacing:.02em;margin:0 0 var(--space-xs)}.mode-toggle{display:inline-flex;border:1px solid var(--color-divider);border-radius:var(--radius-full);background:var(--color-surface);overflow:hidden;margin:0;padding:2px;box-shadow:var(--shadow-sm)}.mode-toggle-option{font:inherit;font-family:var(--font-body);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-full);transition:background-color .15s ease,color .15s ease}.mode-toggle-option:hover{background:var(--color-surface-alt)}.mode-toggle-option.active{background:var(--color-secondary);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-divider);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-md) var(--space-md);background:var(--color-surface);box-shadow:var(--shadow-md);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-lg)}.card h2{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--color-text-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;font-family:var(--font-body);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text-body);min-height:44px}.form-row input::placeholder{color:var(--color-text-muted)}.form-row input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.form-row button[type=submit]{cursor:pointer;background:var(--color-primary);color:var(--color-text-light);border-color:transparent;font-weight:700;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,filter .15s ease}.form-row button[type=submit]:hover{box-shadow:var(--shadow-md);filter:brightness(1.05)}.form-row button[type=submit]:active{animation:ensoku-pop .18s ease-out 1}.form-row button[type=submit]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@keyframes ensoku-pop{0%{transform:scale(1)}40%{transform:scale(.97)}to{transform:scale(1)}}.empty{margin:0;color:var(--color-text-muted);font-size:.95rem}.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-divider)}.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-text-dark);font-weight:700}.snack-item button{flex:0 0 auto;font:inherit;font-family:var(--font-body);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;min-height:44px;font-weight:700;transition:background-color .15s ease,color .15s ease}.snack-item button:hover{background:var(--color-primary);color:var(--color-text-light)}.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.1rem}.summary strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.35rem;color:var(--color-text-dark)}.summary .total.over strong{color:var(--color-primary)}.warning{margin:0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning-text);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:var(--radius-full);background:var(--color-warning-text);color:var(--color-warning-bg);font-family:var(--font-display);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-divider);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}.child-tab:hover{box-shadow:var(--shadow-md)}.child-tab.active{border-color:var(--color-primary);background:var(--color-surface-alt);box-shadow:var(--shadow-md)}.child-tab-name,.child-tab-remove,.child-tab-add{font:inherit;font-family:var(--font-body);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;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)}.child-tab-remove{flex:0 0 auto;padding:var(--space-sm) var(--space-xs);color:var(--color-text-muted);font-size:.95rem}.child-tab-remove:hover{color:var(--color-primary);background:var(--color-surface-alt)}.child-tab-remove:disabled{opacity:.4;cursor:not-allowed;background:transparent}.child-tab-add{min-width:0;border:1.5px dashed var(--color-text-muted);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-sm);font-weight:700;color:var(--color-text-muted);background:transparent;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.child-tab-add:hover{background:var(--color-surface-alt);border-color:var(--color-primary);color:var(--color-primary)}button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none;transition: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 -.25rem}.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:0 .25rem;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:#7f7f7f66;transition:background-color .2s ease}.child-dot.active{background:var(--color-primary)}@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.5rem;padding:.45rem .7rem}.child-tab-name,.child-tab-remove,.child-tab-add{min-height:3rem}}.app-footer{max-width:36rem;margin:0 auto;padding:var(--space-md) var(--space-md) var(--space-xl);color:var(--color-text-muted);font-size:.9rem;border-top:1px solid var(--color-divider)}.app-footer-section+.app-footer-section{margin-top:var(--space-sm)}.app-footer summary{cursor:pointer;min-height:44px;padding:var(--space-sm) 0;font-weight:700;color:var(--color-text-body);list-style-position:inside;transition:color .15s ease}.app-footer summary:hover,.app-footer-section[open]>summary{color:var(--color-primary)}.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-primary);text-decoration:underline}.app-footer a:hover{filter:brightness(1.1)}@media(max-width:480px){.app-footer{padding:var(--space-md) .5rem var(--space-lg)}}
