:root{--bg:#fbf6f3;--surface:#fff;--surface-soft:#fdf0ee;--border:#eadfd9;--text:#33282b;--text-soft:#7d6f72;--primary:#c9506b;--primary-strong:#ad3d57;--primary-soft:#fbe4e8;--on-primary:#fff;--gold:#b98a3e;--gold-soft:#f8efdd;--success:#2f8f5b;--success-soft:#e3f4ea;--danger:#c0392b;--danger-soft:#fbe6e3;--warning:#a86b00;--warning-soft:#fdf1d8;--line-green:#06c755;--radius-s:8px;--radius-m:14px;--radius-l:22px;--shadow:0 2px 12px #50283214;--gap:16px;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary-strong)}.btn{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;text-decoration:none;transition:transform 50ms,opacity .15s,background .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-line{background:var(--line-green);border-color:var(--line-green);color:#fff}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{color:var(--primary-strong);background:0 0;border-color:#0000}.btn-block{width:100%;display:flex}.btn-s{min-height:32px;padding:4px 12px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow);padding:var(--gap)}.chip{background:var(--primary-soft);color:var(--primary-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip-success{background:var(--success-soft);color:var(--success)}.chip-warning{background:var(--warning-soft);color:var(--warning)}.chip-danger{background:var(--danger-soft);color:var(--danger)}.chip-neutral{color:var(--text-soft);background:#f0ebe8}.field{flex-direction:column;gap:6px;display:flex}.field>label,.label{color:var(--text-soft);font-size:13px;font-weight:600}.input,.select,.textarea{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);width:100%;min-height:44px;padding:10px 12px}.textarea{resize:vertical;min-height:96px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.hint{color:var(--text-soft);font-size:12px}.error-text{color:var(--danger);font-size:13px}.notice{border-radius:var(--radius-s);background:var(--surface-soft);padding:12px 14px;font-size:14px}.notice-success{background:var(--success-soft);color:var(--success)}.notice-warning{background:var(--warning-soft);color:var(--warning)}.notice-danger{background:var(--danger-soft);color:var(--danger)}.progress{background:var(--primary-soft);border-radius:999px;height:10px;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--primary), #e58aa0);border-radius:999px;height:100%;transition:width .4s;display:block}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.table th{color:var(--text-soft);white-space:nowrap;font-size:12px;font-weight:600}.modal-backdrop{z-index:50;background:#28191e73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-m);width:100%;max-width:560px;max-height:90vh;padding:20px;overflow:auto;box-shadow:0 12px 40px #0003}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;border-radius:var(--radius-m);color:#fff;white-space:pre-wrap;background:#33282bf0;max-width:min(92vw,420px);padding:12px 16px;font-size:14px;position:fixed;transform:translate(-50%)}.spinner{border:3px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;padding:24px;display:flex}.stack{gap:var(--gap);flex-direction:column;display:flex}.stack-s{flex-direction:column;gap:8px;display:flex}.row{align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.wrap{flex-wrap:wrap}.muted{color:var(--text-soft)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
