:root{--orange:#ff9800;--orange2:#ffb321;--ink:#222;--muted:#6b7280;--bg:#fffaf2;--line:#eee;--green:#2e8b57}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}
.topbar{background:#fff;border-bottom:1px solid var(--line)}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}.logo{width:320px}.tag{font-size:13px;color:var(--muted)}.post-btn{background:var(--orange);color:#fff;padding:12px 18px;border-radius:999px;font-weight:700}
.hero{background:linear-gradient(180deg,#fff 0,#fff8e8 100%);padding:24px 0 0}.hero-copy{text-align:center}.hero-copy h1{font-size:clamp(28px,5vw,52px);margin:8px 0}.hero-copy p{color:var(--muted);margin:0 0 20px}.characters{margin:18px auto 0;max-width:825px}
.searchbox{background:#fff;border:1px solid #f2dfbd;box-shadow:0 8px 30px rgba(0,0,0,.06);padding:16px;border-radius:18px;display:grid;grid-template-columns:1.1fr 1fr 1fr 1.3fr auto;gap:10px;margin:26px auto}.searchbox select,.searchbox input{width:100%;padding:13px;border:1px solid #ddd;border-radius:10px;background:#fff}.searchbox button{border:0;border-radius:10px;padding:0 22px;background:var(--orange);color:#fff;font-weight:700;cursor:pointer}
.section{padding:34px 0}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.section-title h2{margin:0;font-size:26px}.section-title small{color:var(--muted)}
.categories{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.cat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 8px;text-align:center}.cat b{display:block;margin-top:8px;font-size:14px}.cat .ico{font-size:28px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.04)}.thumb{aspect-ratio:16/9;background:#f4f4f4;object-fit:cover;width:100%}.card-body{padding:16px}.meta{font-size:13px;color:var(--muted)}.card h3{margin:8px 0;font-size:19px;line-height:1.45}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.badge{font-size:12px;background:#fff2d8;color:#9a5a00;border-radius:999px;padding:4px 8px}.badge.free{background:#eaf8ef;color:#247448}
.empty{background:#fff;border:1px dashed #ccc;border-radius:16px;padding:40px;text-align:center;color:var(--muted)}
.region{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.region a{background:#fff;border:1px solid var(--line);padding:14px;border-radius:12px;text-align:center;font-weight:700}.footer{margin-top:40px;background:#222;color:#ddd;padding:30px 0}.footer small{color:#aaa}
.detail{background:#fff;border-radius:18px;border:1px solid var(--line);padding:26px}.detail h1{margin-top:0}.detail-table{width:100%;border-collapse:collapse;margin:20px 0}.detail-table th,.detail-table td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.detail-table th{width:160px;background:#fffaf2}.source-link{display:inline-block;padding:10px 14px;border:1px solid #ddd;border-radius:10px}
@media(max-width:900px){.searchbox{grid-template-columns:1fr 1fr}.searchbox button{min-height:46px}.categories{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.region{grid-template-columns:repeat(2,1fr)}.header{align-items:flex-start}.logo{width:250px}}
@media(max-width:600px){.wrap{width:min(100% - 20px,1120px)}.header{flex-wrap:wrap}.post-btn{font-size:13px}.searchbox{grid-template-columns:1fr}.categories{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.detail{padding:18px}.detail-table th{width:105px}.hero-copy h1{font-size:30px}}

/* v2: 投稿・管理画面 */
.form-single{display:grid!important;grid-template-columns:1fr!important;max-width:760px;margin-left:0!important}
.form-single textarea,.admin-form textarea{padding:13px;border:1px solid #ddd;border-radius:10px;font:inherit;resize:vertical}
.upload-label{display:grid;gap:7px;font-weight:700;color:#444}.upload-label input{font-weight:400}
.admin-body{background:#f6f7f9;color:#222}.admin-top{background:#222;color:#fff}.admin-head{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:20px}.admin-head nav{display:flex;flex-wrap:wrap;gap:14px}.admin-head a{color:#fff;text-decoration:none}.admin-main{padding:28px 0 60px}.admin-main h1{margin:0 0 22px}.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-cards a{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:24px;text-decoration:none;color:#222}.admin-cards b{font-size:34px;display:block;color:#ff9300}.admin-cards span{color:#666}.admin-note,.admin-ok,.admin-error{padding:12px 15px;border-radius:10px;margin:15px 0}.admin-note{background:#fff7e8}.admin-ok{background:#e9f9ef}.admin-error{background:#ffeaea;color:#a40000}.admin-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.admin-actions a{text-decoration:none}.admin-btn,.admin-form button,.admin-login button,.inline-form button{border:0;background:#ff9300;color:#fff;border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.danger{background:#b42318!important;color:#fff;border:0;border-radius:7px;padding:8px 10px;cursor:pointer}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid #e5e5e5;border-radius:12px}.admin-table{width:100%;border-collapse:collapse;min-width:780px}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.admin-table th{background:#fafafa}.admin-thumb{width:80px;height:54px;object-fit:cover;border-radius:7px}.edit-preview{max-width:320px;max-height:220px;display:block;margin-top:10px;border-radius:10px}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:#fff;padding:20px;border:1px solid #e5e5e5;border-radius:14px}.admin-form label{display:grid;gap:6px;font-weight:700}.admin-form input,.admin-form select,.admin-login input{padding:11px;border:1px solid #ccc;border-radius:8px;font:inherit;background:#fff}.admin-form .wide{grid-column:1/-1}.admin-checks{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.admin-checks label,.checkline{display:flex!important;align-items:center;gap:7px}.compact{margin-bottom:22px}.inline-form{display:flex;gap:6px}.admin-login{max-width:420px;margin:90px auto;background:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:28px}.admin-login form{display:grid;gap:14px}.admin-login label{display:grid;gap:6px;font-weight:700}
@media(max-width:800px){.admin-cards{grid-template-columns:1fr 1fr}.admin-head{align-items:flex-start;flex-direction:column;padding:14px 0}.admin-form{grid-template-columns:1fr}.admin-form .wide{grid-column:auto}}
@media(max-width:520px){.admin-cards{grid-template-columns:1fr}}

/* v3 collector */
.collector-run-box{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff8eb;border:1px solid #ffd79d;border-radius:16px;padding:20px 22px;margin:0 0 22px}.collector-run-box h2{margin:0 0 5px;font-size:20px}.collector-run-box p{margin:0;color:#666}.collect-now{font-size:16px;padding:13px 24px;white-space:nowrap}.admin-btn.secondary{background:#666}.admin-actions-row{display:flex;gap:10px;margin:18px 0 22px}.admin-result-summary{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:10px;margin:15px 0 12px}.admin-result-summary>div{background:#fff;border:1px solid #e4e4e4;border-radius:13px;padding:15px;text-align:center}.admin-result-summary b{display:block;font-size:26px;line-height:1.1}.admin-result-summary span{display:block;color:#777;font-size:12px;margin-top:6px}.admin-result-summary .good{background:#f2fff7;border-color:#bfe9cf}.admin-note{background:#f7f8fa;border-radius:10px;padding:12px 14px;color:#555}.status-ok{display:inline-block;background:#e8f8ef;color:#087a3d;border-radius:99px;padding:4px 9px;font-weight:700}.status-ng{display:inline-block;background:#ffe9e6;color:#b42318;border-radius:99px;padding:4px 9px;font-weight:700}.error-text{color:#b42318}.collector-examples{margin:0;padding-left:18px;font-size:12px}.collector-examples li{margin:2px 0}.source-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.source-actions form{margin:0}.mini-btn{border:0;background:#333;color:#fff;border-radius:7px;padding:8px 10px;cursor:pointer}.filter-box{margin:22px 0;background:#fff;border:1px solid #e7e7e7;border-radius:14px;padding:18px 20px}.filter-box h2{font-size:18px;margin:0 0 8px}.filter-box p{margin:6px 0;color:#555}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:12px}.filter-grid>div{background:#f7f8fa;border-radius:10px;padding:12px 14px}
@media(max-width:900px){.collector-run-box{align-items:stretch;flex-direction:column}.admin-result-summary{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:1fr}.source-actions{display:block}.source-actions form{margin:4px 0}}

/* v9 募集情報 */
.recruitment-section{background:#fff7e8}.recruitment-card{border-color:#ffd59a}.recruit-label{display:inline-block;background:#ff9300;color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:5px 9px;margin-bottom:7px}.recruit-notice{background:#fff3d8;border:1px solid #ffd18b;border-radius:12px;padding:14px 16px;margin:16px 0;color:#7a4a00}


/* v10 元ページ再解析 */
.reanalyze-box,.reanalyze-preview{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px 22px;margin:0 0 22px}.reanalyze-box{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.reanalyze-box h2,.reanalyze-preview h2{margin:0 0 8px;font-size:1.15rem}.reanalyze-box p{margin:0;color:#5b6470;line-height:1.7}.reanalyze-actions{margin-left:auto}.reanalyze-preview{border-color:#ffd49a;background:#fffaf2}.reanalyze-preview-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.reanalyze-preview-head span,.admin-note{font-size:.9rem;color:#697386}.reanalyze-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.reanalyze-grid>div{background:#fff;border:1px solid #eceff3;border-radius:10px;padding:12px}.reanalyze-grid b,.reanalyze-grid span{display:block}.reanalyze-grid b{font-size:.82rem;color:#737b86;margin-bottom:5px}.reanalyze-reason{background:#fff;border-left:4px solid #ff9500;padding:10px 12px}.admin-btn[disabled]{opacity:.45;cursor:not-allowed}@media(max-width:800px){.reanalyze-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
