:root{--bg:#f5f7fb;--card:#fff;--text:#1a2233;--muted:#5b6475;--line:#dde3ee;--brand:#0d47a1;--brand-ink:#fff;--warn:#b45309;--warn-bg:#fff7ed;--err:#b91c1c;--err-bg:#fef2f2;--ok-bg:#ecfdf5;--ok:#065f46}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-size:15px;line-height:1.7}header{background:var(--brand);color:var(--brand-ink);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px}.brand{font-weight:700;letter-spacing:.04em}.brand span{font-weight:400;opacity:.9;margin-left:4px}nav{display:flex;flex-wrap:wrap;gap:12px;align-items:center}nav a,nav .link{color:var(--brand-ink);text-decoration:none;font-size:14px;background:none;border:0;padding:0;cursor:pointer;font:inherit}nav a:hover,nav .link:hover{text-decoration:underline}main{max-width:1100px;margin:0 auto;padding:16px}.role-admin main{max-width:1600px}.role-admin td:last-child{min-width:320px}.clip{display:inline-block;max-width:220px;white-space:normal;overflow-wrap:anywhere}h1{font-size:22px;margin:8px 0 16px}h2{font-size:17px;margin:0 0 10px}h3{font-size:15px;margin:14px 0 6px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin:0 0 16px}.card.narrow{max-width:420px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.stat .k{color:var(--muted);font-size:13px}.stat .v{font-size:24px;font-weight:700}.stat .v.small{font-size:13px;word-break:break-all;font-weight:400}.stat .muted-v{color:var(--muted)}.stat.warn{border-color:#f59e0b;background:var(--warn-bg)}.muted{color:var(--muted);font-size:13px}.flash{background:var(--ok-bg);color:var(--ok);border:1px solid #a7f3d0;padding:10px 12px;border-radius:8px}.error{background:var(--err-bg);color:var(--err);border:1px solid #fecaca;padding:10px 12px;border-radius:8px}.badge{display:inline-block;background:var(--warn-bg);color:var(--warn);border:1px solid #fcd34d;border-radius:999px;font-size:12px;padding:0 8px}.tw{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:16px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}td:last-child{white-space:normal;min-width:180px}th{background:#eef2f9;font-weight:600}label{display:block;margin:0 0 10px;font-size:14px}input,select{display:block;width:100%;max-width:420px;padding:8px 10px;border:1px solid #b9c2d3;border-radius:6px;font:inherit;background:#fff;color:var(--text)}.row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.row select,.row input{flex:1 1 140px;max-width:none}label.radio{display:flex;gap:6px;align-items:center}label.radio input{width:auto;display:inline}button{background:var(--brand);color:var(--brand-ink);border:0;border-radius:6px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer}button.small{padding:4px 10px;font-size:13px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}form.inline{display:inline-block;margin:2px 4px 2px 0}td a{white-space:nowrap;margin-right:6px}details summary{cursor:pointer;color:var(--brand);font-size:13px}ul.rules{margin:0;padding-left:20px}ul.rules li{margin-bottom:4px}code{background:#eef2f9;padding:1px 6px;border-radius:4px;font-size:13px;overflow-wrap:anywhere}:root{--open-bg:#dbeafe;--open-ink:#1e3a8a;--open-line:#93c5fd;--open-on:#1d4ed8;--cons-bg:#fef3c7;--cons-ink:#78350f;--cons-line:#fcd34d;--cons-on:#b45309;--won-bg:#d1fae5;--won-ink:#065f46;--won-line:#6ee7b7;--won-on:#047857;--lost-bg:#e5e7eb;--lost-ink:#374151;--lost-line:#cbd0d8;--lost-on:#4b5563;--all-bg:#eef2f9;--all-ink:#1a2233;--all-line:#c7d0e0;--all-on:#0d47a1}.st-open{--bg:var(--open-bg);--ink:var(--open-ink);--ln:var(--open-line);--on:var(--open-on)}.st-considering{--bg:var(--cons-bg);--ink:var(--cons-ink);--ln:var(--cons-line);--on:var(--cons-on)}.st-won{--bg:var(--won-bg);--ink:var(--won-ink);--ln:var(--won-line);--on:var(--won-on)}.st-lost{--bg:var(--lost-bg);--ink:var(--lost-ink);--ln:var(--lost-line);--on:var(--lost-on)}.st-all{--bg:var(--all-bg);--ink:var(--all-ink);--ln:var(--all-line);--on:var(--all-on)}.st{display:inline-block;background:var(--bg);color:var(--ink);border:1px solid var(--ln);border-radius:999px;padding:0 10px;font-size:13px;font-weight:700;line-height:1.7;white-space:nowrap}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.tab{display:inline-flex;align-items:center;gap:8px;background:var(--bg);color:var(--ink);border:1px solid var(--ln);border-radius:999px;padding:5px 14px;font-size:14px;font-weight:700;text-decoration:none}.tab:hover{border-color:var(--on)}.tab .n{background:#fff;color:var(--ink);border-radius:999px;padding:0 8px;font-size:12px;min-width:26px;text-align:center}.tab.on{background:var(--on);border-color:var(--on);color:#fff}.tab.on .n{background:rgba(255,255,255,.22);color:#fff}a.stat{display:block;color:var(--text);text-decoration:none}a.stat:hover{border-color:var(--brand)}.stat.st-open,.stat.st-considering,.stat.st-won,.stat.st-lost{border-left:6px solid var(--on)}.stat .v .unit{font-size:13px;font-weight:400;color:var(--muted);margin-left:4px}.st-note{display:block;margin-top:2px;font-size:12px;color:var(--muted);white-space:nowrap}.cards.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.cards>.card{margin:0}.links dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 8px;align-items:baseline}.links dt{font-size:14px;color:var(--muted)}.links dd{margin:0;min-width:0}.links code{word-break:break-all;font-size:14px}@media (max-width:600px){.links dl{grid-template-columns:1fr;gap:2px}.links dd{margin-bottom:8px}}.site{display:inline-block;border-radius:4px;padding:0 6px;font-size:12px;font-weight:700;border:1px solid #c7d0e0;background:#fff;color:#1a2233}.site-toys{border-color:#f0abfc;background:#fdf4ff;color:#701a75}h2.sec{margin:20px 0 10px}details.sec{margin:20px 0 10px}details.sec>summary{font-size:17px;font-weight:700;color:var(--text);margin-bottom:10px}button.danger{background:#b91c1c}button.danger:hover{background:#991b1b}a.btn{display:inline-block;background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand);border-radius:6px;padding:8px 16px;font-weight:600;text-decoration:none;margin:2px 4px 2px 0}a.btn.sub{background:#fff;color:var(--brand)}button:disabled{background:#9aa5b8;cursor:not-allowed}textarea{display:block;width:100%;max-width:640px;padding:8px 10px;border:1px solid #b9c2d3;border-radius:6px;font:inherit;background:#fff;color:var(--text)}.notice{border-color:#f59e0b;background:var(--warn-bg)}.notice.ok{border-color:#6ee7b7;background:var(--ok-bg)}.notice h2{color:#78350f}.notice.ok h2{color:var(--ok)}.terms-box{max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:12px 16px;background:#fff}.terms-doc h2.terms-title{font-size:18px;margin:4px 0}.terms-doc .terms-rev{color:var(--muted);margin-top:0}.terms-doc h3{font-size:15px;margin:16px 0 6px;padding-top:8px;border-top:1px solid var(--line)}.terms-doc p{margin:0 0 8px;font-size:14px}table.kv{border-collapse:collapse;width:100%;font-size:14px}table.kv th{width:30%;background:#f3f6fb;white-space:normal}table.kv td{white-space:normal;overflow-wrap:anywhere}.pre{white-space:normal}label.agree{display:flex;gap:8px;align-items:flex-start;font-weight:700;margin:14px 0}label.agree input{width:auto;margin-top:5px;display:inline}.actions{margin:0 0 12px}@media (max-width:600px){table.kv th,table.kv td{display:block;width:100%}table.kv th{border-bottom:0}}@media print{header,nav,.no-print,.flash{display:none!important}body{background:#fff}main{max-width:none;padding:0}.card{border:0;padding:0}table.kv th{background:#eee}}.login{margin:0 0 6px;white-space:normal;min-width:260px}.login form.inline{margin-left:4px}.login button,td form.inline button{white-space:nowrap}@media (max-width:600px){main{padding:12px}h1{font-size:19px}.stat .v{font-size:20px}th,td{padding:6px 8px;font-size:13px}.role-media td:last-child{min-width:0}.tab{padding:4px 12px;font-size:13px}}