*{box-sizing:border-box}body{margin:0;background:#f1f4fa;color:#17243b;font-family:system-ui,"Noto Sans JP",sans-serif}main{max-width:960px;margin:auto;padding:24px 18px}header{background:#0d1e3a;color:#fff;border-top:5px solid #e5bf65;border-radius:18px;padding:28px;margin-bottom:20px}h1{font-size:clamp(24px,5vw,36px);margin:8px 0}h2{font-size:21px;margin:0 0 20px}h2 span{margin-left:12px}header p{margin:9px 0}.eyebrow{letter-spacing:.15em;color:#e5bf65;font-size:12px}.back{color:#fff}.muted,small{color:#68768b;font-size:13px;line-height:1.7}header .muted{color:#b8c7df}button,input,textarea,select{font:inherit}button,.back{min-height:44px}button{border:0;border-radius:9px;padding:12px 18px;background:#173a68;color:#fff;cursor:pointer;font-weight:700}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#e7edf5;color:#233c5d}.danger{background:#fff0f0;color:#a42535}nav{display:flex;gap:8px;margin:20px 0}nav button{flex:1;background:#e1e8f2;color:#233c5d}nav .active{background:#173a68;color:white}.card{background:white;border:1px solid #e0e6ef;border-radius:15px;padding:24px;margin:16px 0;box-shadow:0 4px 20px #132b4b05}.row,.section-heading{display:flex;gap:16px;align-items:end;flex-wrap:wrap;justify-content:space-between}.row label{flex:1;min-width:130px}label{display:block;font-weight:600;margin:12px 0}label small{font-weight:400}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:12px;border:1px solid #cbd5e3;border-radius:8px;background:white;color:#17243b;margin-top:7px}textarea{resize:vertical}fieldset{border:0;padding:0;margin:0;min-width:0}.group{border:1px solid #d7e0ec;border-radius:12px;padding:18px;margin:18px 0;background:#fafbfd}.group .row{gap:10px}.boat-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:14px 0}.boat-row strong{width:44px;font-size:13px}.boat{width:44px;height:44px;padding:0;border:2px solid transparent;border-radius:9px;position:relative}.boat[data-n="1"]{background:#fff;color:#18263c;border-color:#b6c1cf}.boat[data-n="2"]{background:#252831}.boat[data-n="3"]{background:#db3a40}.boat[data-n="4"]{background:#237dc3}.boat[data-n="5"]{background:#f0ca3f;color:#17243b}.boat[data-n="6"]{background:#23966b}.boat.selected{outline:3px solid #7894bf;outline-offset:2px;transform:translateY(-2px)}.boat.selected:after{content:'✓';position:absolute;right:0;top:-8px;background:#17243b;color:#fff;border-radius:50%;font-size:12px;width:18px;height:18px}.totals{font-size:19px;font-weight:700;padding:18px 0;color:#183d6b}#notice{padding:13px 17px;border-radius:10px;background:#e7edf5;white-space:pre-line}#notice.error,.status-error{color:#b32939;background:#fff1f2}#notice:empty{display:none}#raceInfo{margin-top:20px}#raceInfo .entries{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.entry{padding:9px;background:#edf2f8;border-radius:6px;font-size:14px}.race-status{font-weight:700}.status-error{padding:10px;border-radius:7px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.summary{font-size:14px;line-height:1.8;white-space:pre-wrap}#previewImage{display:block;max-width:100%;width:500px;height:auto;margin:0 auto}pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.profit{color:#0d7b52;font-weight:700}.loss{color:#bb3647;font-weight:700}footer{text-align:center;color:#8b97aa;margin:40px 0;font-size:12px}[hidden]{display:none!important}@media(max-width:600px){main{padding:12px}header,.card{padding:18px}.row{gap:10px}nav button{padding:10px 6px;font-size:13px}.group{padding:12px}#raceInfo .entries{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

nav{flex-wrap:wrap}nav button{flex:1 1 28%}.prediction-card>summary{cursor:pointer;font-weight:700;font-size:18px;overflow-wrap:anywhere;line-height:1.6}.prediction-card-body{margin-top:18px;border-top:1px solid #e0e6ef;padding-top:12px}
