:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Hiragino Sans,Yu Gothic,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{color:#1c1c1c;background:#f5f5f4;justify-content:center;margin:0;display:flex}#root{background:#fff;flex-direction:column;width:100%;max-width:480px;height:100dvh;display:flex}h1,h2,h3{margin:0 0 .5rem}button{font-family:inherit}a{color:#2563eb}.loading{text-align:center;color:#777;padding:2rem}.passphrase-gate{flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.passphrase-gate form{text-align:center;flex-direction:column;gap:.75rem;width:100%;display:flex}.passphrase-gate input{text-align:center;border:1px solid #ccc;border-radius:8px;padding:.75rem;font-size:1.1rem}.passphrase-gate button[type=submit],.member-gate-item{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.75rem;font-size:1rem}.passphrase-gate button:disabled{background:#93b4f0}.error{color:#dc2626;margin:0;font-size:.9rem}.member-gate{flex:1;padding:1.5rem;overflow-y:auto}.member-gate-list{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.member-gate-item{color:#1c1c1c;text-align:left;background:#fff;border:2px solid #ccc;font-size:1.05rem}.app-shell{flex-direction:column;flex:1;min-height:0;display:flex}.app-main{flex:1;padding:1rem 1rem 1.5rem;position:relative;overflow-y:auto}.page h1{font-size:1.3rem}.tab-bar{background:#fff;border-top:1px solid #e5e5e5;flex-shrink:0;display:flex}.tab-bar-item{padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));color:#888;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;font-size:.7rem;display:flex}.tab-bar-item.active{color:#2563eb;font-weight:700}.tab-bar-icon{font-size:1.2rem}.card{background:#fafafa;border:1px solid #eee;border-radius:12px;margin-bottom:1rem;padding:1rem}.card label{color:#555;margin-bottom:.75rem;font-size:.85rem;display:block}.card input:not([type=checkbox]),.card select,.card textarea{border:1px solid #ccc;border-radius:6px;width:100%;margin-top:.25rem;padding:.5rem;font-family:inherit;font-size:.95rem;display:block}.link-button{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:.4rem 0;font-size:.9rem;text-decoration:none;display:inline-block}.text-button{color:#888;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.8rem}.inline-form{gap:.5rem;display:flex}.inline-form input{flex:1}.inline-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:.5rem .75rem}.badge{color:#2545a8;background:#e5ebff;border-radius:999px;margin-right:.35rem;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.fab{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:999px;padding:.75rem 1.1rem;font-size:.95rem;position:absolute;bottom:1rem;right:1rem;box-shadow:0 4px 10px #2563eb66}.modal-backdrop{z-index:10;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-form{background:#fff;border-radius:16px 16px 0 0;flex-direction:column;gap:.75rem;width:100%;max-width:480px;max-height:85vh;padding:1.25rem;display:flex;overflow-y:auto}.modal-form label{color:#555;font-size:.85rem;display:block}.modal-form input,.modal-form select,.modal-form textarea{border:1px solid #ccc;border-radius:6px;width:100%;margin-top:.25rem;padding:.5rem;font-family:inherit;font-size:.95rem;display:block}.modal-form fieldset{border:1px solid #ddd;border-radius:8px}.modal-form .checkbox-label{align-items:center;gap:.4rem;margin:.25rem 0;font-size:.9rem;display:flex}.modal-form .checkbox-label input{width:auto;margin:0}.form-row{gap:.75rem;display:flex}.form-row label{flex:1}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.modal-actions button{cursor:pointer;border:none;border-radius:8px;padding:.6rem 1rem}.modal-actions button[type=submit]{color:#fff;background:#2563eb}.modal-actions button[type=button]{color:#333;background:#eee}.home-greeting{color:#555;margin-top:-.25rem}.schedule-preview{text-align:left;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;padding:.6rem .75rem;display:block}.schedule-preview-time{color:#2563eb;font-size:.8rem}.schedule-preview-title{font-weight:700}.home-links{gap:.5rem;display:flex}.home-links button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;flex:1;padding:.6rem}.day-tabs{gap:.4rem;margin-bottom:1rem;display:flex;overflow-x:auto}.day-tab{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:999px;flex-shrink:0;padding:.5rem .75rem;font-size:.85rem}.day-tab.active{color:#fff;background:#2563eb;border-color:#2563eb}.schedule-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.schedule-item{background:#fafafa;border:1px solid #eee;border-radius:10px;gap:.75rem;padding:.75rem;display:flex}.schedule-item.nearest{background:#eef3ff;border-color:#2563eb}.schedule-item-time{color:#555;font-variant-numeric:tabular-nums;flex-shrink:0;width:4.5rem;font-size:.85rem}.schedule-item-title{font-weight:700}.schedule-item-place,.schedule-item-note{color:#555;margin-top:.15rem;font-size:.85rem}.schedule-item-actions{gap:.75rem;margin-top:.4rem;font-size:.85rem;display:flex}.sort-tabs{gap:.4rem;margin-bottom:1rem;display:flex;overflow-x:auto}.sort-tabs button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:999px;flex-shrink:0;padding:.4rem .7rem;font-size:.8rem}.sort-tabs button.active{color:#fff;background:#2563eb;border-color:#2563eb}.spot-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.spot-card{background:#fafafa;border:1px solid #eee;border-radius:12px;padding:.9rem}.spot-card-header{justify-content:space-between;align-items:start;display:flex}.spot-badges{margin:.25rem 0}.spot-address,.spot-note{color:#555;margin:.25rem 0;font-size:.85rem}.spot-links{margin:.25rem 0;font-size:.85rem}.vote-buttons{gap:.4rem;margin-top:.6rem;display:flex}.vote-button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;flex:1;padding:.5rem 0;font-size:.85rem}.vote-button.selected.want{background:#dcfce7;border-color:#22c55e}.vote-button.selected.ok{background:#fef9c3;border-color:#eab308}.vote-button.selected.pass{background:#fee2e2;border-color:#ef4444}.vote-summary{color:#555;margin-top:.6rem;font-size:.8rem}.vote-summary-row{gap:.4rem;display:flex}.vote-summary-label{flex-shrink:0;font-weight:700}.balance-list,.transaction-list,.expense-list{margin:0;padding:0;list-style:none}.balance-row{justify-content:space-between;padding:.3rem 0;display:flex}.balance-row .positive{color:#16a34a;font-weight:700}.balance-row .negative{color:#dc2626;font-weight:700}.transaction-list{border-top:1px solid #eee;margin-top:.5rem;padding-top:.5rem}.transaction-list li{padding:.2rem 0;font-size:.9rem}.expense-row{border-bottom:1px solid #eee;justify-content:space-between;gap:.5rem;padding:.6rem 0;display:flex}.expense-row:last-child{border-bottom:none}.expense-title{font-weight:700}.expense-meta,.expense-bearers{color:#555;margin-top:.15rem;font-size:.8rem}.expense-amount{text-align:right;white-space:nowrap;flex-shrink:0;font-weight:700}.expense-amount .text-button{margin-top:.3rem;display:block}.checklist-new-input{border:1px solid #ccc;border-radius:6px;width:100%;margin-bottom:.75rem;padding:.5rem;font-size:.95rem}.checklist-group{margin-bottom:1rem}.checklist-group h3{color:#555;font-size:.9rem}.checklist-items{margin:0;padding:0;list-style:none}.checklist-item{justify-content:space-between;align-items:center;padding:.35rem 0;display:flex}.checklist-item label{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.checklist-item input[type=checkbox]{flex-shrink:0;width:auto}.checklist-item .done{color:#999;text-decoration:line-through}.checklist-empty{color:#999;font-size:.85rem}
