
:root{
  --bg:#0d1117;
  --surface:#111820;
  --surface-2:#151d27;
  --surface-3:#18222e;
  --border:#273241;
  --border-soft:#202a36;
  --text:#e6edf3;
  --text-2:#b3c0ce;
  --muted:#7d8b99;
  --accent:#7c6df2;
  --accent-hover:#8e80f7;
  --blue:#56a8e8;
  --green:#55c39e;
  --rose:#dc8197;
  --yellow:#d5aa61;
  --radius:10px;
  --shadow:0 14px 34px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.portal-home{min-height:100vh}
.app-header{height:58px;position:sticky;top:0;z-index:80;background:rgba(13,17,23,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-soft)}
.app-header-inner{height:100%;max-width:1380px;margin:auto;padding:0 22px;display:flex;align-items:center;gap:22px}
.app-brand{display:flex;align-items:center;gap:10px;min-width:210px}
.app-logo{width:28px;height:28px;border:1px solid #384455;border-radius:7px;background:#141b24;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:6px}
.app-logo i{display:block;width:3px;border-radius:2px;background:#8d80ef}
.app-logo i:nth-child(1){height:8px}.app-logo i:nth-child(2){height:15px;background:#62a9df}.app-logo i:nth-child(3){height:11px;background:#5ac39f}
.app-brand>span:last-child{display:flex;flex-direction:column;line-height:1.12}
.app-brand b{font-size:14px;letter-spacing:.01em}.app-brand small{font-size:8px;color:#667484;letter-spacing:.08em;margin-top:3px}
.header-search-btn{height:34px;max-width:430px;min-width:260px;flex:1;border:1px solid var(--border);border-radius:8px;background:#111820;color:#788697;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;text-align:left}
.header-search-btn:hover{border-color:#39485b;background:#131b25}
.search-glyph{font-size:17px}.search-placeholder{flex:1;font-size:11px}
kbd{font-size:8px;padding:2px 5px;border:1px solid #313d4b;border-radius:4px;background:#0d131a;color:#6d7988}
.header-nav{margin-left:auto;display:flex;align-items:center;gap:3px}
.header-nav a,.header-nav button{border:0;background:transparent;padding:7px 9px;border-radius:6px;font-size:10px;color:#8593a2;cursor:pointer}
.header-nav a:hover,.header-nav button:hover{background:#151d27;color:#dbe4ed}
.app-layout{max-width:1380px;margin:auto;display:grid;grid-template-columns:190px minmax(0,1fr)}
.app-sidebar{position:sticky;top:58px;height:calc(100vh - 58px);padding:22px 14px 18px 18px;border-right:1px solid var(--border-soft);overflow:auto}
.app-sidebar nav{margin-bottom:24px}
.app-sidebar nav>p{margin:0 8px 8px;font-size:9px;font-weight:700;color:#5f6d7b}
.nav-item{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:6px;color:#8896a5;font-size:11px;text-align:left;cursor:pointer;margin:1px 0}
.nav-item span{width:18px;color:#667585;text-align:center}
.nav-item:hover{background:#141c26;color:#dbe4ed}
.nav-item.active{background:#171f2a;color:#eef3f7;font-weight:600}
.sidebar-note{border-top:1px solid var(--border-soft);padding:15px 8px 0;color:#788695;font-size:9px}
.sidebar-note b{display:block;color:#9eadbb;font-size:10px;margin-bottom:4px}.sidebar-note i{display:inline-block;width:6px;height:6px;background:#52c79c;border-radius:50%;margin-right:5px}
.app-main{min-width:0;padding:26px 28px 64px}
.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:9px 0 24px;border-bottom:1px solid var(--border-soft);margin-bottom:16px}
.intro-label{font-size:9px;color:#718091;margin:0 0 6px}
.page-intro h1{font-size:29px;line-height:1.25;letter-spacing:-.025em;margin:0 0 9px;font-weight:700}
.page-intro>div:first-child>p:last-child{max-width:660px;color:#8f9eae;font-size:12px;margin:0}
.intro-actions{display:flex;gap:8px;flex:0 0 auto}
.button{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 13px;border-radius:7px;font-size:10px;font-weight:600;border:1px solid #334152}
.button.primary{background:#7063d8;border-color:#7063d8;color:#fff}.button.primary:hover{background:#8073e5}
.button.secondary{background:#121a23;color:#aebcca}.button.secondary:hover{background:#17202b;color:#fff}
.button.small{height:31px;padding:0 11px}
.status-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border-soft);border-radius:9px;background:#0f151d;margin-bottom:16px;overflow:hidden}
.status-row>div{padding:10px 13px;border-right:1px solid var(--border-soft);min-width:0}
.status-row>div:last-child{border-right:0}
.status-row span{font-size:8px;color:#687685;display:block}.status-row b{font-size:13px;margin-right:5px}.status-row small{font-size:8px;color:#687685}
.main-columns{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px}
.main-content{min-width:0}
.dashboard-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius)}
.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:14px 15px 11px}
.panel-heading h2{font-size:13px;margin:0;font-weight:650}.panel-heading p{font-size:9px;color:#697887;margin:2px 0 0}
.panel-heading.compact{padding-bottom:9px}
.plain-button{border:0;background:transparent;color:#6f7d8c;font-size:9px;cursor:pointer;padding:4px}.plain-button:hover{color:#d1dae3}
.quick-panel{margin-bottom:12px}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border-soft)}
.quick-actions>a{display:grid;grid-template-columns:35px 1fr 12px;gap:9px;align-items:center;padding:13px 14px;border-right:1px solid var(--border-soft)}
.quick-actions>a:last-child{border-right:0}.quick-actions>a:hover{background:#141c25}
.quick-icon{width:32px;height:32px;border-radius:7px;background:#192333;border:1px solid #2c3b4e;color:#9cb1c4;display:grid;place-items:center;font-size:9px;font-weight:700}
.quick-actions b{font-size:11px;display:block}.quick-actions small{font-size:8px;color:#6e7d8c;display:block;margin-top:2px}.quick-actions i{font-style:normal;color:#5e6c7a}
.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.shortcut-panel{min-height:94px}
.mini-tool-list{display:flex;gap:6px;flex-wrap:wrap;padding:0 15px 14px}
.mini-tool{padding:5px 7px;border-radius:6px;border:1px solid #2c3848;background:#131b24;color:#aab8c5;font-size:9px}.mini-tool:hover{border-color:#48586c;color:#fff}
.empty-mini{font-size:9px;color:#617080;padding:4px 0}
.tools-section{margin-top:2px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:11px}
.section-heading h2{font-size:17px;margin:0}.section-heading p{font-size:9px;color:#697887;margin:2px 0 0}
.filter-tabs{display:flex;gap:4px}
.chip{border:1px solid var(--border);background:#101720;color:#718090;border-radius:6px;padding:5px 8px;font-size:9px;cursor:pointer}
.chip.active,.chip:hover{background:#19222e;color:#e3eaf1;border-color:#3b495a}
.featured-card{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;padding:18px;border:1px solid #344154;background:#121923;border-radius:10px;margin-bottom:10px}
.featured-main{align-self:center}.tool-category{font-size:8px;color:#778697;margin-bottom:5px}
.featured-main h3{font-size:20px;margin:0 0 7px;letter-spacing:-.015em}.featured-main h3 small{font-size:9px;color:#8175df;font-weight:600}
.featured-main p{font-size:10px;color:#8d9cab;max-width:610px;margin:0}
.featured-actions{display:flex;gap:7px;align-items:center;margin-top:13px}
.fav-btn{width:31px;height:31px;border:1px solid #303d4c;border-radius:7px;background:#111821;color:#788594;cursor:pointer;font-size:14px}
.fav-btn:hover,.fav-btn.active{color:#e6c86b;border-color:#5a5036;background:#1d1b15}
.analysis-preview{background:#0d141c;border:1px solid #263341;border-radius:8px;padding:11px}
.preview-head{display:flex;justify-content:space-between;color:#6e7d8c;font-size:8px;padding-bottom:8px;border-bottom:1px solid #202b37}
.preview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:9px 0}
.preview-metrics div{border-right:1px solid #202b37;padding-right:8px}.preview-metrics div:last-child{border-right:0}
.preview-metrics span{display:block;font-size:7px;color:#657281}.preview-metrics b{font-size:14px}
.preview-chart{height:52px;display:flex;align-items:flex-end;gap:4px;padding-top:5px}
.preview-chart i{flex:1;min-width:3px;background:#5f77b8;border-radius:2px 2px 0 0;opacity:.8}
.tool-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.utility-card{display:grid;grid-template-columns:37px 1fr auto;gap:11px;align-items:center;padding:13px;background:#0f161f;border:1px solid var(--border-soft);border-radius:9px}
.utility-card:hover{border-color:#344354;background:#111923}
.utility-icon{width:34px;height:34px;border:1px solid #334050;background:#17212d;border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:10px;color:#a9b7c4}
.utility-icon.violet{color:#9e94ed}.utility-icon.blue{color:#74b8e9}.utility-icon.rose{color:#de93a6}.utility-icon.green{color:#65c8a7}
.utility-body h3{font-size:11px;margin:0 0 3px}.utility-body p{font-size:8px;color:#6e7d8d;margin:0}.utility-body .tool-category{margin:0 0 2px}
.utility-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.utility-actions .fav-btn{width:25px;height:25px;font-size:12px}.utility-actions a{font-size:9px;color:#8da1b4;padding:3px}.utility-actions a:hover{color:#fff}
.ad-slot-clean{height:74px;margin:18px 0;border:1px dashed #2b3744;border-radius:8px;background:#0e141c;display:flex;align-items:center;justify-content:center;gap:8px;color:#576574}
.ad-slot-clean span{font-size:7px;border:1px solid #354251;padding:2px 4px;border-radius:3px}.ad-slot-clean p{font-size:8px;margin:0}
.upcoming-panel{overflow:hidden}.upcoming-list{border-top:1px solid var(--border-soft)}
.upcoming-list>div{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:10px 14px;border-bottom:1px solid var(--border-soft)}.upcoming-list>div:last-child{border-bottom:0}
.upcoming-list b{font-size:10px}.upcoming-list small{font-size:8px;color:#6c7a89}.upcoming-list span{grid-column:2;grid-row:1/3;align-self:center;font-size:8px;color:#767f8a;background:#171e27;padding:3px 6px;border-radius:5px}
.right-rail{display:flex;flex-direction:column;gap:12px}
.checklist-panel{overflow:hidden}
.check-item{display:grid;grid-template-columns:17px 1fr;gap:9px;align-items:center;padding:10px 14px;border-top:1px solid var(--border-soft);cursor:pointer}
.check-item:hover{background:#141c25}.check-item input{display:none}.check-item>i{width:15px;height:15px;border:1px solid #3d4957;border-radius:4px;position:relative}
.check-item input:checked+ i{background:#7165d5;border-color:#7165d5}.check-item input:checked+ i:after{content:"✓";position:absolute;inset:-2px 0 0;display:grid;place-items:center;color:#fff;font-size:10px}
.check-item b{font-size:10px;display:block}.check-item small{font-size:8px;color:#697887;display:block}
.progress-row{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--border-soft)}
.progress-row>div{height:4px;background:#222c38;border-radius:10px;flex:1;overflow:hidden}.progress-row i{display:block;height:100%;width:0;background:#7165d5;transition:.2s}.progress-row span{font-size:8px;color:#697887}
.beta-badge{font-size:7px;color:#9c91ea;background:#1d1a31;border:1px solid #3a345f;border-radius:4px;padding:2px 5px}
.updates-list{border-top:1px solid var(--border-soft)}
.updates-list>div{display:grid;grid-template-columns:37px 1fr;gap:7px;padding:10px 13px;border-bottom:1px solid var(--border-soft)}.updates-list>div:last-child{border-bottom:0}
.updates-list time{font-size:8px;color:#667585}.updates-list p{margin:0}.updates-list b{font-size:9px}.updates-list small{display:block;font-size:8px;color:#687786;margin-top:2px}
.mission-panel{padding-bottom:12px}.mission-panel>p{font-size:9px;color:#778695;margin:0 14px 8px}
.app-footer{max-width:1380px;margin:auto;padding:20px 22px;border-top:1px solid var(--border-soft);display:flex;justify-content:space-between;color:#697787;font-size:9px}
.app-footer div{display:flex;gap:9px}.app-footer b{color:#aab6c2}.app-footer nav{display:flex;gap:13px}.app-footer a:hover{color:#fff}

/* search */
.search-modal{position:fixed;inset:0;z-index:120;display:none}.search-modal.open{display:block}.search-backdrop{position:absolute;inset:0;background:rgba(5,8,12,.72);backdrop-filter:blur(4px)}
.search-box{position:relative;width:min(600px,calc(100% - 28px));margin:78px auto 0;background:#121922;border:1px solid #394758;border-radius:10px;box-shadow:0 30px 80px #000a;overflow:hidden}
.search-input-row{height:52px;display:flex;align-items:center;gap:9px;padding:0 13px;border-bottom:1px solid var(--border-soft)}
.search-input-row span{font-size:18px;color:#718091}.search-input-row input{flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:12px}
.search-results{max-height:360px;overflow:auto;padding:6px}.search-result{display:grid;grid-template-columns:30px 1fr 12px;gap:8px;align-items:center;padding:8px;border-radius:7px;color:#aebac6}
.search-result:hover,.search-result.active{background:#19232e;color:#fff}.search-result>span{width:28px;height:28px;border:1px solid #334151;border-radius:6px;display:grid;place-items:center;font-size:10px}.search-result b{display:block;font-size:10px}.search-result small{display:block;font-size:8px;color:#6f7e8e}.search-result i{font-style:normal}
.search-help{padding:7px 12px;border-top:1px solid var(--border-soft);font-size:7px;color:#596878}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);opacity:0;z-index:150;background:#e8edf3;color:#111820;border-radius:7px;padding:8px 11px;font-size:9px;font-weight:600;box-shadow:0 10px 28px #0008;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}

/* shared tool pages */
.site-header{position:sticky;top:0;z-index:60;background:rgba(13,17,23,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft)}
.header-inner{max-width:1120px;margin:auto;height:56px;padding:0 20px;display:flex;align-items:center;gap:17px}
.logo{font-size:13px;font-weight:700;white-space:nowrap}.logo span{color:#e6edf3}
.header-search{flex:1}.header-search input{width:100%;height:32px;border:1px solid var(--border);border-radius:7px;background:#111820;color:#fff;padding:0 10px;outline:none;font-size:10px}
.nav{display:flex;gap:2px}.nav a{font-size:9px;color:#7f8d9c;padding:6px 7px;border-radius:5px}.nav a:hover{background:#151d27;color:#fff}
.tool-page{max-width:1000px;margin:auto;padding:26px 20px 60px}
.breadcrumb{font-size:8px;color:#667585;margin-bottom:12px}.breadcrumb a{color:#8795a4}.breadcrumb a:hover{color:#fff}
.tool-head{padding:0 0 18px;border-bottom:1px solid var(--border-soft);margin-bottom:14px}
.tool-head h1{font-size:24px;line-height:1.25;margin:0 0 7px;letter-spacing:-.02em}.tool-head p{font-size:10px;color:#7f8e9e;margin:0;max-width:720px}
.panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:9px;padding:16px;box-shadow:none;margin-bottom:12px}.panel h2{font-size:12px;margin:0 0 11px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.field label{display:block;font-size:8px;color:#788796;font-weight:600;margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;background:#0d141c;border:1px solid #2d3947;border-radius:7px;color:#e5ecf2;padding:9px 10px;outline:none;font-size:10px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#665dc5;box-shadow:0 0 0 2px #665dc522}
.btn{border:1px solid #344152;background:#141d27;color:#dce5ed;border-radius:7px;padding:8px 11px;font-size:9px;font-weight:600;cursor:pointer}.btn.primary{background:#7063d8;border-color:#7063d8;color:#fff}
.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.metric{background:#101720;border:1px solid var(--border-soft);border-radius:8px;padding:11px}.metric .label{font-size:7px;color:#6e7d8c}.metric .value{font-size:18px;font-weight:700;margin-top:2px}.metric .note{font-size:7px;color:#5f6d7c}
.status{padding:8px 10px;border-radius:7px;background:#151e28;border:1px solid #2c3948;color:#9cabb9;font-size:9px}.status.good{background:#10251f;border-color:#265144;color:#8ed5bc}.status.warn{background:#292216;border-color:#514422;color:#d5bd82}.status.bad{background:#2a191f;border-color:#57303b;color:#e0a2af}
.meter{height:5px;background:#202a36;border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;background:#7165d5;width:0}
.ad-slot{height:72px;border:1px dashed #2a3643;border-radius:8px;display:grid;place-items:center;color:#566473;background:#0e141c;margin:18px 0;font-size:7px}
.explain{font-size:9px;color:#748393;border-top:1px solid var(--border-soft);padding-top:4px}.explain h2{font-size:14px;color:#e4ebf1;margin-top:20px}.explain h3{font-size:11px;color:#cbd5de}
.drop{border:1px dashed #39495c;border-radius:8px;padding:20px;text-align:center;color:#7d8c9b;background:#0e151e;cursor:pointer}.drop:hover{border-color:#5a617a}
.hidden{display:none!important}.chart{height:175px;border:1px solid var(--border-soft);background:#0c131b;border-radius:8px;padding:7px}.chart svg{width:100%;height:100%}.table{width:100%;border-collapse:collapse;font-size:8px}.table th,.table td{padding:7px;border-bottom:1px solid #202b37;text-align:left}.table th{color:#788796}.recent{display:flex;gap:5px;flex-wrap:wrap}.tag{font-size:7px;padding:3px 6px;border:1px solid #2c3949;background:#141d27;border-radius:5px;color:#91a0af}
.footer{border-top:1px solid var(--border-soft);background:#0b1016}.footer-inner{max-width:1120px;margin:auto;padding:18px 20px;display:flex;justify-content:space-between;gap:15px;font-size:8px;color:#667585}
body:not(.portal-home){background:#0d1117;min-height:100vh}

/* responsive */
@media(max-width:1100px){
  .app-layout{grid-template-columns:165px minmax(0,1fr)}
  .app-main{padding:22px 20px 55px}
  .main-columns{grid-template-columns:1fr}
  .right-rail{display:grid;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .app-header-inner{padding:0 14px}.app-brand{min-width:auto}.app-brand small{display:none}.header-nav{display:none}
  .header-search-btn{min-width:0;max-width:none}
  .app-layout{display:block}.app-sidebar{display:none}.app-main{padding:18px 14px 48px}
  .page-intro{align-items:flex-start;flex-direction:column}.page-intro h1{font-size:25px}.intro-actions{width:100%}
  .status-row{grid-template-columns:1fr 1fr}.status-row>div:nth-child(2){border-right:0}.status-row>div:nth-child(-n+2){border-bottom:1px solid var(--border-soft)}
  .quick-actions{grid-template-columns:1fr}.quick-actions>a{border-right:0;border-bottom:1px solid var(--border-soft)}.quick-actions>a:last-child{border-bottom:0}
  .featured-card{grid-template-columns:1fr}.tool-list{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr}.mission-panel{grid-column:1/-1}
}
@media(max-width:560px){
  .app-header{height:52px}.app-header-inner{height:52px}.app-brand b{font-size:12px}.app-logo{width:25px;height:25px}
  .search-placeholder,.header-search-btn kbd{display:none}.header-search-btn{flex:0 0 34px;height:32px;justify-content:center;padding:0}
  .page-intro h1{font-size:22px}.page-intro>div:first-child>p:last-child{font-size:10px}.intro-actions{flex-direction:column}.button{width:100%}
  .status-row{font-size:9px}.shortcut-grid,.right-rail{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.filter-tabs{width:100%;overflow:auto}
  .featured-card{padding:14px}.featured-main h3{font-size:18px}.analysis-preview{display:none}
  .utility-card{grid-template-columns:34px 1fr}.utility-actions{grid-column:2;flex-direction:row;justify-content:flex-end}
  .form-grid,.result-grid{grid-template-columns:1fr 1fr}.tool-head h1{font-size:21px}.nav{display:none}.footer-inner,.app-footer{flex-direction:column}
}

/* YORIDOKO v0.5 practical tools */
.tool-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.tool-toolbar .spacer{flex:1}.muted{color:#748393;font-size:9px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.big-drop{padding:28px 20px}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.scroll-box{max-height:420px;overflow:auto;border:1px solid var(--border-soft);border-radius:8px}.list-row{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--border-soft)}.list-row:last-child{border-bottom:0}.list-row b{font-size:10px}.list-row small{display:block;color:#6e7d8d;font-size:8px}.score-pill{font-size:8px;padding:3px 6px;border-radius:999px;background:#1d2234;color:#b4adf1}.copy-mini{border:1px solid #334152;background:#141d27;color:#aab8c6;border-radius:5px;font-size:8px;padding:4px 7px;cursor:pointer}.copy-mini:hover{color:#fff}.winner-card{padding:18px;border:1px solid #514b83;background:#18162b;border-radius:10px;text-align:center}.winner-card .winner-name{font-size:24px;font-weight:800;margin:5px 0}.winner-card small{color:#8d86c5}.candidate-badge{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #314053;background:#131c26;border-radius:999px;font-size:8px;color:#91a2b4}.chapter-editor textarea{min-height:280px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.7}.validation-list{display:flex;flex-direction:column;gap:6px}.validation-item{font-size:9px;padding:7px 8px;border-radius:6px;border:1px solid #2d3947}.validation-item.ok{color:#8ed5bc;background:#10251f;border-color:#265144}.validation-item.ng{color:#e0a2af;background:#2a191f;border-color:#57303b}.segment-table{width:100%;border-collapse:collapse;font-size:9px}.segment-table th,.segment-table td{padding:7px;border-bottom:1px solid var(--border-soft);text-align:left}.segment-table input{width:100%;background:#0d141c;border:1px solid #2d3947;color:#fff;border-radius:5px;padding:6px;font-size:9px}.segment-actions{display:flex;gap:3px}.segment-actions button{border:1px solid #2f3c4b;background:#141c25;color:#8e9dad;border-radius:4px;padding:3px 5px;font-size:8px;cursor:pointer}.live-board{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:18px;background:#101720;border:1px solid var(--border-soft);border-radius:9px}.live-board h2{font-size:18px;margin:0 0 4px}.live-clock{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.template-row{display:flex;gap:6px;flex-wrap:wrap}.template-row button{font-size:8px}.announcement-output{min-height:115px;white-space:pre-wrap;background:#0d141c;border:1px solid #2d3947;border-radius:7px;padding:10px;font-size:10px}.formula-note{font-size:8px;color:#687786;margin-top:6px}.tool-badge-new{display:inline-block;font-size:7px;color:#9d95eb;background:#1e1b32;border:1px solid #3d3764;border-radius:4px;padding:2px 5px;margin-left:5px;vertical-align:2px}.notice-box{font-size:9px;color:#8d9baa;border-left:2px solid #655bc5;padding:7px 10px;background:#121925;margin:10px 0}.peakbar{height:6px;background:#202a36;border-radius:99px;overflow:hidden}.peakbar i{display:block;height:100%;background:#7165d5}.file-summary{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.file-summary span{font-size:8px;padding:4px 7px;border-radius:5px;background:#151e28;border:1px solid #2b3948;color:#94a4b4}
@media(max-width:720px){.split-2,.split-3{grid-template-columns:1fr}.list-row{grid-template-columns:58px 1fr}.list-row>*:last-child{grid-column:2}.live-board{grid-template-columns:1fr}.live-clock{font-size:24px}}

/* v0.5.1: shared brand header on every page */
body:not(.portal-home) .app-header .app-header-inner{max-width:1120px;padding:0 20px}
body:not(.portal-home) .app-header .app-brand{min-width:210px}
body:not(.portal-home) .app-header .header-search{flex:1}
body:not(.portal-home) .app-header .header-search input{width:100%;height:32px;border:1px solid var(--border);border-radius:7px;background:#111820;color:#fff;padding:0 10px;outline:none;font-size:10px}
body:not(.portal-home) .app-header .header-search input:focus{border-color:#4b5b70}
@media(max-width:560px){body:not(.portal-home) .app-header .header-search{display:none}body:not(.portal-home) .app-header .app-brand{min-width:0}}

/* v0.6 return-loop + ad-safe design */
.ad-unit{min-height:96px;margin:22px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#536170;background:#0c1219;padding:14px;clear:both}.ad-unit .ad-label{font-size:7px;color:#697686;border:1px solid #2c3744;border-radius:3px;padding:1px 4px}.ad-unit p{font-size:8px;margin:0}.ad-unit:not(.ad-placeholder) p{display:none}.ad-unit .adsbygoogle{width:100%;min-height:90px}.ad-safe{margin-top:28px;margin-bottom:28px}
.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-title-row h2{margin:0}.summary-textarea{width:100%;min-height:230px;background:#0d141c;border:1px solid #2d3947;border-radius:7px;color:#e5ecf2;padding:10px;font:10px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.reaction-summary{display:flex;flex-direction:column;gap:10px}.reaction-summary>div{display:grid;grid-template-columns:70px 38px 1fr;gap:8px;align-items:center;font-size:9px}.reaction-summary b{font-size:12px}.reaction-summary i{height:5px;border-radius:10px;background:#6e62cf;display:block}.insight-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.insight-card{background:#0f161f;border:1px solid var(--border-soft);border-radius:8px;padding:11px}.insight-card b{font-size:10px}.insight-card p{font-size:8px;color:#778695;margin:5px 0 0}.history-trend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.trend-card{background:#0e151d;border:1px solid var(--border-soft);border-radius:8px;padding:12px}.trend-card span{font-size:8px;color:#6e7d8c;display:block}.trend-card b{font-size:20px;display:block;margin:2px 0}.trend-card small{font-size:8px;color:#687786}.history-list{border:1px solid var(--border-soft);border-radius:8px;overflow:hidden}.history-row{display:grid;grid-template-columns:80px 1fr 90px auto;gap:10px;align-items:center;padding:10px 11px;border-bottom:1px solid var(--border-soft)}.history-row:last-child{border-bottom:0}.history-date{font-size:8px;color:#6c7a89}.history-main b{display:block;font-size:10px}.history-main small{font-size:8px;color:#718090}.history-peak span{font-size:7px;color:#677584;display:block}.history-peak b{font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.return-card{border:1px solid #2e3b4b;background:#101821;border-radius:10px;padding:14px;margin-bottom:12px}.return-card.empty{display:flex;align-items:center;justify-content:space-between;gap:16px}.return-card .return-kicker{font-size:8px;color:#7a8897}.return-card h2{font-size:14px;margin:2px 0 5px}.return-card p{font-size:9px;color:#748393;margin:0}.return-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-soft);border:1px solid var(--border-soft);border-radius:8px;overflow:hidden;margin-top:10px}.return-stats>div{background:#0e151d;padding:9px}.return-stats span{font-size:7px;color:#687786;display:block}.return-stats b{font-size:13px}.return-actions{display:flex;gap:6px;margin-top:10px}.return-delta{font-size:8px;color:#8b9aaa;margin-top:8px}.homepage-ad-rail{min-height:180px;margin:0}.adsense-exclude{position:relative}
@media(max-width:720px){.insight-list,.history-trend{grid-template-columns:1fr}.history-row{grid-template-columns:1fr auto}.history-date{grid-column:1}.history-main{grid-column:1}.history-peak{grid-column:1}.return-card.empty{align-items:flex-start;flex-direction:column}.return-stats{grid-template-columns:1fr 1fr}}


/* v0.6.1: AdSense-ready reserved placements
   - Manual placements only: no ad near form controls or result actions.
   - Fixed visual reservation reduces layout shift when ads are enabled.
*/
.ad-placement{
  --ad-reserved-height:118px;
  position:relative;
  width:100%;
  min-width:0;
  margin:30px 0;
  padding:18px 0 0;
  border-top:1px solid var(--border-soft);
  border-bottom:1px solid var(--border-soft);
  background:transparent;
  clear:both;
  cursor:default;
}
.ad-placement__meta{
  position:absolute;
  top:7px;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  pointer-events:none;
  user-select:none;
}
.ad-placement__meta span{
  display:inline-grid;
  place-items:center;
  min-width:21px;
  height:13px;
  padding:0 4px;
  border:1px solid #2b3541;
  border-radius:3px;
  color:#647282;
  font-size:6px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1;
}
.ad-placement__meta small{color:#52606f;font-size:7px;line-height:1}
.ad-placement__surface{
  min-height:var(--ad-reserved-height);
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#0b1118;
}
.ad-placement__preview{
  min-height:var(--ad-reserved-height);
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  color:#4f5c69;
  text-align:center;
  pointer-events:none;
  user-select:none;
}
.ad-placement__preview b{font-size:8px;font-weight:600;color:#5e6c7a}
.ad-placement__preview span{font-size:7px;color:#46525f}
.ad-placement.is-live .ad-placement__preview{display:none}
.ad-placement.is-live .ad-placement__surface{background:transparent}
.ad-placement.is-disabled{display:none}
.ad-placement .adsbygoogle{display:block!important;width:100%;min-height:90px}
.ad-placement--rail{
  --ad-reserved-height:260px;
  margin:0;
  padding-top:18px;
  border:1px solid var(--border-soft);
  border-radius:9px;
  overflow:hidden;
  background:#0d131a;
}
.ad-placement--rail .ad-placement__meta{top:7px}
.ad-placement--rail .ad-placement__surface{background:#0b1118}
.ad-placement--rail .ad-placement__preview{min-height:260px}
/* Hide obsolete v0.6 visual style if any legacy node remains. */
.ad-unit{display:none!important}

@media(max-width:820px){
  .ad-placement--rail{
    --ad-reserved-height:112px;
    margin:0;
    border-radius:9px;
  }
  .ad-placement--rail .ad-placement__preview{min-height:112px}
}
@media(max-width:560px){
  .ad-placement{
    --ad-reserved-height:104px;
    margin:24px 0;
    padding-top:17px;
  }
  .ad-placement--rail{--ad-reserved-height:104px;margin:0}
  .ad-placement--rail .ad-placement__preview{min-height:104px}
  .ad-placement__meta small{font-size:6px}
}

/* ===== v0.7 YouTube Live auto collector ===== */
.live-monitor-page{max-width:1180px}.live-monitor-head{align-items:flex-start}.live-head-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding-top:4px}.live-head-status small{color:#71859d;font-size:11px}.monitor-pill{display:inline-flex;align-items:center;justify-content:center;min-width:70px;padding:5px 9px;border:1px solid #2a3441;border-radius:999px;background:#161d27;color:#a9b6c7;font-size:11px;font-weight:700;white-space:nowrap}.monitor-pill.live{border-color:rgba(62,207,142,.35);background:rgba(62,207,142,.1);color:#72e3ad}.monitor-pill.done{border-color:rgba(107,140,255,.38);background:rgba(107,140,255,.11);color:#9cb4ff}.monitor-pill.waiting{border-color:rgba(245,185,66,.35);background:rgba(245,185,66,.09);color:#ffd071}.monitor-pill.bad{border-color:rgba(255,99,116,.35);background:rgba(255,99,116,.09);color:#ff919e}.monitor-pill.neutral{color:#9eacbd}.live-flow{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr;align-items:center;margin:0 0 14px;border:1px solid #202a36;border-radius:12px;background:#10161e;padding:12px 14px}.live-flow>div{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.live-flow>div>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#1b2532;color:#8fa9ff;font-size:11px;font-weight:800}.live-flow b{font-size:13px}.live-flow small{font-size:10px;color:#71859d;margin-top:2px}.live-flow>i{text-align:center;color:#4d5d70;font-style:normal}.live-register-panel{margin-bottom:14px}.live-register-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.live-register-row input{min-height:44px;font-size:13px}.privacy-chip{font-size:10px;border:1px solid #293444;border-radius:999px;color:#8ea0b6;padding:5px 8px}.live-notes{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:11px;color:#71859d;font-size:10px}.monitor-list-panel{margin-bottom:14px}.monitor-list{display:flex;flex-direction:column;gap:7px}.empty-monitor{padding:28px 12px;text-align:center;color:#71859d;font-size:12px;border:1px dashed #26313e;border-radius:10px}.monitor-list-item{width:100%;display:grid;grid-template-columns:86px 1fr 20px;align-items:center;gap:12px;padding:11px 12px;border:1px solid #222d39;border-radius:10px;background:#111820;text-align:left;color:inherit;cursor:pointer}.monitor-list-item:hover{border-color:#39485b;background:#141c26}.monitor-list-item>div{min-width:0}.monitor-list-item b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-list-item small{display:block;color:#71859d;font-size:10px;margin-top:3px}.monitor-list-item>i{font-style:normal;color:#64748b;font-size:18px}.monitor-now-card{border:1px solid #273343;border-radius:13px;background:linear-gradient(180deg,#111923,#0f151d);padding:16px;margin:0 0 12px}.monitor-now-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.monitor-now-head h2{font-size:17px;margin:8px 0 4px}.monitor-now-head a{font-size:10px;color:#7f9cff}.monitor-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.btn.danger{border-color:rgba(255,99,116,.28);color:#ff8f9b}.live-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.live-metrics>div{border:1px solid #222d39;background:#0e141b;border-radius:10px;padding:11px}.live-metrics span,.live-metrics small{display:block;color:#71859d;font-size:9px}.live-metrics b{display:block;font-size:21px;margin:3px 0}.collecting-panel,.waiting-panel{display:flex;align-items:center;gap:13px;margin-bottom:12px}.collecting-panel b,.waiting-panel b{font-size:13px}.collecting-panel p,.waiting-panel p{font-size:11px;color:#71859d;margin:3px 0 0}.collecting-dot{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(62,207,142,.09)}.collecting-dot i{display:block;width:9px;height:9px;border-radius:50%;background:#4bd69a;box-shadow:0 0 0 6px rgba(75,214,154,.09);animation:collectPulse 1.5s infinite}.collecting-dot.waiting{background:rgba(245,185,66,.08)}.collecting-dot.waiting i{background:#f4c45c;box-shadow:0 0 0 6px rgba(244,196,92,.08)}@keyframes collectPulse{50%{transform:scale(.72);opacity:.55}}.result-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #2b3950;background:#121b27;border-radius:12px;padding:13px 15px;margin:0 0 12px}.result-banner span{display:inline-block;font-size:9px;font-weight:800;color:#8ca7ff;background:rgba(109,137,255,.1);border:1px solid rgba(109,137,255,.22);border-radius:999px;padding:3px 6px}.result-banner h2{font-size:15px;margin:5px 0 2px}.result-banner p{font-size:10px;color:#71859d;margin:0}.clip-candidate-list{display:flex;flex-direction:column;gap:7px}.clip-candidate{display:grid;grid-template-columns:28px 1fr;gap:10px;border:1px solid #222d39;border-radius:9px;padding:9px}.clip-candidate>span{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#1a2431;color:#8ea6ff;font-size:10px;font-weight:800}.clip-candidate b{display:block;font-size:11px}.clip-candidate small{display:block;color:#71859d;font-size:9px;margin-top:3px}.live-explain{margin-top:18px}.explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.explain-grid>div{border:1px solid #202b37;border-radius:9px;padding:10px;background:#10161e}.explain-grid b{font-size:11px}.explain-grid p{font-size:10px!important;margin:4px 0 0!important}.status.bad{border-color:rgba(255,99,116,.28);background:rgba(255,99,116,.06);color:#ff9aa5}.status.good{border-color:rgba(62,207,142,.25);background:rgba(62,207,142,.06);color:#8ae8bd}
@media(max-width:760px){.live-head-status{align-items:flex-start}.live-flow{grid-template-columns:1fr}.live-flow>i{transform:rotate(90deg);padding:3px}.live-register-row{grid-template-columns:1fr}.monitor-list-item{grid-template-columns:78px 1fr 14px}.monitor-now-head{flex-direction:column}.monitor-actions{justify-content:flex-start}.live-metrics{grid-template-columns:1fr 1fr}.explain-grid{grid-template-columns:1fr}}

.api-consent{display:flex;align-items:flex-start;gap:8px;margin-top:11px;padding:9px 10px;border:1px solid #222d39;border-radius:9px;background:#0f151c;color:#8796a9;font-size:10px;line-height:1.6}.api-consent input{margin-top:3px}.api-consent a{color:#8fa9ff;text-decoration:none}.api-consent a:hover{text-decoration:underline}

/* ===== v0.7.1 public beta / Analytics consent ===== */
.global-beta-badge{align-self:center;margin-left:6px;padding:2px 5px;border:1px solid #40506a;border-radius:4px;color:#8fa9ff;background:#111923;font-size:7px;font-weight:800;letter-spacing:.08em;line-height:1.2}.service-capacity{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:10px;padding:9px 10px;border:1px solid #222d39;border-radius:9px;background:#0c1219;color:#77889d;font-size:10px}.service-capacity b{color:#b4c0cf}.service-capacity.guard{border-color:rgba(245,185,66,.25);background:rgba(245,185,66,.04)}.queue-panel{display:flex;align-items:center;gap:13px;margin-bottom:12px;border-color:rgba(128,153,255,.25);background:rgba(128,153,255,.05)}.queue-number{display:grid;place-items:center;min-width:42px;height:42px;border-radius:12px;background:#192336;color:#9db0ff;font-weight:800;font-size:16px}.queue-panel b{font-size:13px}.queue-panel p{font-size:11px;color:#71859d;margin:3px 0 0}.analytics-consent{position:fixed;inset:0;z-index:10000;display:none;align-items:flex-end;justify-content:center;padding:18px;background:rgba(4,8,13,.58);backdrop-filter:blur(2px)}.analytics-consent.show{display:flex}.analytics-consent-card{width:min(720px,100%);display:grid;grid-template-columns:1fr auto;gap:12px 20px;padding:16px;border:1px solid #2a3543;border-radius:12px;background:#111820;box-shadow:0 18px 60px rgba(0,0,0,.45)}.analytics-consent-card b{font-size:13px}.analytics-consent-card p{margin:5px 0 0;color:#8c9bac;font-size:10px;line-height:1.65}.analytics-consent-actions{display:flex;align-items:center;gap:7px}.analytics-consent-actions button,.footer-settings-button{border:1px solid #2b3745;background:#151d27;color:#9eacbd;border-radius:7px;padding:7px 10px;font:inherit;font-size:10px;cursor:pointer}.analytics-consent-actions button.primary{background:#6f88ff;border-color:#6f88ff;color:white}.analytics-consent-detail{grid-column:1/-1;color:#778da9;font-size:9px;text-decoration:none}.analytics-consent-detail:hover{text-decoration:underline}.footer-settings-button{padding:0;border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:2px}.beta-public-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(126,153,255,.23);border-radius:10px;background:rgba(126,153,255,.05);color:#8b9bad;font-size:10px;line-height:1.6}.beta-public-note b{color:#a9baff;white-space:nowrap}
@media(max-width:680px){.analytics-consent-card{grid-template-columns:1fr}.analytics-consent-actions{justify-content:flex-end}.analytics-consent-detail{grid-column:auto}.service-capacity{gap:5px 9px}}
