:root{--green:#27500a;--green-fresh:#639922;--green-soft:#eaf3de;--green-tint:#c0dd97;--green-deep-text:#3b6d11;--bg:#faf9f4;--bg2:#f1efe8;--surface:#fff;--text:#1f2a17;--sub:#5f5e5a;--mut:#9a998f;--border:rgba(31,42,23,.12);--borderS:rgba(31,42,23,.26);--amber:#ba7517;--amberSoft:#faeeda;--amberText:#854f0b;--danger:#a32d2d;--dangerSoft:#fcebeb;--danger-line:#e24b4a;--blue:#185fa5;--blueSoft:#b5d4f4;--blueText:#042c53;--r1:8px;--r2:12px;--r3:16px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Noto Sans JP,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.65}button{font-family:inherit}.app{max-width:480px;margin:0 auto;min-height:100dvh;background:var(--bg)}.hd{background:var(--green);color:var(--green-soft);padding:14px 16px;display:flex;align-items:center;gap:8px;font-weight:500;font-size:15px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.hd .lead{font-size:20px}.hd .lead,.hd .sp{color:var(--green-tint)}.hd .sp{margin-left:auto;font-weight:400;font-size:12px}.hdC{background:var(--green);padding:16px;text-align:center;color:var(--green-soft)}.hdC .t{font-size:18px;font-weight:500}.hdC .s{font-size:11px;color:var(--green-tint);margin-top:4px}.bd{padding:16px}.hd .brand{flex:none;white-space:nowrap}.hd .hdright{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}.hd .pgname{font-weight:400;font-size:13px;color:var(--green-tint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hd .av{width:28px;height:28px;font-size:12px}.hd img.av{object-fit:cover}.hd .hdguest{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:12px;color:var(--green-tint);white-space:nowrap}.hd .hdguest i{font-size:16px}.h1{font-size:18px;font-weight:500;margin:0}.sub{font-size:13px;color:var(--sub)}.mut{font-size:12px;color:var(--mut)}.lbl{font-size:13px;color:var(--sub);font-weight:500;display:block;margin-bottom:10px}.req{color:var(--danger);font-size:11px}.mb4{margin-bottom:4px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.mb20{margin-bottom:20px}.mb24{margin-bottom:24px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:var(--r3);font-size:15px;font-weight:500;border:none;padding:12px 16px;cursor:pointer;text-decoration:none;transition:filter .12s ease,opacity .12s ease}.btn:active{filter:brightness(.95)}.btn:disabled{cursor:not-allowed;opacity:1}.btn.pri{background:var(--green);color:var(--green-soft)}.btn.pri:disabled{background:var(--bg2);color:var(--mut)}.btn.pri:disabled,.btn.sec{border:1px solid var(--border)}.btn.sec{background:#fff;color:var(--text)}.btn.amber{background:var(--amberSoft);color:var(--amberText)}.btn.line{background:#06c755;color:#fff}.btn.sm{min-height:44px;padding:10px 12px;font-size:14px;border-radius:var(--r2)}.btnrow{display:flex;gap:8px}.cap{text-align:center;font-size:12px;color:var(--mut);margin:10px 0 0}.card{border:1px solid var(--border);border-radius:var(--r2);padding:12px 14px}.card,.cardL{background:var(--surface)}.cardL{border:1px solid var(--border);border-radius:var(--r3);padding:14px}.soft{background:var(--green-soft)}.muted{background:var(--bg2)}.between{justify-content:space-between}.between,.row{display:flex;align-items:center}.row{gap:10px}.col{display:flex;flex-direction:column}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px}.chip.ok{background:var(--green-tint);color:var(--green)}.chip.in{background:var(--blueSoft);color:var(--blueText)}.chip.soft{background:var(--green-soft);color:var(--green)}.chip.warn{background:var(--amberSoft);color:var(--amberText)}.chip.danger{background:none;color:var(--danger)}.field{width:100%;min-height:44px;display:flex;align-items:center;padding:0 13px;background:var(--bg2);border:1px solid transparent;border-radius:var(--r1);font-size:15px;color:var(--text);font-family:inherit}.field::placeholder{color:#c5c4bb;opacity:1}.field:focus{outline:none;border-color:var(--green-fresh);background:#fff}.mem{display:flex;align-items:center;justify-content:space-between;gap:6px;background:var(--bg2);border:1px solid transparent;border-radius:var(--r1);padding:9px 10px;font-size:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mem .hc{font-size:11px;color:var(--mut)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.thumb.more{color:var(--green);font-size:13px;font-weight:500}.seg{display:flex;border:1px solid var(--borderS);border-radius:var(--r1);overflow:hidden;flex:none}.seg button{padding:9px 13px;font-size:14px;color:var(--sub);border:none;border-left:1px solid var(--border);background:transparent;cursor:pointer;min-height:40px}.seg button:first-child{border-left:none}.seg button.on{background:var(--green-fresh);color:var(--green-soft);font-weight:500}.segF{display:flex;gap:8px}.segF button{flex:1 1;text-align:center;padding:12px 0;font-size:14px;color:var(--sub);background:var(--bg2);border:1px solid transparent;border-radius:var(--r1);cursor:pointer;min-height:44px}.segF button.on{background:var(--green-fresh);color:var(--green-soft);font-weight:500}.tog-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border);font-size:15px}.tog-row.first{border-top:none}.toggle{width:48px;height:28px;border-radius:999px;background:var(--bg2);border:1px solid var(--border);position:relative;flex:none;cursor:pointer;transition:background .15s ease}.toggle.on{background:var(--green-fresh);border-color:var(--green-fresh)}.toggle .knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s ease}.toggle.on .knob{transform:translateX(20px)}.stepper{gap:14px}.stepper,.stepper button{display:flex;align-items:center}.stepper button{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:22px;line-height:1;color:var(--green-fresh);cursor:pointer;justify-content:center}.stepper button:disabled{color:var(--mut);cursor:not-allowed}.stepper .val{font-size:18px;font-weight:500;min-width:20px;text-align:center}.tab{display:flex;gap:8px;margin-bottom:14px}.tab button{flex:1 1;text-align:center;padding:10px 0;font-size:14px;border:none;border-radius:var(--r1);background:var(--bg2);color:var(--sub);cursor:pointer;min-height:44px}.tab button.on{background:var(--green-fresh);color:var(--green-soft);font-weight:500}.av{width:32px;height:32px;border-radius:50%;background:var(--green-tint);color:var(--green);justify-content:center;font-size:13px;font-weight:500;flex:none}.act,.av{display:flex;align-items:center}.act{gap:12px;width:100%;border:1px solid var(--border);border-radius:var(--r1);padding:12px 13px;background:var(--surface);cursor:pointer;text-align:left}.act .ic{font-size:20px;color:var(--green-fresh);flex:none}.act .tx{flex:1 1;font-size:14px;min-width:0}.act .ch{font-size:18px;color:var(--mut);flex:none}.metric{flex:1 1;text-align:center;border-radius:var(--r1);padding:10px 0}.metric .v{font-size:20px;font-weight:500}.metric .k{font-size:11px}.thumb{width:40px;height:40px;border-radius:var(--r1);background:var(--green-soft);color:var(--green-fresh);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}.note{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--sub);margin:12px 0 0;line-height:1.6}.note.danger{color:var(--danger)}.iconbtn{border:none;background:transparent;cursor:pointer;font-size:18px;color:var(--mut);padding:6px;display:flex;align-items:center;line-height:1}.iconbtn.active{color:var(--green-fresh)}.tray{background:var(--bg2);border-radius:var(--r3);padding:12px}.tray.over{outline:2px dashed var(--green-fresh);outline-offset:2px}.mem.dragging{opacity:.4}.mem.selected{background:var(--green-soft);color:var(--green);font-weight:500}.mem.dropTarget,.mem.selected{border-color:var(--green-fresh)}.mem.dropTarget{box-shadow:0 0 0 2px var(--green-tint)}.mem.pinned{border-color:var(--green-tint);background:var(--green-soft);cursor:default}.slot{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border:1px dashed var(--borderS);border-radius:var(--r1);color:var(--mut);font-size:12px;background:transparent}.slot.over{border-color:var(--green-fresh);color:var(--green-fresh);background:var(--green-soft)}.cardL.overfull{border:2px solid var(--danger-line);background:var(--dangerSoft)}.cardL.overfull .mem{background:#fff}.grip{color:var(--mut);font-size:14px}