html,body,#root{min-height:100%}body{margin:0}:root{--ink:#142a24;--ink-soft:#3d5a52;--paper:#f2faf7;--mint:#5eead4;--teal:#0f766e;--forest:#1a3c34;--coral:#ff6b4a;--coral-deep:#e24b2a;--line:#1a3c341f;--shadow:0 24px 60px #142a241f;--radius:18px;--font-brand:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-body:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}button,input{font:inherit}.page{min-height:100vh;position:relative;overflow-x:clip}.atmosphere{z-index:-1;background:radial-gradient(80% 50% at 10% -10%,#5eead473,#0000 55%),radial-gradient(60% 45% at 95% 5%,#ff6b4a38,#0000 50%),radial-gradient(70% 60% at 50% 100%,#0f766e1f,#0000 55%),linear-gradient(165deg,#e8f7f2 0%,#f4fbf8 40%,#eef6f3 100%);position:fixed;inset:0}.atmosphere:after{content:"";opacity:.35;background-image:repeating-linear-gradient(-18deg,#0000,#0000 14px,#1a3c3408 14px 15px);position:absolute;inset:0}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;max-width:1080px;min-height:min(72vh,560px);margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,4vw,2rem) 2rem;display:grid}.hero-copy{animation:.8s ease-out both rise}.brand{font-family:var(--font-brand);letter-spacing:-.04em;color:var(--forest);margin:0 0 .75rem;font-size:clamp(3rem,8vw,5.5rem);font-weight:900;line-height:.95}.headline{letter-spacing:.02em;color:var(--ink);margin:0 0 1rem;font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700}.lede{max-width:28rem;color:var(--ink-soft);margin:0 0 1.75rem;font-size:1.05rem}.cta-row{flex-wrap:wrap;gap:.75rem;display:flex}.hero-visual{place-items:center;animation:1s ease-out .15s both float-in;display:grid}.flow-art{filter:drop-shadow(0 20px 40px #1a3c3426);width:min(100%,420px);height:auto}.node{transform-origin:50%;animation:4s ease-in-out infinite pulse-node}.node-b{animation-delay:.6s}.node-c{animation-delay:1.2s}.arc{stroke-dasharray:220;stroke-dashoffset:220px;animation:1.4s ease-out .4s forwards draw-arc}.arc-2{animation-delay:.7s}.arc-3{animation-delay:1s}.main{gap:1.75rem;max-width:780px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2rem) 4rem;display:grid}.panel{padding:1.75rem 0 .5rem;animation:.7s ease-out both rise}.panel-head h2{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.panel-head p{color:var(--ink-soft);margin:0 0 1.25rem;font-size:.95rem}.panel-head-row{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.35rem;display:flex}.panel-head-row h2{margin:0}.guide-link{color:var(--teal);white-space:nowrap;font-size:.9rem;font-weight:700;text-decoration:none}.guide-link:hover{text-decoration:underline}.privacy-note{color:var(--ink-soft);border-left:3px solid var(--mint);background:#5eead41f;margin:.75rem 0 0;padding:.75rem .85rem;font-size:.88rem;line-height:1.55}.guide-cta{margin:2rem 0 0}.mode-tabs{border:1.5px solid var(--line);background:#ffffff73;border-radius:999px;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;padding:.35rem;display:grid}.mode-tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.7rem 1rem;font-weight:700;transition:background-color .2s,color .2s}.mode-tab:hover{color:var(--forest)}.mode-tab.active{background:var(--forest);color:#e8fff8}.mode-panel{animation:.35s ease-out both rise}.mode-desc{color:var(--ink-soft);margin:0 0 1.25rem;font-size:.95rem}.quick-grid{grid-template-columns:repeat(3,1fr);gap:1rem 1.25rem;margin-bottom:1rem;display:grid}.payer-field select{border:none;border-bottom:2px solid var(--forest);width:100%;color:var(--ink);cursor:pointer;background:0 0;border-radius:0;outline:none;padding:.55rem .15rem}.payer-field select:focus{border-color:var(--coral)}.payer-field select:disabled{opacity:.45;cursor:not-allowed}.quick-hint{color:var(--teal);border-left:3px solid var(--mint);margin:0 0 .5rem;padding:.75rem 0 .75rem .85rem;font-size:.9rem}.name-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.name-row{min-width:0}.advanced-block{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:.5rem}.advanced-note{color:var(--ink-soft);margin:-.25rem 0 1rem;font-size:.9rem}.readonly-name p{border-bottom:2px solid #0000;margin:0;padding:.55rem .15rem;font-weight:700}.member-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.member-row{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr auto;align-items:end;gap:.75rem;padding-bottom:.85rem;animation:.45s ease-out both rise;display:grid}.member-row-advanced{grid-template-columns:1.2fr 1fr}.field{gap:.35rem;display:grid}.field span{color:var(--ink-soft);letter-spacing:.04em;font-size:.78rem;font-weight:500}.field input{border:none;border-bottom:2px solid var(--forest);width:100%;color:var(--ink);background:0 0;outline:none;padding:.55rem .15rem;transition:border-color .2s,background-color .2s}.field input:focus{border-color:var(--coral);background:#ff6b4a0a}.field input[type=number]{font-variant-numeric:tabular-nums;-moz-appearance:textfield}.field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.35rem;font-weight:700;text-decoration:none;transition:transform .15s,background-color .2s,box-shadow .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--coral);color:#fff;box-shadow:0 10px 24px #ff6b4a47}.btn-primary:hover{background:var(--coral-deep)}.btn-secondary{background:var(--forest);color:#e8fff8}.btn-secondary:hover{background:#244e44}.btn-ghost{color:var(--ink-soft);border:1.5px solid var(--line);background:0 0}.btn-ghost:hover{border-color:var(--forest);color:var(--forest)}.btn-icon{border:1.5px solid var(--line);width:2.4rem;height:2.4rem;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:50%;margin-bottom:.15rem;font-size:1.25rem;line-height:1;transition:border-color .2s,color .2s}.btn-icon:hover:not(:disabled){border-color:var(--coral);color:var(--coral)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:grid}.stat{gap:.25rem;display:grid}.stat-label{color:var(--ink-soft);letter-spacing:.04em;font-size:.78rem}.stat-value{font-family:var(--font-brand);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700}.note{color:var(--teal);border-left:3px solid var(--mint);margin:0 0 1.25rem;padding:.75rem 0 .75rem .85rem;font-size:.9rem}.subhead{margin:1.5rem 0 .75rem;font-size:1rem;font-weight:700}.share-list,.settlement-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.share-list li{border-bottom:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:.65rem 0;display:grid}.share-name{grid-area:1/1;font-weight:700}.share-meta{color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-area:2/1;font-size:.88rem}.balance{font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2/span 2;align-self:center;font-size:.92rem;font-weight:700}.balance.receive{color:var(--teal)}.balance.pay{color:var(--coral-deep)}.balance.even{color:var(--ink-soft)}.settlement-item{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr auto;align-items:center;gap:.65rem;padding:.9rem 0;animation:.5s ease-out both rise;display:grid}.settlement-item .from,.settlement-item .to{font-weight:700}.settlement-item .from{text-align:right}.settlement-item .arrow{color:var(--coral);font-family:var(--font-brand);font-weight:900}.settlement-item .amount{font-family:var(--font-brand);color:var(--forest);font-variant-numeric:tabular-nums;text-align:right;min-width:5.5rem;font-size:1.15rem;font-weight:700}.empty{color:var(--ink-soft);margin:.5rem 0 1rem}.empty.settled{color:var(--teal);font-weight:500}.share-bar{flex-wrap:wrap;align-items:center;gap:.85rem;margin-top:1.75rem;padding-top:.5rem;display:flex}.share-feedback{color:var(--teal);font-size:.9rem;animation:.35s ease-out both rise}.share-preview{border:1.5px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#ffffffa6;border-radius:12px;outline:none;margin-top:1rem;padding:.9rem 1rem;font-size:.88rem;line-height:1.55;display:block}.share-preview:focus{border-color:var(--teal)}.footer{max-width:780px;color:var(--ink-soft);margin:0 auto;padding:0 clamp(1.25rem,4vw,2rem) 3rem;font-size:.85rem}.hero-landing{min-height:min(78vh,640px)}.calc-header{max-width:780px;margin:0 auto;padding:1.25rem clamp(1.25rem,4vw,2rem) .5rem}.calc-header-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.calc-brand{font-family:var(--font-brand);letter-spacing:-.03em;color:var(--forest);font-size:1.5rem;font-weight:900;text-decoration:none}.calc-header-back{color:var(--ink-soft);font-size:.9rem;font-weight:700;text-decoration:none}.calc-header-back:hover{color:var(--forest);text-decoration:underline}.brand-link{color:inherit;text-decoration:none}.site-footer{border-top:1px solid var(--line);margin-top:2rem;padding:2rem clamp(1.25rem,4vw,2rem) 3rem}.site-footer-inner{gap:.85rem;max-width:780px;margin:0 auto;display:grid}.site-footer-nav{flex-wrap:wrap;gap:.85rem 1.25rem;display:flex}.site-footer-nav a{color:var(--ink-soft);font-size:.9rem;text-decoration:none}.site-footer-nav a:hover{color:var(--forest);text-decoration:underline}.site-footer-nav a.site-footer-external{text-underline-offset:.18em;align-items:center;gap:.28em;margin-left:auto;text-decoration:underline;display:inline-flex}.site-footer-external-icon{opacity:.85;flex-shrink:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-footer-copy{color:var(--ink-soft);margin:0;font-size:.85rem;font-weight:700}.site-footer-copy a{color:inherit;font-weight:inherit;text-decoration:none}.legal-page{max-width:720px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,4vw,2rem) 1rem}.legal-header{margin-bottom:1.75rem}.legal-brand{font-family:var(--font-brand);color:var(--forest);letter-spacing:-.03em;margin-bottom:.75rem;font-size:1.35rem;font-weight:900;text-decoration:none;display:inline-block}.legal-header h1{margin:0;font-size:clamp(1.6rem,4vw,2rem)}.legal-meta{color:var(--ink-soft);font-size:.9rem}.legal-body{line-height:1.8}.legal-body h2{margin:2rem 0 .75rem;font-size:1.15rem}.legal-body p,.legal-body ul,.legal-body ol{color:var(--ink);margin:0 0 1rem}.legal-body ul,.legal-body ol{padding-left:1.25rem}.legal-body a{color:var(--teal)}.legal-body a.btn{color:inherit}.legal-body a.btn-primary,.legal-body a.btn-primary:hover{color:#fff}.legal-back{margin:2.5rem 0 0}.legal-back a{color:var(--forest);font-weight:700;text-decoration:none}.legal-back a:hover{text-decoration:underline}.contact-form{gap:1rem;margin:1.5rem 0 2rem;display:grid}.botcheck{opacity:0;pointer-events:none;width:0;height:0;position:absolute;left:-9999px}.contact-form textarea{border:none;border-bottom:2px solid var(--forest);width:100%;color:var(--ink);resize:vertical;font:inherit;background:0 0;outline:none;padding:.55rem .15rem;line-height:1.6}.contact-form textarea:focus{border-color:var(--coral);background:#ff6b4a0a}.contact-note{color:var(--ink-soft);margin:0;font-size:.88rem}.contact-note a{color:var(--teal)}.contact-actions{gap:.75rem;display:flex}.contact-feedback{margin:0;font-size:.92rem}.contact-feedback.success{color:var(--teal)}.contact-feedback.error{color:var(--coral-deep)}.contact-alt{border-top:1px solid var(--line);padding-top:.5rem}.contact-alt h2{margin:1.25rem 0 .5rem;font-size:1.05rem}.contact-setup-hint{color:var(--ink-soft);font-size:.85rem}.contact-setup-hint code{background:#1a3c340f;border-radius:4px;padding:.1rem .35rem;font-size:.8rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes draw-arc{to{stroke-dashoffset:0}}@keyframes pulse-node{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (width<=820px){.hero{grid-template-columns:1fr;gap:1rem;min-height:auto;padding-top:2.5rem}.hero-visual{order:-1}.flow-art{width:min(100%,300px)}.brand{font-size:clamp(2.75rem,14vw,4rem)}.quick-grid{grid-template-columns:1fr}}@media (width<=560px){.member-row{grid-template-columns:1fr auto;grid-template-areas:"name remove""amount amount"}.member-row-advanced{grid-template-columns:1fr;grid-template-areas:"name""amount"}.name-field{grid-area:name}.amount-field{grid-area:amount}.btn-icon{grid-area:remove;align-self:end}.summary{grid-template-columns:1fr;gap:.85rem}.settlement-item{grid-template-columns:1fr auto 1fr;grid-template-areas:"from arrow to""amount amount amount"}.settlement-item .from{text-align:left;grid-area:from}.settlement-item .arrow{grid-area:arrow}.settlement-item .to{grid-area:to}.settlement-item .amount{text-align:left;grid-area:amount;margin-top:.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
