*{box-sizing:border-box}:root{--ink:#1a202c;--ink-2:#4a5568;--ink-3:#94a3b8;--bg:#f7f8fa;--card:#fff;--line:#e2e8f0;--brand:#2563eb}body{color:var(--ink);background:var(--bg);margin:0;font-family:Noto Sans JP,-apple-system,sans-serif;line-height:1.7}h1,h2,h3,p{margin:0}button{cursor:pointer;font-family:inherit}input,textarea,select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}input:focus,textarea:focus,select:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:#0000}input[type=checkbox],input[type=radio]{width:18px;min-width:18px;height:18px;accent-color:var(--brand);border-radius:4px;padding:0}.muted{color:var(--ink-3)}.prewrap{white-space:pre-wrap}.btn{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.watch-root{background:#fff;min-height:100vh}.watch-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.watch-logo{font-size:16px;font-weight:700}.watch-live{color:#fff;background:#e11d48;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.watch-hero{max-width:1080px;margin:0 auto;padding:36px 24px 20px}.watch-schedule{color:var(--brand);font-size:14px;font-weight:700}.watch-hero h1{margin:6px 0;font-size:28px;font-weight:700;line-height:1.4}.watch-subtitle{color:var(--ink-2);font-size:15px}.watch-main{grid-template-columns:1fr 300px;align-items:stretch;gap:20px;max-width:1080px;margin:0 auto;padding:0 24px;display:grid}.watch-player{aspect-ratio:16/9;background:#0f172a;border-radius:12px;position:relative;overflow:hidden}.watch-player iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.watch-player-empty{color:#94a3b8;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.watch-chat{border:1px solid var(--line);background:var(--bg);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.watch-chat-head{border-bottom:1px solid var(--line);background:#fff;padding:10px 14px;font-size:13px;font-weight:700}.watch-chat-body{color:var(--ink-2);flex-direction:column;flex:1;gap:8px;padding:14px;font-size:13px;display:flex}.watch-chat-input{border-top:1px solid var(--line);background:#fff;padding:10px}.watch-chat-input input{width:100%;font-size:13px}.watch-sections{max-width:1080px;margin:0 auto;padding:12px 24px 40px}.watch-sections section{margin-top:28px}.watch-sections h2{border-left:4px solid var(--brand);margin-bottom:10px;padding-left:10px;font-size:17px;font-weight:700}.watch-sections p{color:var(--ink-2);font-size:14px}.watch-sections a{color:var(--brand);word-break:break-all}.section-image{border-radius:12px;max-width:100%;margin-top:12px;display:block}.speaker-list{flex-direction:column;gap:12px;display:flex}.speaker-card{border:1px solid var(--line);border-radius:12px;gap:16px;padding:18px;display:flex}.speaker-photo{object-fit:cover;border-radius:50%;flex-shrink:0;width:64px;height:64px}.speaker-avatar{color:#fff;background:var(--brand);border-radius:50%;flex-shrink:0;place-items:center;width:56px;height:56px;font-size:22px;font-weight:700;display:grid}.speaker-name{font-size:15px;font-weight:700}.speaker-title{color:var(--ink-3);margin-bottom:6px;font-size:13px}.watch-footer{border-top:1px solid var(--line);color:var(--ink-3);text-align:center;padding:20px 24px;font-size:12px}.preview-badge{color:var(--brand);border:1px solid var(--brand);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700}@media (width<=860px){.watch-main{grid-template-columns:1fr}.watch-chat{min-height:180px}.watch-hero h1{font-size:22px}}.watch-vod{color:var(--ink-2);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.survey-details{border:1px solid var(--line);background:var(--card);border-radius:12px;overflow:hidden}.survey-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;list-style:none;display:flex}.survey-summary::-webkit-details-marker{display:none}.watch-sections .survey-summary h2{margin:0}.survey-summary-action{color:var(--brand);border:1px solid var(--brand);border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:700}.survey-details .survey-card{border:0;border-top:1px solid var(--line);border-radius:0}.survey-card{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:18px;display:flex}.survey-card .btn{align-self:flex-start}.choices{flex-direction:column;gap:6px;display:flex}.choice{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.q-builder{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:10px;padding:12px;display:flex}.q-builder-head{align-items:center;gap:6px;display:flex}.q-builder-head select{flex:1}.btn.icon{padding:6px 10px;font-size:13px;line-height:1}.btn.icon.danger{color:#b91c1c}.builder-num{color:var(--ink-2);flex:1;font-size:13px;font-weight:700}.photo-row{align-items:center;gap:10px;display:flex}.photo-thumb{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:44px;height:44px}.photo-thumb.square{border-radius:8px}.btn.icon:disabled{opacity:.35;cursor:not-allowed}.survey-note{font-size:12px}.survey-thanks{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.gate-root{place-items:center;min-height:100vh;padding:24px;display:grid}.gate-card{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:440px;padding:32px 28px;display:flex}.gate-company{color:var(--ink-3);font-size:13px}.gate-title{font-size:19px;font-weight:700;line-height:1.5}.gate-help{color:var(--ink-2);font-size:14px}.gate-schedule{color:var(--brand);font-size:14px;font-weight:700}.gate-card .btn:disabled{opacity:.4;cursor:not-allowed}.gate-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:13px}.mail-seminar-panel{gap:10px;margin:12px 0;display:grid}.mail-seminar-panel select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.mail-url-box{border:1px solid var(--line);background:var(--bg);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.mail-url-box .mono{overflow-wrap:anywhere;margin:4px 0 2px}.mail-url-label{color:var(--ink-3);font-size:12px;font-weight:700;display:block}@media (width<=720px){.mail-url-box{display:grid}}.mail-template-tabs{flex-wrap:wrap;gap:6px;margin:10px 0 8px;display:flex}.mail-tags{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 12px;font-size:12px;display:flex}.mail-tags code{color:var(--brand);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-family:SF Mono,Menlo,monospace;font-size:12px}.mail-preview{border:1px dashed var(--line);background:var(--bg);border-radius:8px;margin-top:12px;padding:12px 14px}.mail-preview-label{color:var(--ink-3);margin-bottom:6px;font-size:12px}.mail-preview pre{color:var(--ink-2);white-space:pre-wrap;margin:0;font-family:inherit;font-size:13px}.admin-root{max-width:1200px;margin:0 auto;padding:24px}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-company{color:var(--ink-3);font-size:13px}.admin-header h1{font-size:22px;font-weight:700}.admin-tabs{border-bottom:1px solid var(--line);gap:4px;margin:20px 0 0;display:flex}.tab{color:var(--ink-2);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:14px;font-weight:500}.tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:700}.admin-body{padding-top:20px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.stat-num{font-size:26px;font-weight:700}.stat-label{color:var(--ink-3);font-size:13px}.setup-intro{color:var(--ink-2);margin-bottom:20px;font-size:14px}.setup-step{border:1px solid var(--line);background:var(--card);border-radius:12px;margin-bottom:16px;padding:18px}.setup-step h3{margin-bottom:6px;font-size:15px;font-weight:700}.setup-help{color:var(--ink-2);margin-bottom:12px;font-size:13px}.setup-step input{width:100%;max-width:360px}.setup-list{margin:0 0 12px;padding-left:20px}.setup-list li{color:var(--ink-2);margin-bottom:6px;font-size:14px}.dns-records{flex-direction:column;gap:10px;display:flex}.dns-row{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:12px}.dns-row.pending{opacity:.7;border-style:dashed}.dns-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.dns-type{color:var(--brand);border:1px solid var(--brand);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:700}.dns-name{color:var(--ink);word-break:break-all;font-family:SF Mono,Menlo,monospace;font-size:13px}.dns-value{align-items:center;gap:8px;display:flex}.dns-value code{border:1px solid var(--line);word-break:break-all;background:#fff;border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.dns-note{color:var(--ink-3);margin-top:6px;font-size:12px}.live-bar{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.live-bar-label{color:var(--ink-2);font-size:13px;font-weight:700}.live-duration{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.live-duration input{width:70px}.report{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:24px;padding:20px}.report-head h2{font-size:18px;font-weight:700}.report-head .muted{margin-bottom:16px;font-size:13px}.report-callouts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:8px;display:grid}.callout{background:var(--bg);border-radius:10px;padding:14px 16px}.callout-num{color:var(--brand);font-size:24px;font-weight:700}.callout-label{color:var(--ink-2);font-size:12px}.report-block{margin-top:24px}.report-block h3{margin-bottom:4px;font-size:15px;font-weight:700}.report-note{color:var(--ink-2);margin-bottom:12px;font-size:13px}.chart{width:100%;height:auto}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--ink-3);font-size:11px}.chart .area{fill:var(--brand);opacity:.12}.chart .curve{stroke:var(--brand);stroke-width:2px}.dist{flex-direction:column;gap:8px;display:flex}.dist-row{align-items:center;gap:10px;display:flex}.dist-label{width:72px;color:var(--ink-2);text-align:right;flex-shrink:0;font-size:13px}.dist-track{background:var(--bg);border-radius:4px;flex:1;height:18px;overflow:hidden}.dist-fill{background:var(--brand);border-radius:4px;min-width:2px;height:100%}.dist-count{width:48px;color:var(--ink);flex-shrink:0;font-size:13px}.device-share{flex-wrap:wrap;gap:8px;display:flex}.device-pill{color:var(--ink-2);background:var(--bg);border-radius:999px;padding:5px 14px;font-size:13px}.report-cta{border:1px dashed var(--line);background:var(--bg);border-radius:10px;margin-top:24px;padding:18px}.report-cta h3{margin-bottom:6px;font-size:15px;font-weight:700}.report-cta p{color:var(--ink-2);margin-bottom:12px;font-size:13px}.report-cta-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.filter-group{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;padding:5px 12px;font-size:13px}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:500}.viewer-table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden}.viewer-table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);background:var(--bg);padding:10px 14px;font-size:12px;font-weight:500}.viewer-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px;font-size:14px}.viewer-table tr:last-child td{border-bottom:0}.viewer-name{font-weight:500}.viewer-email{color:var(--ink-3);font-size:12px}.rate-cell{align-items:center;gap:8px;min-width:110px;font-size:13px;display:flex}.rate-bar{background:var(--line);border-radius:999px;flex:1;height:8px;overflow:hidden}.rate-fill{background:var(--brand);border-radius:999px;height:100%}.timeline-bg{fill:var(--line)}.timeline-seg{fill:var(--brand)}.time-cell{color:var(--ink-2);white-space:nowrap;font-size:13px}.row-clickable{cursor:pointer}.row-clickable:hover td{background:var(--bg)}.expander{width:16px;color:var(--ink-3);font-size:11px;display:inline-block}.detail-row td{background:var(--bg);padding:10px 14px 10px 44px}.detail-label{color:var(--ink-3);margin-right:6px;font-size:12px}.session-chip{color:var(--ink-2);border:1px solid var(--line);background:#fff;border-radius:999px;margin-right:8px;padding:3px 12px;font-size:12px;display:inline-block}.device-cell{color:var(--ink-2);white-space:nowrap;margin-right:8px;font-size:13px}.badge-warn{color:#b45309;white-space:nowrap;background:#fef3c7;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.roster-import{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:18px}.roster-import h2{margin-bottom:6px;font-size:16px;font-weight:700}.roster-help{color:var(--ink-2);margin-bottom:10px;font-size:13px}.roster-import textarea{width:100%;margin-bottom:10px}.roster-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.roster-message{color:var(--brand);font-size:13px;font-weight:500}.roster-count{font-size:14px;font-weight:500}.btn.danger{color:#b91c1c;border-color:#fecaca}.mono{font-family:SF Mono,Menlo,monospace;font-size:13px}.url-cell{color:var(--ink-2);word-break:break-all}.section-heading{font-size:18px;font-weight:700}.section-note{color:var(--ink-2);margin-top:2px;font-size:13px}.seminar-table th:last-child,.seminar-table td:last-child{min-width:260px}.active-row{background:#f8fbff}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.row-actions .btn{padding:6px 10px;font-size:12px}.status-pill{border:1px solid var(--line);min-width:58px;color:var(--ink-2);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.published{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.status-pill.draft{color:#92400e;background:#fffbeb;border-color:#fde68a}.status-pill.closed{color:#475569;background:#f8fafc;border-color:#cbd5e1}.empty-panel{border:1px dashed var(--line);background:var(--card);color:var(--ink-3);text-align:center;border-radius:12px;padding:28px}.editor-toolbar{color:var(--ink-2);align-items:center;gap:10px;padding-top:16px;font-size:13px;display:flex}.editor-toolbar input[type=range]{width:220px;accent-color:var(--brand);background:0 0;border:0;padding:0}.editor-seminar-select{align-items:center;gap:8px;display:inline-flex}.editor-seminar-select select{border:1px solid var(--line);min-width:220px;min-height:36px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:6px 10px}.editor-layout{grid-template-columns:360px 1fr;align-items:start;gap:20px;padding-top:12px;display:grid}.form-group{border:1px solid var(--line);background:var(--bg);border-radius:10px}.form-group summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 14px;font-size:14px;font-weight:700}.form-group[open] summary{border-bottom:1px solid var(--line);margin-bottom:12px}.form-group-body{flex-direction:column;gap:14px;padding:0 14px 14px;display:flex}.field-note{color:var(--ink-3);font-size:12px;font-weight:400}.field-note.warn{color:#b45309}.editor-form{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;padding:18px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--ink-2);font-size:13px;font-weight:500}.section-toggles{flex-wrap:wrap;gap:14px;display:flex}.toggle{align-items:center;gap:6px;font-size:13px;display:flex}.editor-preview{position:sticky;top:16px}.preview-label{color:var(--ink-3);margin-bottom:8px;font-size:13px}.preview-frame{border:1px solid var(--line);background:#fff;border-radius:12px;height:70vh;overflow:hidden auto}.preview-scale{transform-origin:0 0;pointer-events:none;width:200%;transform:scale(.5)}@media (width<=980px){.editor-layout{grid-template-columns:1fr}.editor-preview{position:static}}.auth-root{background:linear-gradient(135deg,#f7f8fa 0%,#eef2f7 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:var(--card);border-radius:12px;width:min(420px,100%);padding:28px;box-shadow:0 18px 50px #0f172a14}.auth-card h1{margin-bottom:8px;font-size:24px}.auth-kicker{color:var(--brand);margin-bottom:4px;font-size:13px;font-weight:700}.auth-help{color:var(--ink-2);margin-bottom:18px;font-size:14px}.auth-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.link-btn{background:0 0}.gate-notice{color:#047857;margin-bottom:12px;font-size:13px;font-weight:700}.admin-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-user{color:var(--ink-2);font-size:13px}.survey-response-list{gap:12px;display:grid}.survey-response-card{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:16px}.survey-response-head{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.survey-answer-grid{gap:10px;margin:0;display:grid}.survey-answer-grid div{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:10px 12px}.survey-answer-grid dt{color:var(--ink-3);margin-bottom:3px;font-size:12px;font-weight:700}.survey-answer-grid dd{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px}@media (width<=640px){body{line-height:1.65}input,textarea,select{width:100%;min-height:44px;font-size:16px}.btn{text-align:center;width:100%;padding:11px 14px}.watch-header{align-items:flex-start;gap:8px;padding:12px 14px}.watch-logo{font-size:14px;line-height:1.4}.watch-live,.watch-vod{flex-shrink:0}.watch-hero{padding:22px 14px 14px}.watch-schedule{font-size:13px}.watch-hero h1{margin-top:8px;font-size:21px;line-height:1.45}.watch-subtitle{font-size:14px}.watch-main{gap:12px;padding:0}.watch-player{border-radius:0}.watch-chat{border-radius:10px;min-height:128px;margin:0 14px}.watch-chat-body{max-height:120px;padding:10px 12px;overflow:auto}.watch-sections{padding:6px 14px 28px}.watch-sections section{margin-top:22px}.watch-sections h2{font-size:16px}.watch-sections p,.speaker-title,.choice{font-size:14px}.speaker-card{gap:12px;padding:14px}.speaker-photo,.speaker-avatar{width:48px;height:48px}.survey-card{gap:14px;padding:14px}.survey-card .btn{align-self:stretch}.choices{gap:8px}.choice{border:1px solid var(--line);background:var(--bg);border-radius:8px;align-items:flex-start;min-height:42px;padding:9px 10px}.choice input{width:auto;min-height:auto;margin-top:4px}.gate-root{align-items:start;padding:16px}.gate-card{border-radius:12px;margin-top:18px;padding:22px 18px}.gate-title{font-size:18px}.admin-root{padding:16px 12px}.admin-header{align-items:flex-start}.admin-header h1{font-size:19px}.admin-actions{justify-content:stretch;width:100%}.admin-actions .btn,.row-actions .btn{width:auto}.admin-tabs{scrollbar-width:none;padding-bottom:1px;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex:none;padding:10px 12px}.viewer-table{white-space:nowrap;display:block;overflow-x:auto}.table-toolbar{align-items:stretch}.editor-toolbar{flex-wrap:wrap}.editor-toolbar input[type=range],.editor-seminar-select,.editor-seminar-select select{width:100%}.editor-seminar-select{flex-direction:column;align-items:flex-start}.editor-form{padding:14px}.q-builder-head{flex-wrap:wrap}.q-builder-head select{flex-basis:100%}.btn.icon{width:auto}.photo-row{flex-wrap:wrap;align-items:stretch}.preview-frame{height:56vh}}
