:root{color:#252821;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f4ec;font-family:Noto Sans JP,Yu Gothic UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-frame{min-height:100vh;padding-bottom:76px}.app-header{justify-content:space-between;align-items:center;gap:20px;max-width:780px;margin:0 auto;padding:22px 22px 14px;display:flex}.header-leading{align-items:center;gap:12px;display:flex}.brand-mark,.icon-link{color:#3d5f37;background:#dce8c9;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;text-decoration:none;display:grid}.header-community{color:#747967;margin:0 0 2px;font-size:.72rem;font-weight:700}.app-header h1{margin:0;font-size:1.22rem}.text-link{color:#697257;font-size:.82rem}.app-main{gap:22px;width:min(100% - 32px,736px);margin:0 auto;display:grid}.bottom-nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffbf0;border-top:1px solid #e2e4d8;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:#646a58;text-align:center;padding:17px 8px;font-size:.78rem;text-decoration:none}.bottom-nav a:hover{color:#355438;background:#f1f4e9}.auth-page{place-items:center;min-height:100vh;padding:28px 18px;display:grid}.auth-card,.form-card,.detail-card,.completion-card{background:#fffffb;border:1px solid #dfe2d4;border-radius:26px;width:min(100%,520px);margin:0 auto;padding:clamp(26px,6vw,42px);box-shadow:0 20px 60px #3e46301a}.auth-card h1,.detail-card h2,.completion-card h2{letter-spacing:-.025em;margin:8px 0 12px}.eyebrow,.section-kicker{color:#6b7655;letter-spacing:.08em;margin:0;font-size:.72rem;font-weight:800}.muted{color:#6b7063;line-height:1.75}.form-stack{gap:17px;margin-top:26px;display:grid}.registration-field-help{color:#6b7063;margin:6px 0 0;font-size:.8rem;line-height:1.4}label{gap:7px;font-size:.86rem;font-weight:700;display:grid}input,textarea,select{color:#252821;background:#fafbf6;border:1px solid #d9dccf;border-radius:12px;outline:none;width:100%;padding:13px 14px}input:focus,textarea:focus,select:focus{border-color:#6d865d;box-shadow:0 0 0 3px #6d865d26}textarea{resize:vertical;min-height:110px}.primary-button,.secondary-button,.small-button{cursor:pointer;border:0;border-radius:13px;padding:13px 18px;font-weight:800}.primary-button,.secondary-button,.small-button,.action-group>button,.action-group>a{min-height:44px}.primary-button{color:#fff;background:#476846}.primary-button:disabled{cursor:not-allowed;opacity:.45}.secondary-button{color:#48513e;background:#f6f7f1;border:1px solid #d5dacb}.small-button{color:#526348;background:#edf1e5;padding:8px 12px;font-size:.76rem}.auth-card button:where(:not(.primary-button,.secondary-button,.small-button)){color:#48513e;cursor:pointer;background:#f6f7f1;border:1px solid #d5dacb;border-radius:13px;padding:12px 18px;font-weight:700}.auth-card button{min-height:44px;line-height:1.5}.auth-card>button{width:100%;margin:12px 0 0;display:block}.auth-card button:disabled{cursor:not-allowed;opacity:.45}.auth-card button:focus-visible{outline-offset:3px;outline:3px solid #7c9467}.auth-card button:not(:disabled):hover{filter:brightness(.96)}.home-actions{gap:12px;margin-top:24px;display:grid}.home-actions .button-row{grid-template-columns:repeat(2,minmax(0,1fr))}.action-group{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.action-group>button,.action-group>a{text-align:center;flex:180px;margin:0}.action-group--compact{margin-top:14px}.action-group--compact>button,.action-group--compact>a{flex-basis:140px}.button-link{text-align:center;margin-top:26px;text-decoration:none;display:block}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:22px;font-size:.8rem;display:flex}.standalone-link,.info-link{color:#54704e;margin-top:20px;font-size:.82rem;display:inline-block}.info-link{margin-top:0}.demo-note{color:#888d7f;margin:22px 0 0;font-size:.75rem;line-height:1.6}.demo-banner{color:#626a57;margin:0;font-size:.75rem;line-height:1.6}.error-panel{color:#8a3822;background:#fff0e8;border-radius:12px;padding:14px;line-height:1.6}.mail-icon,.completion-mark{color:#45623f;background:#e4ecd6;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:18px;font-size:1.7rem;display:grid}.success-panel{color:#355a3a;background:#e9f3e5;border-radius:14px;margin:24px 0;padding:16px}.balance-card{color:#fff;background:linear-gradient(135deg,#496a47,#6e8758);border-radius:25px;padding:28px;position:relative;overflow:hidden;box-shadow:0 18px 42px #3e58392e}.balance-card:after{content:"";border:35px solid #ffffff1a;border-radius:50%;width:190px;height:190px;position:absolute;top:-90px;right:-65px}.balance-card p{opacity:.82;margin:0 0 5px;font-size:.8rem}.balance-card strong{letter-spacing:-.04em;font-size:3rem}.balance-card span{margin-left:7px}.balance-card small{opacity:.78;margin-top:13px;display:block}.content-section{background:#fffffb;border:1px solid #e0e2d7;border-radius:22px;padding:22px}.page-section{margin-bottom:8px}.section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:17px;display:flex}.section-heading h2{margin:3px 0 0;font-size:1.15rem}.section-heading a{color:#5d704f;font-size:.76rem}.people-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.person-card{background:#f5f7ef;border-radius:16px;justify-items:center;gap:5px;padding:15px 8px;text-decoration:none;display:grid}.person-card strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.82rem;overflow:hidden}.person-card small{color:#858a7a;font-size:.68rem}.avatar{color:#486041;background:#dce7ca;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.avatar--sent{color:#785e35;background:#e8e2d3}.avatar--received{color:#3e6546;background:#dce8d7}.avatar--system{color:#4b5e73;background:#dde3ea}.avatar--large{width:64px;height:64px;margin:0 auto 14px;font-size:1.25rem}.search-box{margin-top:17px}.search-results{gap:7px;margin-top:8px;display:grid}.search-results a{color:#46593f;background:#eef2e7;border-radius:10px;padding:11px 13px;font-size:.84rem}.search-results p{color:#777d6e;font-size:.82rem}.history-list{gap:9px;display:grid}.history-card{background:#f7f8f3;border-radius:15px;align-items:center;gap:12px;padding:13px;text-decoration:none;display:flex}.history-card:hover{background:#f0f3e9}.auth-card .history-card{text-align:left;justify-content:space-between;align-items:center;gap:20px;display:flex}.auth-card .history-card>:first-child{overflow-wrap:anywhere;gap:6px;min-width:0;display:grid}.auth-card .history-card>strong{white-space:nowrap;flex-shrink:0}.auth-card .history-card time,.history-detail>time{color:#6b7063;font-size:.8rem;font-weight:400;line-height:1.5;display:block}.auth-card .history-card p{margin:0;font-weight:400}.history-detail>time{margin-top:8px}.history-copy{flex:1;gap:2px;min-width:0;display:grid}.history-copy strong{font-size:.83rem}.history-copy small{color:#6d7166;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.history-copy time{color:#9a9e91;font-size:.67rem}.amount{flex:none;font-size:.82rem}.amount--sent{color:#825d38}.amount--received,.amount--system{color:#477049}.full-width{width:100%;margin-top:16px}.form-card{width:min(100%,600px)}.form-card>label,.form-card fieldset{margin-bottom:24px}fieldset{border:0;padding:0}legend{margin-bottom:9px;font-size:.86rem;font-weight:700}.point-options{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.point-option{color:#353a31;cursor:pointer;background:#f8f9f4;border:1px solid #dce0d3;border-radius:14px;padding:18px 8px}.point-option strong{font-size:1.35rem;display:block}.point-option span{color:#747a6d;font-size:.72rem}.point-option.is-selected{background:#e8f0df;border-color:#51714b;box-shadow:0 0 0 2px #51714b1f}.optional{color:#8a8e82;font-size:.7rem;font-weight:400}.character-count{color:#92978b;justify-self:end;font-weight:400}.balance-preview{background:#f0f2e9;border-radius:12px;justify-content:space-between;gap:12px;margin:22px 0;padding:13px 15px;font-size:.8rem;display:flex}.confirm-list{gap:0;margin:25px 0;display:grid}.confirm-list div{border-bottom:1px solid #e5e7dd;grid-template-columns:120px 1fr;gap:16px;padding:15px 0;display:grid}.confirm-list dt{color:#7b8073;font-size:.78rem}.confirm-list dd{margin:0;font-weight:700}.confirm-list dd,.completion-card h2,.history-copy strong{overflow-wrap:anywhere}.small-button.button-link,a.small-button{text-decoration:none}.button-row{grid-template-columns:1fr 1.4fr;gap:12px;display:grid}.completion-card,.detail-card{text-align:center}.completion-mark{margin-left:auto;margin-right:auto}.completion-amount,.detail-amount{margin:18px 0;font-size:2.3rem;display:block}blockquote{color:#555d4d;text-align:left;background:#f4f7ee;border-left:3px solid #94a883;margin:18px 0;padding:15px}.status-pill{color:#526348;background:#edf1e5;border-radius:999px;margin:0;padding:6px 10px;font-size:.72rem;font-weight:800;display:inline-block}.admin-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.admin-summary div{background:#e7eddd;border-radius:16px;gap:5px;padding:17px;display:grid}.admin-summary span{color:#69715e;font-size:.72rem}.admin-summary strong{font-size:1.1rem}.member-list{gap:8px;display:grid}.member-row{background:#f7f8f3;border-radius:14px;align-items:center;gap:11px;padding:12px;display:flex}.member-copy{flex:1;min-width:0;display:grid}.member-copy strong{font-size:.84rem}.member-copy small{color:#858a7d;font-size:.7rem}.member-row>strong{font-size:.8rem}@media (width>=780px){.bottom-nav{border:1px solid #e2e4d8;border-bottom:0;border-radius:18px 18px 0 0;width:736px;left:50%;right:auto;transform:translate(-50%)}}@media (width<=520px){.app-header{padding-left:16px;padding-right:16px}.app-main{width:min(100% - 20px,736px)}.content-section{padding:17px}.section-heading{align-items:center}.people-row{gap:7px}.history-card{gap:9px;padding:11px}.amount{font-size:.75rem}.form-card{padding:22px 18px}.confirm-list div{grid-template-columns:100px 1fr}.admin-summary div{padding:13px 10px}.member-row{flex-wrap:wrap}.action-group>button,.action-group>a{flex-basis:100%}}@media (prefers-reduced-motion:no-preference){.history-card,.person-card,button{transition:transform .15s,background-color .15s}.history-card:active,.person-card:active,button:active{transform:scale(.985)}}
