:root{--bg:#f7f7f5;--card:#fff;--text:#222;--muted:#6b6b6b;--border:#ddd;--accent:#6f4caf;--accent2:#f1ebfb;--danger:#a22;--ok:#27633a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.55}
main{max-width:980px;margin:0 auto;padding:20px}.panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:16px}
h1{font-size:1.8rem;margin:.2rem 0 1rem}h2{font-size:1.2rem;margin:.2rem 0 .8rem}.muted{color:var(--muted);font-size:.92rem}.hidden{display:none!important}
button,.button{appearance:none;border:0;border-radius:10px;background:var(--accent);color:#fff;padding:12px 18px;font-size:1rem;font-weight:700;cursor:pointer;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button.secondary{background:#555}button:disabled{opacity:.5;cursor:not-allowed}
.progress{height:10px;border-radius:999px;background:#e8e8e8;overflow:hidden}.progress>div{height:100%;background:var(--accent);width:0;transition:width .2s}.progress-label{display:flex;justify-content:space-between;font-size:.9rem;margin-top:6px;color:var(--muted)}
.task-image{display:block;width:100%;max-height:680px;object-fit:contain;background:#eee;border-radius:12px;border:1px solid var(--border)}.weight-box{font-size:1.4rem;font-weight:800;margin:12px 0;padding:10px 14px;background:#fff0f4;border:1px solid #f2ccd7;border-radius:10px}
.bird-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bird-card{position:relative;border:2px solid var(--border);border-radius:12px;padding:10px;background:#fff;cursor:pointer;min-width:0}.bird-card.selected{border-color:var(--accent);background:var(--accent2)}.bird-card input{position:absolute;top:10px;right:10px;width:22px;height:22px}.bird-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#eee}.bird-card .name{font-weight:800;font-size:1.05rem;margin-top:7px}.bird-card .ref{font-size:.88rem;color:var(--muted)}.thumb-row{display:flex;gap:5px;margin-top:6px;overflow:hidden}.thumb-row img{width:44px;height:44px;aspect-ratio:auto;border-radius:5px}
.options{display:grid;gap:8px;margin-top:14px}.option{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}.option input{width:21px;height:21px;flex:0 0 auto;margin-top:2px}.warning{padding:10px 12px;border-radius:10px;background:#fff4e5;border:1px solid #efc37a;color:#66400b;margin-top:12px}.error{padding:10px 12px;border-radius:10px;background:#fff0f0;color:var(--danger);border:1px solid #e7b2b2}.success{padding:12px;border-radius:10px;background:#edf8ef;color:var(--ok);border:1px solid #b9ddc2}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.coupon{font-size:1.6rem;font-weight:900;letter-spacing:.08em;background:#f3eefb;border:2px dashed var(--accent);padding:16px;border-radius:12px;text-align:center;margin:14px 0}.guide li{margin:.45rem 0}
@media(max-width:720px){main{padding:12px}.panel{padding:14px}.bird-grid{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:1.45rem}.task-image{max-height:520px}}
@media(max-width:390px){.bird-grid{grid-template-columns:1fr}.bird-card{display:grid;grid-template-columns:110px 1fr;gap:10px}.bird-card img{grid-row:1/4}.thumb-row{display:none}}

/* BirdLab v0.3 candidate ranking / feature text */
.candidate-heading{margin-top:18px}.bird-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bird-card{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:10px;align-items:start;position:relative;padding-top:38px}
.bird-card>img{width:100%;aspect-ratio:1/1;grid-row:1/2}.bird-info{min-width:0}.rank-badge{position:absolute;left:10px;top:8px;font-size:.78rem;font-weight:800;background:#f0f0f0;border:1px solid #ddd;border-radius:999px;padding:3px 8px}
.bird-description{margin-top:7px;padding:8px 9px;background:#f8f7fb;border-radius:8px;font-size:.88rem;line-height:1.45;white-space:pre-wrap}.special-options{margin-top:18px}.special-option:has(input:checked){border-color:var(--accent);background:var(--accent2)}
@media(max-width:720px){.bird-grid{grid-template-columns:1fr}.bird-card{grid-template-columns:120px 1fr}.bird-card>img{grid-row:1/3}.bird-description{font-size:.84rem}}
@media(max-width:390px){.bird-card{grid-template-columns:96px 1fr}.bird-card img{grid-row:auto}.thumb-row{display:flex}.rank-badge{font-size:.72rem}}

/* BirdLab v0.3.4 UI tweaks */
.abnormal-option{background:#f3edff;border-color:#d8c8f3}
.abnormal-option:has(input:checked){background:#e8dcfb;border-color:#8a67c7}
.abnormal-option input{accent-color:#7650b8}


/* BirdLab v0.3.7 mobile quick-submit / coupon guidance */
.bird-choice-block{min-width:0}.choice-submit-wrap{margin-top:8px}.choice-submit-btn{width:100%;background:#6f4caf}.special-choice-block{min-width:0}.special-choice-block .choice-submit-wrap{margin-top:6px}.coupon-guide{margin:12px 0;padding:12px 14px;border-radius:10px;background:#fff4e8;border:1px solid #efc78c;color:#5e3c0b;line-height:1.55}.coupon{user-select:all;-webkit-user-select:all}.coupon-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.coupon-copy-btn{background:#4e5968}
@media(max-width:720px){.choice-submit-btn{min-height:50px;font-size:1.02rem}.coupon-actions{display:grid;grid-template-columns:1fr}.coupon-actions .button{width:100%}}
