:root{--bg: #15171d;--bg-elev: #1c1f27;--surface: #21252f;--surface-2: #272c38;--line: #333a48;--line-soft: #2a303c;--text: #e9ebf0;--text-dim: #9aa1b1;--text-faint: #6b7283;--gold: #e0b54a;--gold-dim: #9c7e34;--teal: #5fb3a3;--danger: #d9774e;--ok: #6fb86f;--radius: 10px;--radius-sm: 7px;--pad: 18px;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.app{max-width:960px;margin:0 auto;padding:28px 20px 80px}.header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:26px}.header h1{font-size:22px;font-weight:650;letter-spacing:-.01em;margin:0}.header .sub{color:var(--text-dim);font-size:13px;margin-top:6px;max-width:64ch;white-space:pre-line;line-height:1.7}.lang-btn{flex-shrink:0;background:transparent;border:1px solid var(--line);color:var(--text-dim);border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;cursor:pointer;font-family:var(--sans)}.lang-btn:hover{border-color:var(--gold-dim);color:var(--text)}.section{background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:var(--radius);padding:var(--pad);margin-bottom:18px}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:0 0 14px;font-weight:600}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.name-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.name-input{text-align:left!important;font-family:var(--sans)!important;font-size:14px!important}.item-row{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:12px}.item-head{display:flex;align-items:center;gap:11px}.item-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;font-family:var(--mono);font-weight:600;font-size:14px;color:var(--bg);flex-shrink:0;overflow:hidden}.item-icon.fallback{background:var(--surface-2)}.item-meta{flex:1;min-width:0}.item-name{font-size:13.5px;font-weight:600;line-height:1.35;word-break:break-word}.item-price{font-family:var(--mono);font-size:11px;color:var(--text-faint);margin-top:2px}.item-row input{width:100%}label.field{display:block}.field-label{font-size:13px;color:var(--text-dim);margin-bottom:6px}input[type=text],input[type=number]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-family:var(--mono);font-size:15px;padding:9px 11px;width:100%;text-align:right}input:focus{outline:none;border-color:var(--gold-dim);box-shadow:0 0 0 2px #e0b54a1f}.input-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.people-pick{display:flex;gap:6px;flex-wrap:wrap}.people-pick button{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text-dim);font-family:var(--mono);font-size:15px;cursor:pointer}.people-pick button.active{background:var(--gold);border-color:var(--gold);color:var(--bg);font-weight:600}.advanced summary{cursor:pointer;list-style:none;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-weight:600;-webkit-user-select:none;user-select:none}.advanced summary::-webkit-details-marker{display:none}.advanced summary:before{content:"+ ";color:var(--gold-dim)}.advanced[open] summary:before{content:"− "}.adv-block{margin-top:16px}.adv-block+.adv-block{margin-top:18px;padding-top:18px;border-top:1px solid var(--line-soft)}.adv-label{font-size:13px;color:var(--text-dim);margin-bottom:8px}.radio-row,.check-row{display:flex;flex-direction:column;gap:8px}.opt{display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer}.opt input{width:auto;accent-color:var(--gold)}.run{width:100%;background:var(--gold);color:var(--bg);border:none;border-radius:var(--radius);padding:14px;font-size:15px;font-weight:650;cursor:pointer;font-family:var(--sans);letter-spacing:.01em}.run:hover{background:#ecc25c}.run:disabled{opacity:.5;cursor:not-allowed}.tabs{display:flex;gap:4px;margin-bottom:16px}.tab{background:transparent;border:1px solid var(--line-soft);color:var(--text-dim);padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;font-family:var(--sans)}.tab.active{background:var(--surface-2);border-color:var(--line);color:var(--text)}.result-cols{display:grid;gap:18px}.result-cols.both{grid-template-columns:1fr 1fr}@media (max-width: 760px){.result-cols.both,.input-2col{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start}}.person-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:14px;margin-bottom:12px}.person-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.person-title{font-size:14px;font-weight:600}.person-badge{font-size:11px;color:var(--gold);background:#e0b54a1a;border:1px solid var(--gold-dim);border-radius:20px;padding:2px 10px}.tx-card{background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:11px 12px}.tx-card+.tx-card{margin-top:8px}.tx-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.tx-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.tx-total{font-family:var(--mono);font-size:13px;color:var(--text)}.tx-body{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:20px;padding:4px 11px 4px 5px;font-family:var(--mono);font-size:13px}.chip .ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--bg)}.chip.gil{border-color:var(--gold-dim)}.chip.gil .ic{background:var(--gold)}.chip .qty{color:var(--text)}.chip .qty b{color:var(--gold);font-weight:600}.check{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-faint);cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:auto;accent-color:var(--ok)}.tx-card.done,.person-card.done{opacity:.5}.banner{border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;font-size:13px;line-height:1.5}.banner.warn{background:#d9774e1a;border:1px solid var(--danger);color:#f0b59a}.banner.info{background:#5fb3a314;border:1px solid var(--teal);color:#a7d9cf}.summary-line{display:flex;justify-content:space-between;font-size:13px;color:var(--text-dim);font-family:var(--mono);padding:10px 2px 0;border-top:1px solid var(--line-soft);margin-top:8px}.summary-line b{color:var(--gold)}.empty{text-align:center;color:var(--text-faint);padding:40px 0;font-size:14px}.error-text{color:var(--danger);font-size:12px;margin-top:6px}.item-icon.img{overflow:hidden;padding:0}.item-icon.img img{border-radius:6px;object-fit:cover}.chip .ic img{border-radius:4px}.link-btn{margin-top:8px;background:none;border:none;color:var(--gold);font-size:12px;cursor:pointer;padding:0;font-family:var(--sans);text-decoration:underline}.link-btn:hover{color:#ecc25c}.reset-btn{margin-top:16px;background:transparent;border:1px solid var(--line);color:var(--text-dim);border-radius:var(--radius-sm);padding:7px 14px;font-size:13px;cursor:pointer;font-family:var(--sans)}.reset-btn:hover{border-color:var(--danger);color:#f0b59a}.progress{margin-bottom:16px}.progress-head{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);font-family:var(--mono);margin-bottom:6px}.progress-track{height:8px;background:var(--surface-2);border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold));border-radius:6px;transition:width .35s ease}.tx-card.clickable{cursor:pointer;transition:background .15s ease,border-color .15s ease}.tx-card.clickable:hover{background:var(--surface-2);border-color:var(--gold-dim)}.tx-card.clickable:focus-visible{outline:2px solid var(--gold-dim);outline-offset:1px}.tx-right{display:flex;align-items:center;gap:10px}.check-box{font-size:11px;color:var(--ok);font-weight:600}.tx-body{gap:10px}.chip{padding:5px 13px 5px 5px;font-size:14px}.chip .ic{border-radius:8px}.chip .ic.gil-ic,.chip.gil .ic{width:48px;height:48px;font-size:18px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:50}.modal{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:22px;max-width:360px;width:calc(100% - 40px)}.modal-msg{font-size:15px;margin-bottom:18px}.dialog-actions{display:flex;gap:10px}.btn-yes,.btn-no{flex:1;padding:10px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;font-family:var(--sans);border:1px solid var(--line)}.btn-yes{background:var(--gold);color:var(--bg);border-color:var(--gold)}.btn-yes:hover{background:#ecc25c}.btn-no{background:transparent;color:var(--text-dim)}.btn-no:hover{border-color:var(--text-dim);color:var(--text)}
