:root{--bg:#f3f4f6;--card:#fff;--ink:#111827;--muted:#6b7280;--accent:#7c3aed;--accent2:#ede9fe;--line:#e5e7eb;--danger:#dc2626;--safe:#059669;--shadow:0 10px 30px rgba(17,24,39,.08)}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif}body{min-height:100vh}.app-shell{max-width:480px;min-height:100vh;margin:0 auto;background:var(--bg);padding-bottom:calc(84px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:calc(16px + env(safe-area-inset-top)) 18px 14px;background:rgba(243,244,246,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,231,235,.8)}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em}.topbar h1{margin:0;font-size:28px;letter-spacing:-.03em}.icon-button{width:44px;height:44px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-size:28px;line-height:1;box-shadow:var(--shadow)}.content{padding:16px}.hero{padding:20px;border-radius:24px;background:linear-gradient(135deg,#111827,#4c1d95);color:#fff;box-shadow:var(--shadow)}.hero p{margin:4px 0;color:#ddd6fe}.hero strong{font-size:32px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:24px 2px 10px}.section-head h2{font-size:18px;margin:0}.section-head span{font-size:13px;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:12px;box-shadow:0 6px 18px rgba(17,24,39,.04)}.show-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.show-title{font-size:17px;font-weight:800;margin:0 0 5px}.meta{font-size:13px;color:var(--muted);margin:0}.badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#f3f4f6;font-size:12px;font-weight:700}.badge.accent{background:var(--accent2);color:#5b21b6}.badge.safe{background:#d1fae5;color:#065f46}.badge.warn{background:#fef3c7;color:#92400e}.progress-wrap{margin-top:12px}.progress-track{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:999px}.progress-text{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--muted)}.round-action{width:42px;height:42px;border-radius:50%;border:0;background:var(--accent2);font-size:20px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:30;width:min(480px,100%);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.nav-item{border:0;background:transparent;color:var(--muted);padding:7px 2px;border-radius:14px;display:flex;flex-direction:column;gap:3px;align-items:center}.nav-item span{font-size:21px}.nav-item small{font-size:10px;font-weight:700}.nav-item.active{color:var(--accent);background:var(--accent2)}.search{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font-size:16px;background:#fff}.chips{display:flex;gap:8px;overflow:auto;padding:10px 0 2px}.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;color:var(--muted)}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.calendar{background:#fff;border-radius:20px;padding:14px;border:1px solid var(--line)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.dow{font-size:11px;color:var(--muted);padding:4px}.day{min-height:48px;border:0;background:#f9fafb;border-radius:12px;padding:6px 2px;font-weight:700;position:relative}.day.empty{background:transparent}.day.has::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);bottom:5px;left:50%;transform:translateX(-50%)}.day.today{outline:2px solid var(--accent)}.vod-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vod-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.vod-card strong{display:block;font-size:18px}.vod-card span{color:var(--muted);font-size:13px}.settings-list .card{display:flex;justify-content:space-between;align-items:center}.toggle{width:50px;height:30px;border-radius:999px;border:0;background:#d1d5db;position:relative}.toggle.on{background:var(--accent)}.toggle::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.2s}.toggle.on::after{left:23px}.sheet-dialog{border:0;padding:0;background:transparent;width:100%;max-width:480px;margin:auto 0 0;max-height:92vh}.sheet-dialog::backdrop{background:rgba(0,0,0,.35)}.sheet{background:#fff;border-radius:26px 26px 0 0;padding:10px 18px calc(24px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto}.sheet-handle{width:42px;height:5px;border-radius:999px;background:#d1d5db;margin:2px auto 12px}.sheet-header{display:flex;justify-content:space-between;align-items:center}.sheet-header h2{margin:0 0 14px}.text-button{border:0;background:none;color:var(--accent);font-weight:800}.sheet label{display:block;font-size:13px;font-weight:800;color:#374151;margin:12px 0}.sheet input,.sheet select,.sheet textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:16px;background:#fff}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary-button,.danger-button{width:100%;border:0;border-radius:14px;padding:14px;font-size:16px;font-weight:800;margin-top:12px}.primary-button{background:var(--ink);color:#fff}.danger-button{background:#fee2e2;color:var(--danger)}.hidden{display:none!important}.empty-state{text-align:center;padding:36px 20px;color:var(--muted)}.empty-state .emoji{font-size:42px}.mini-actions{display:flex;gap:8px;margin-top:10px}.mini-button{border:0;border-radius:10px;padding:8px 10px;font-weight:800;background:#f3f4f6}.mini-button.primary{background:var(--accent2);color:#5b21b6}
@media (min-width:700px){body{padding:20px}.app-shell{border-radius:28px;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.14);min-height:calc(100vh - 40px)}.bottom-nav{bottom:20px;border-radius:0 0 28px 28px}.sheet-dialog{margin:auto}.sheet{border-radius:26px}}

/* Ver0.2: 複数VOD・見る候補検索 */
.platform-fieldset{border:1px solid var(--line);border-radius:16px;padding:12px;margin:14px 0}.platform-fieldset legend{padding:0 6px;font-size:13px;font-weight:800;color:#374151}.platform-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.platform-check{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f9fafb;font-weight:700!important}.platform-check input{width:20px!important;height:20px;margin:0!important;accent-color:var(--accent)}.platform-check span{font-size:13px}.field-help{margin:10px 2px 0;color:var(--muted);font-size:12px;line-height:1.55}.platform-badge{background:#eef2ff;color:#3730a3}.candidate-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:0 6px 18px rgba(17,24,39,.04)}.candidate-head{margin:0 2px 10px}.candidate-results{margin-top:10px}.search-hint{margin:10px 2px;color:var(--muted);font-size:13px;line-height:1.55}.candidate-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px;border-top:1px solid var(--line)}.candidate-row:first-child{border-top:0}.candidate-row strong{font-size:15px}.candidate-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.candidate-actions{display:flex;align-items:center;gap:7px}.status-note{white-space:nowrap;font-size:12px;font-weight:800;color:var(--accent)}.candidate-free-add{width:100%;border:1px dashed var(--accent);border-radius:12px;padding:12px;background:var(--accent2);color:#5b21b6;font-weight:800;text-align:left}.danger-text{color:var(--danger);background:#fee2e2}.vod-card{appearance:none;text-align:left;color:var(--ink);cursor:pointer}.vod-card.selected{outline:2px solid var(--accent);background:var(--accent2)}
@media(max-width:360px){.platform-options{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.candidate-row{align-items:flex-start;flex-direction:column}.candidate-actions{width:100%;justify-content:flex-end}}
