.app{max-width:1200px;margin:0 auto;padding:16px 16px 60px}.header{display:flex;align-items:flex-end;padding:8px 66px 12px 4px}.logo{display:flex;align-items:center;gap:10px;line-height:1.25}.logo-icon{width:28px;height:28px;background:var(--main);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-main{font-size:26px;font-weight:700;color:var(--main);letter-spacing:.02em}.logo-underline{width:60px;height:2px;background:var(--main);margin-top:4px;border-radius:1px}.layout{display:flex;gap:10px;max-width:1200px;margin:0 auto;align-items:flex-start}.side{display:flex;flex-direction:column;gap:10px;width:56px;flex-shrink:0}.side-btn{background:#fff;border:1.5px solid var(--main);color:var(--main);font-size:10.5px;font-weight:700;padding:4px 2px;cursor:pointer;line-height:1.4;height:56px;display:flex;align-items:center;justify-content:center;text-align:center}.side-btn:hover{background:var(--tint-1)}.frame{background:var(--paper);border:2px solid var(--main);border-radius:4px;padding:22px 26px 30px;flex:1;min-width:0}.notice{border:1px solid var(--main);background:#fff;color:var(--text);font-size:12.5px;padding:7px 12px;text-align:center;margin:0 auto 22px;max-width:860px}.footnote{font-size:12px;color:#55505c;text-align:center;line-height:1.9;margin-top:26px}.io-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;align-items:start}.sec-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.sec-head .rule{height:4px;flex:1;background:var(--main);border-radius:2px}.sec-head .t{font-size:15px;font-weight:700;color:var(--text)}.row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.chip{color:#fff;font-size:13.5px;font-weight:600;padding:9px 10px;min-width:168px;text-align:center;border-radius:2px}.chip.main{background:var(--main)}.chip.ink{background:var(--ink)}.chip.use1{background:var(--use-1)}.chip.soft{background:var(--accent-soft)}.chip.use2{background:var(--use-2)}.chip.outline{background:#fff;color:var(--text);border:1.5px solid var(--main);font-weight:700}.tri{color:var(--main);font-size:12px}.row input,.row select{border:1.5px solid var(--main);border-radius:3px;padding:8px 10px;font-size:20px;font-weight:700;color:#241d2b;text-align:right;width:150px;background:#fff}.row select{text-align:center;width:96px}.row input:focus,.row select:focus{outline:2px solid var(--tint-3)}.unit{font-size:13px;color:var(--main-dark);font-weight:600;min-width:30px}.calc-box{background:var(--tint-2);border-radius:2px;padding:9px 12px;font-size:20px;font-weight:700;text-align:right;width:150px;color:var(--text)}.hint{font-size:11.5px;color:#6d6776;margin-left:4px}.qbtn{border:1.5px solid var(--main);background:#fff;color:var(--main);border-radius:50%;width:20px;height:20px;font-size:12px;line-height:1;cursor:pointer;padding:0;margin-left:6px}.qbtn:hover{background:var(--tint-1)}.cta{display:block;width:100%;margin-top:18px;background:var(--main);color:#fff;border:none;border-radius:3px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.06em}.cta:hover:enabled{background:var(--main-dark)}.cta:disabled{background:#e7e3ea;color:#a39dac;cursor:default}.band{display:flex;align-items:center;gap:14px;margin:30px 0 16px}.band .rule{height:4px;flex:1;background:var(--main);border-radius:2px}.band .t{font-size:15px;font-weight:700;color:var(--main)}.chart-card{border:1.5px solid var(--main);border-radius:4px;padding:14px 18px 20px;margin-top:22px;background:#fff}.chart-card.tinted{background:var(--tint-1)}.chart-head{display:flex;align-items:center;gap:12px}.chart-head .rule{height:3px;flex:1;background:var(--main)}.chart-head .t{font-size:20px;font-weight:700;color:var(--main);white-space:nowrap}.chart-unit{text-align:right;font-size:12px;color:var(--main);margin-top:2px}.nav{display:flex;justify-content:center;gap:10px;margin:8px 0 4px}.pill{border:1.5px solid var(--main);background:#fff;color:var(--main);border-radius:999px;padding:5px 18px;font-size:14px;font-weight:700;cursor:pointer}.pill:hover:enabled{background:var(--tint-1)}.pill:disabled{border-color:#c9c4cf;color:#b4aebc;cursor:default}.stage{display:flex;align-items:flex-end;gap:0;min-height:350px;padding:12px 0 0;margin:0 auto;justify-content:flex-start}.col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:145px}.col .above{min-height:4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-bottom:4px}.zan{font-size:14px;font-weight:700;color:var(--main);line-height:1.2;text-align:center}.zan .num{font-size:22px}.zan.neg{color:var(--alert)}.seg{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:19px;font-weight:700;line-height:1.3;text-align:center}.seg.hoken{background:var(--main)}.seg.taishoku{background:var(--ink)}.seg.tax{background:var(--gray)}.seg.soft{background:var(--accent-soft)}.seg small{font-size:13px;font-weight:600}.axis-label{margin-top:6px;height:20px;font-size:14px;font-weight:700;color:var(--main-dark);text-align:center;line-height:1.4;overflow:visible}.below{text-align:center;height:52px}.below .num{font-size:22px;font-weight:700;color:var(--main);line-height:1.1}.below .sub{font-size:13px;color:#6d6776;margin-top:0;line-height:1.1}.below .sub.neg{color:var(--alert)}.use-stack{width:100%}.use-box{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:15.5px;font-weight:600;padding:0 8px}.use-box.u1{background:var(--use-1)}.use-box.u2{background:var(--use-2)}.use-box.u3{background:var(--accent-soft)}.bubble{position:relative;border:2px solid var(--main);color:var(--main);background:#fff;border-radius:999px;padding:7px 16px;font-size:14.5px;font-weight:700;margin-bottom:12px;white-space:nowrap}.bubble:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--main);border-bottom:0}.bubble.alert{background:var(--alert);border-color:var(--alert);color:#fff}.bubble.alert:after{border-top-color:var(--alert)}.alert-circle{width:28px;height:28px;border-radius:50%;background:var(--alert);color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;margin:0 auto 4px}.alert-circle:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--alert);border-bottom:0}.fusoku-seg{width:100%;background:var(--alert);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:16px;font-weight:700;line-height:1.3}.fusoku-box{width:100%;background:var(--alert);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15.5px;font-weight:700}.tax-chip{width:100%;background:var(--gray);color:#fff;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700;padding:3px 8px}.neg-num{color:var(--alert);font-weight:700}.float-block{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--accent-soft);color:#fff;font-size:19px;font-weight:700;width:145px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a24308c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:4px;max-width:680px;width:100%;max-height:86vh;overflow:auto}.modal-head{background:var(--main);color:#fff;display:flex;align-items:center;justify-content:center;padding:10px 16px;font-size:15px;font-weight:700;position:sticky;top:0}.modal-close{position:absolute;right:16px;background:none;border:none;color:#fff;font-size:18px;cursor:pointer}.modal-body{padding:18px 22px 24px;overflow-x:hidden}.modal-unit{text-align:right;font-size:12px;color:var(--main);margin-bottom:10px}.f-row{display:flex;align-items:stretch;gap:8px;margin-bottom:14px;flex-wrap:wrap}.f-cell{border:1.5px solid var(--line);border-radius:3px;min-width:118px;text-align:center}.f-cell.result{border-color:var(--main)}.f-cell .lab{background:var(--tint-2);font-size:12px;font-weight:700;padding:5px 8px;color:var(--text)}.f-cell .val{font-size:16px;font-weight:700;padding:8px}.f-op{align-self:center;font-size:16px;font-weight:700;color:var(--main)}.modal-note{font-size:12px;color:#55505c;line-height:1.9;margin-top:8px}.inner{max-width:940px;margin:0 auto}.tax-diagram{display:flex;align-items:flex-end;gap:40px;padding:40px 0 0;max-width:600px;margin:0 auto}.tax-bar{width:120px;text-align:center;flex-shrink:0}.tax-bar .bar-fill{background:var(--main);color:#fff;font-size:13px;font-weight:700;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3}.tax-bar .bar-outline{background:#fff;border:1.5px solid var(--main);color:var(--text);font-size:12px;font-weight:700;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3}.tax-bar .bar-label{font-size:12px;font-weight:700;color:var(--main-dark);margin-top:6px;line-height:1.3;text-align:center}.tax-bar .bar-fill .num{font-size:18px}.tax-bar .bar-outline .num{font-size:16px}.tax-right-group{display:flex;align-items:center;gap:10px;flex-shrink:0;align-self:flex-end;margin-bottom:24px}.tax-right-group .rate{font-size:13px;font-weight:700;color:var(--main);white-space:nowrap;text-align:center;line-height:1.4}.tax-result{width:110px;text-align:center;flex-shrink:0}.tax-result .bar-fill{background:var(--gray);height:70px}.tax-note{position:absolute;left:calc(100% + 30px);top:-30px;font-size:12px;font-weight:700;color:var(--main-dark);line-height:1.6;white-space:nowrap}.tax-note .divider{border-top:1.5px solid var(--main-dark);margin:1px 0}.tax-note .note-num{font-size:16px;font-weight:700}.tax-sec .row{margin-bottom:10px}.tax-sec .chip{min-width:210px}.tax-block{position:relative;margin:4px 0 12px}.tax-block:before{content:"";position:absolute;left:-14px;top:0;bottom:0;width:6px;background:var(--main-dark);border-radius:2px}.tax-gap{width:48px;flex-shrink:0}.chart-inner{border:1.5px solid var(--main);border-radius:2px;margin-top:10px;padding:6px 16px 16px;background:#fff}.link{align-self:flex-end;flex-shrink:0;margin-bottom:78px}.field-alert{color:var(--alert);font-size:12.5px;font-weight:600;margin:-6px 0 10px 176px}.save-input{border:1.5px solid var(--main);border-radius:3px;padding:8px 10px;font-size:15px;width:100%;margin-bottom:12px}.save-input:focus{outline:2px solid var(--tint-3)}.save-actions{display:flex;gap:10px;justify-content:flex-end}.save-actions button{padding:8px 20px;border-radius:3px;font-size:14px;font-weight:700;cursor:pointer}.save-actions .primary{background:var(--main);color:#fff;border:none}.save-actions .primary:hover{background:var(--main-dark)}.save-actions .secondary{background:#fff;color:var(--main);border:1.5px solid var(--main)}.save-msg{color:var(--main);font-size:14px;font-weight:700;text-align:center;padding:8px 0}.saves-list{list-style:none;padding:0;margin:0}.saves-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.saves-item:last-child{border-bottom:none}.saves-name{font-size:14px;font-weight:700;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saves-date{font-size:12px;color:#6d6776;white-space:nowrap}.saves-item .side-btn{font-size:12px;padding:4px 10px}.saves-empty{text-align:center;color:#6d6776;font-size:14px;padding:20px 0}@media (max-width: 900px){.io-grid{grid-template-columns:1fr}.stage{gap:0;overflow-x:auto;width:auto!important}.col,.float-block{width:104px;flex-shrink:0}.layout{flex-direction:column}.side{flex-direction:row;width:100%}.side-btn{flex:1}.header{padding-right:0}}:root{--main: #5C3A6E;--main-dark: #452A54;--tint-1: #F5EFF8;--tint-2: #EDE3F3;--tint-3: #CDB6DA;--accent-soft: #8A6BA0;--line: #D9C9E4;--alert: #8C1D2F;--alert-dark: #6E1324;--ink: #3C3546;--gray: #5F5E5A;--use-1: #4C465A;--use-2: #6A6478;--paper: #FFFFFF;--text: #2A2430}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f2edf5;color:var(--text);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,sans-serif}#root{min-height:100vh}input,select{font-family:inherit}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
