:root{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--card-bg: #f3f4f6;--input-bg: #ffffff;--text-primary: #111827;--text-secondary: #6b7280;--border-color: #e5e7eb;--accent-color: #3b82f6;--accent-hover: #2563eb;--warning-bg: #fef3c7;--warning-text: #92400e;--danger-bg: #fee2e2;--danger-text: #dc2626;--success-color: #10b981}@media (prefers-color-scheme: dark){:root{--bg-primary: #111827;--bg-secondary: #1f2937;--card-bg: #1f2937;--input-bg: #374151;--text-primary: #f9fafb;--text-secondary: #9ca3af;--border-color: #374151;--warning-bg: #78350f;--warning-text: #fde68a;--danger-bg: #7f1d1d;--danger-text: #fca5a5}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);overscroll-behavior:none}input,button,select,textarea{font-family:inherit;font-size:inherit;color:inherit}input:focus,button:focus,select:focus{outline:2px solid var(--accent-color);outline-offset:1px}input[type=number]:focus,input[type=text]:focus{user-select:all;-webkit-user-select:all}.modal-overlay{position:fixed;inset:0;z-index:100;background:#00000080;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease}.modal-sheet{background:var(--bg-primary, #fff);border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));animation:slideUp .2s ease;display:flex;flex-direction:column;gap:12px}.modal-sheet__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-sheet__title{font-weight:700;font-size:1.1rem}.modal-sheet__close{width:32px;height:32px;border:none;background:var(--card-bg, #f3f4f6);border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
