:root{--bg: #f6f6f7;--surface: #ffffff;--text: #111111;--text-muted: #5f5f67;--border: #e2e2e6;--primary: #111111;--on-primary: #ffffff;--danger: #b3261e;--danger-bg: #fdecea;--info-bg: #eef2ff;--success: #1b6e43;--success-bg: #e8f6ee;--focus: #2f5bea;--c-common: #4f6df5;--c-1: #e0663f;--c-2: #2f9e8f;--radius: 18px;--radius-sm: 12px;--nav-h: 76px;--tap: 48px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.45;-webkit-text-size-adjust:100%}:root[data-theme=dark]{--bg: #0e0e10;--surface: #19191c;--text: #f3f3f5;--text-muted: #a4a4ad;--border: #2c2c31;--primary: #f3f3f5;--on-primary: #111111;--danger: #ff8a80;--danger-bg: #3a1a18;--info-bg: #1b2140;--success: #6fd6a0;--success-bg: #14301f;--focus: #8fa8ff}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--text);font-weight:600}h1,h2,h3,p{margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.brand{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.h1{font-size:1.75rem;line-height:1.2;font-weight:700}.h2{font-size:1.35rem;font-weight:700}.h3{font-size:1.1rem;font-weight:700}.label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.value{font-size:1.1rem;font-weight:600;word-break:break-word}.muted{color:var(--text-muted)}.center-text{text-align:center}code{background:var(--bg);padding:2px 6px;border-radius:6px;font-size:.9em}.stack{display:flex;flex-direction:column;gap:16px}.stack-lg{display:flex;flex-direction:column;gap:24px}.fullscreen-center{min-height:100dvh;display:grid;place-items:center;padding:24px}.fullscreen-center>.card{width:100%;max-width:420px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:18px;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:28px 22px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600;font-size:.95rem}.field-hint{font-size:.85rem;color:var(--text-muted)}.input{width:100%;min-height:var(--tap);padding:10px 14px;font:inherit;font-size:1rem;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm)}.input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.input-code{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:12px 20px;font:inherit;font-weight:600;text-decoration:none;border-radius:var(--radius-sm);border:1.5px solid transparent;cursor:pointer;width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-ghost{background:transparent;color:var(--text-muted)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.seg{min-height:44px;font:inherit;font-weight:600;color:var(--text-muted);background:transparent;border:0;border-radius:9px;cursor:pointer}.seg-active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.alert{padding:12px 14px;border-radius:var(--radius-sm);font-size:.95rem}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-info{background:var(--info-bg);color:var(--text)}.alert-success{background:var(--success-bg);color:var(--success)}.invite-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.7rem;font-weight:700;letter-spacing:.14em;text-align:center;padding:18px 12px;background:var(--bg);border:1.5px dashed var(--border);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all;word-break:break-all}.spinner-wrap{display:grid;place-items:center;padding:24px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.app-shell{min-height:100dvh}.app-main{max-width:640px;margin:0 auto;padding:20px 16px calc(var(--nav-h) + 32px + env(safe-area-inset-bottom))}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.icon-button{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);flex:none;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:50%}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.member-list li{display:flex;align-items:center;gap:10px;font-weight:600}.dot{width:12px;height:12px;border-radius:50%;flex:none}.tone-common{background:var(--c-common)}.tone-1{background:var(--c-1)}.tone-2{background:var(--c-2)}.budget-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.budget-card{display:flex;flex-direction:column;gap:10px;min-height:110px;border-top-width:4px}.tone-common-card{border-top-color:var(--c-common)}.tone-1-card{border-top-color:var(--c-1)}.tone-2-card{border-top-color:var(--c-2)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:1fr 1fr 84px 1fr 1fr;align-items:center;max-width:640px;margin:0 auto;min-height:var(--nav-h);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}@media(min-width:680px){.bottom-nav{bottom:16px;border:1px solid var(--border);border-radius:24px}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:var(--tap);font-size:.75rem;font-weight:600;text-decoration:none;color:var(--text-muted);border-radius:var(--radius-sm)}.nav-item-active{color:var(--text)}.nav-fab-slot{display:grid;place-items:center}.nav-fab{display:grid;place-items:center;width:60px;height:60px;margin-top:-28px;color:var(--on-primary);background:var(--primary);border:4px solid var(--surface);border-radius:50%;box-shadow:0 4px 12px #0003}.nav-fab:disabled{opacity:.4;cursor:not-allowed}
