/* らいすぴあ Marketing Studio — warm off-white admin look, shares the gold of the quality-judge app */
:root{
  --bg:#f7f4ee;--side:#f1ede4;--surface:#fdfcf9;--field:#fbfaf6;--ink:#2b2a22;--ink2:#5c5a4c;--muted:#8d8a78;
  --line:#e8e3d7;--line2:#cfc9b8;--gold:#c8a96e;--gold-soft:#f6efe0;--gold-ink:#8a6a2e;--nav-on:#ece2cb;
  --green:#4f7d5f;--green-soft:#e9f0e8;--blue:#3f6ea8;--blue-soft:#eef3fb;
  --red:#a84b4b;--red-soft:#fbefec;--orange:#a8692a;--orange-soft:#fbf1e4;
  --chart:#9a7a3c;--grid:#ece8dd;--shadow:0 1px 2px rgba(60,50,20,.04),0 4px 14px rgba(60,50,20,.04);
  --serif:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#1a1a14;--side:#202019;--surface:#25251d;--field:#2c2c22;--ink:#efeadc;--ink2:#cfc8b4;--muted:#9d967f;
    --line:#37372b;--line2:#55553f;--gold:#d4b57a;--gold-soft:#2f2a1c;--gold-ink:#e0c48c;--nav-on:#3a3322;
    --green:#86b896;--green-soft:#1f2b22;--blue:#8fb3e3;--blue-soft:#1d2533;
    --red:#e09090;--red-soft:#33201f;--orange:#e3ad72;--orange-soft:#33281b;
    --chart:#d4b57a;--grid:#34342a;--shadow:none;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#1a1a14;--side:#202019;--surface:#25251d;--field:#2c2c22;--ink:#efeadc;--ink2:#cfc8b4;--muted:#9d967f;
  --line:#37372b;--line2:#55553f;--gold:#d4b57a;--gold-soft:#2f2a1c;--gold-ink:#e0c48c;--nav-on:#3a3322;
  --green:#86b896;--green-soft:#1f2b22;--blue:#8fb3e3;--blue-soft:#1d2533;
  --red:#e09090;--red-soft:#33201f;--orange:#e3ad72;--orange-soft:#33281b;
  --chart:#d4b57a;--grid:#34342a;--shadow:none;
  color-scheme:dark;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{background:var(--bg);}
body{font-family:'Noto Sans JP','Hiragino Sans',sans-serif;color:var(--ink);min-height:100vh;font-size:14px;line-height:1.6;overflow-x:hidden;}
input,textarea,button,select{font-family:inherit;font-size:inherit;color:inherit;}
a{color:var(--gold-ink);}
code{background:var(--gold-soft);padding:1px 5px;border-radius:4px;font-size:12px;}
[hidden]{display:none !important;}
.muted{color:var(--muted);} .small{font-size:11px;} .center{text-align:center;} .mono{font-family:ui-monospace,monospace;}
.w100{width:100%;} .spacer{flex:1;}

/* ---------- shell / sidebar ---------- */
.shell{display:flex;min-height:100vh;}
#sidebar{width:248px;flex-shrink:0;background:var(--side);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;}
.brand{display:flex;align-items:center;gap:11px;padding:22px 20px 18px;}
.brand-logo{width:38px;height:38px;border-radius:10px;background:#2b2a22;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.brand-name{font-family:var(--serif);font-size:16px;font-weight:700;letter-spacing:.06em;color:var(--ink);}
.brand-sub{font-size:11px;color:var(--muted);}
#nav{flex:1;overflow-y:auto;padding:4px 12px 12px;}
#nav button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border:none;background:none;border-radius:10px;cursor:pointer;color:var(--ink2);font-size:13.5px;text-align:left;margin:1px 0;}
#nav button i{font-style:normal;width:16px;text-align:center;color:var(--muted);font-size:14px;}
#nav button:hover{background:rgba(200,169,110,.12);}
#nav button.on{background:var(--nav-on);color:var(--ink);font-weight:700;}
#nav button.on i{color:var(--gold-ink);}
#nav .nb{margin-left:auto;font-style:normal;font-size:11px;min-width:22px;height:22px;padding:0 7px;border-radius:999px;border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;color:var(--ink2);background:var(--surface);font-weight:700;}
#nav .nb.warn{border:none;background:var(--gold-soft);color:var(--gold-ink);font-size:10px;}
.nav-sep{height:1px;background:var(--line);margin:10px 12px;}
.side-foot{padding:12px 16px 18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px;}
.side-link{font-size:12px;color:var(--ink2);text-decoration:none;width:100%;padding:3px 2px;}
.side-link:hover{color:var(--gold-ink);}
.badge{font-size:11px;padding:4px 10px;border-radius:999px;background:var(--surface);color:var(--ink2);border:1px solid var(--line2);white-space:nowrap;text-decoration:none;}
.badge-btn{cursor:pointer;}
.badge.ok{background:var(--green-soft);color:var(--green);border-color:transparent;}
.badge.warn{background:var(--red-soft);color:var(--red);border-color:transparent;}
.only-m{display:none;}
#main{flex:1;min-width:0;padding:28px 36px 80px;max-width:1240px;}
@media (max-width:900px){
  .shell{display:block;}
  #sidebar{width:auto;height:auto;position:sticky;top:0;z-index:40;border-right:none;border-bottom:1px solid var(--line);}
  .brand{padding:10px 16px 6px;}
  .brand-logo{width:30px;height:30px;font-size:15px;border-radius:8px;}
  .only-m{display:inline-flex;margin-left:auto;}
  #nav{display:flex;overflow-x:auto;gap:4px;padding:4px 12px 8px;scrollbar-width:none;flex:none;}
  #nav::-webkit-scrollbar{display:none;}
  #nav .nav-sep{display:none;}
  #nav button{width:auto;flex-shrink:0;padding:6px 11px;font-size:12px;gap:6px;white-space:nowrap;}
  #nav .nb{min-width:18px;height:18px;padding:0 5px;margin-left:2px;}
  .side-foot{display:none;}
  #main{padding:18px 16px 80px;}
}

/* ---------- view ---------- */
.view-head{margin-bottom:18px;}
.view-head h1,.page-head h1{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:.06em;}
.view-head p{color:var(--ink2);font-size:12px;margin-top:4px;}
.page-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--line);}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:16px;min-width:0;box-shadow:var(--shadow);}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.card-head h2{font-family:var(--serif);font-size:16px;font-weight:700;letter-spacing:.04em;}
.card-head h2 small{font-family:'Noto Sans JP',sans-serif;font-size:11px;font-weight:400;color:var(--muted);margin-left:6px;letter-spacing:0;}
.card-head .spacer+*{margin-left:0;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.grid2>.card{margin-bottom:0;}
.grid-form{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;}
@media (max-width:1000px){.grid2,.grid-form{grid-template-columns:minmax(0,1fr);}}
.out-card{position:sticky;top:20px;}
@media (max-width:1000px){.out-card{position:static;}}

/* ---------- home ---------- */
.act-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:16px;}
@media (max-width:760px){.act-row{grid-template-columns:minmax(0,1fr);}}
.act-box{border-radius:14px;padding:16px 20px;}
.act-ok{background:var(--green-soft);color:var(--green);}
.act-warn{background:var(--orange-soft);color:var(--orange);}
.act-title{font-weight:700;font-size:14px;letter-spacing:.04em;}
.act-item{display:flex;gap:8px;justify-content:space-between;font-size:13px;color:var(--ink);text-decoration:none;padding:7px 0 0;}
.act-item span{color:var(--orange);}
.act-item:hover{text-decoration:underline;}
.diag-jump{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:16px 20px;cursor:pointer;font-size:14px;color:var(--ink);text-align:left;box-shadow:var(--shadow);}
.diag-jump span{margin-left:auto;color:var(--ink2);}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink2);flex-shrink:0;font-style:normal;}
.tiles-big{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px;}
.tiles-big .tile{padding:18px 22px;border-radius:16px;box-shadow:var(--shadow);}
.tiles-big .t-val{font-size:30px;font-weight:700;margin:6px 0 4px;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
.tiles-big .t-val small{font-size:14px;font-weight:500;margin-left:2px;}
.tiles-big .t-sub{font-size:12px;color:var(--muted);}
.strip{display:flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;box-shadow:var(--shadow);}
.strip>div{padding:13px 22px;display:flex;gap:12px;align-items:baseline;border-right:1px solid var(--line);}
.strip>div:last-child{border-right:none;}
.strip span{font-size:12px;color:var(--muted);}
.strip b{font-size:14px;font-variant-numeric:tabular-nums;}
.diag-list{border-top:1px solid var(--line);margin:0 -22px;}
.diag-item{display:flex;align-items:center;gap:14px;padding:15px 22px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:13.5px;line-height:1.7;}
.diag-item:hover{background:var(--gold-soft);}
.diag-item span{flex:1;}
.diag-item b{font-weight:400;color:var(--ink2);font-size:12px;white-space:nowrap;}
.diag-item.warn .dot{background:var(--orange);} .diag-item.good .dot{background:var(--green);}
.diag-item.info .dot{background:var(--blue);} .diag-item.act .dot{background:var(--red);}
.more{display:inline-block;margin-top:14px;font-size:13px;text-decoration:none;}
.ctable{width:100%;border-collapse:collapse;font-size:13.5px;}
.ctable th{font-size:12px;font-weight:700;color:var(--ink2);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);}
.ctable td{padding:14px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ctable td small{font-size:11px;color:var(--muted);}
.ctable th.num,.ctable td.num{text-align:right;}
.ctable tr[data-goto]{cursor:pointer;}
.ctable tr[data-goto]:hover td{background:var(--gold-soft);}
.foot-note{font-size:11.5px;color:var(--muted);margin-top:12px;}
.welcome h2{font-family:var(--serif);font-size:17px;margin-bottom:6px;}
.welcome p{font-size:13px;color:var(--ink2);}
.demo-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#2b2a22;color:#efeadc;border-radius:14px;padding:10px 12px 10px 18px;margin-bottom:16px;font-size:13px;}
.demo-bar b{color:#d4b57a;}
.demo-bar .btn-ghost-sm{color:#efeadc;border-color:rgba(255,255,255,.3);}
.hint{font-size:11px;color:var(--muted);line-height:1.7;margin:4px 0 10px;}
.placeholder{color:var(--muted);font-size:12px;line-height:1.9;padding:24px 4px;text-align:center;}

/* ---------- form ---------- */
.lbl{display:block;font-size:11px;font-weight:700;color:var(--ink2);margin:12px 0 5px;}
.lbl:first-child{margin-top:0;}
.inp{width:100%;padding:10px 12px;border:1.5px solid var(--line2);border-radius:9px;background:var(--field);outline:none;font-size:13px;}
.inp:focus{border-color:var(--gold);}
textarea.inp{resize:vertical;line-height:1.7;}
select.inp{appearance:auto;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:420px){.row2{grid-template-columns:1fr;}}
.chips{display:flex;flex-wrap:wrap;gap:6px;}
.chip{padding:6px 11px;border:1.5px solid var(--line2);border-radius:999px;background:var(--surface);cursor:pointer;font-size:12px;color:var(--ink2);}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:700;}
.chk{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink2);margin:12px 0;cursor:pointer;}
.chk input{width:16px;height:16px;accent-color:#c8a96e;}
.sel-sm{padding:5px 8px;border:1px solid var(--line2);border-radius:7px;background:var(--field);font-size:12px;}

/* ---------- buttons ---------- */
.btn-primary,.btn-dark{width:100%;margin-top:14px;padding:13px;border:none;border-radius:11px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.06em;display:flex;align-items:center;justify-content:center;gap:8px;}
.btn-primary{background:#c8a96e;color:#2d2d1e;}
.btn-dark{background:#2d2d1e;color:#c8a96e;}
.btn-primary:disabled,.btn-dark:disabled{opacity:.6;cursor:wait;}
.btn-sm,.btn-ghost-sm{padding:7px 12px;border-radius:8px;font-size:12px;cursor:pointer;white-space:nowrap;}
.btn-sm{background:var(--ink);color:var(--bg);border:1.5px solid var(--ink);}
.btn-sm.btn-gold{background:#c8a96e;border-color:#c8a96e;color:#2d2d1e;font-weight:700;}
.btn-sm:disabled{opacity:.6;cursor:wait;}
.btn-ghost-sm{background:transparent;color:var(--ink2);border:1.5px solid var(--line2);}
.btn-ghost-sm.danger{color:var(--red);border-color:var(--red);}
.link{background:none;border:none;color:var(--gold-ink);cursor:pointer;font-size:12px;}
.row-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.sticky-save{position:sticky;bottom:12px;}
.sticky-save .btn-primary{box-shadow:var(--shadow);}
.spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;flex-shrink:0;}
@keyframes spin{to{transform:rotate(360deg);}}
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:3px;margin-bottom:14px;}
.seg button{border:none;background:none;padding:7px 14px;border-radius:7px;cursor:pointer;font-size:12px;color:var(--ink2);}
.seg button.on{background:var(--ink);color:var(--bg);font-weight:700;}

/* ---------- AI output (markdown) ---------- */
.ai-out{font-size:13px;line-height:1.85;color:var(--ink);word-break:break-word;}
.ai-out.placeholder{color:var(--muted);}
.ai-out h1,.ai-out h2,.ai-out h3{font-size:14px;font-weight:700;margin:16px 0 6px;padding-left:9px;border-left:3px solid #c8a96e;}
.ai-out h1:first-child,.ai-out h2:first-child,.ai-out h3:first-child{margin-top:0;}
.ai-out p{margin:6px 0;}
.ai-out ul,.ai-out ol{margin:6px 0 6px 20px;}
.ai-out li{margin:2px 0;}
.ai-out hr{border:none;border-top:1px dashed var(--line2);margin:14px 0;}
.ai-out table{border-collapse:collapse;margin:8px 0;font-size:12px;display:block;overflow-x:auto;}
.ai-out th,.ai-out td{border:1px solid var(--line);padding:5px 8px;text-align:left;}
.ai-out th{background:var(--gold-soft);}
.ai-out blockquote{border-left:3px solid var(--line2);padding-left:10px;color:var(--ink2);margin:6px 0;}
.ai-out .cursor{display:inline-block;width:7px;height:14px;background:#c8a96e;vertical-align:-2px;animation:blink 1s steps(2) infinite;}
@keyframes blink{50%{opacity:0;}}
.ai-out[hidden]{display:none;}
#dashAiOut,#cuAiOut{margin-top:14px;}
.refine{display:flex;gap:8px;margin-top:10px;}

/* ---------- tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px;}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.tile .t-label{font-size:11px;color:var(--ink2);}
.tile .t-val{font-size:22px;font-weight:900;margin-top:2px;letter-spacing:.01em;}
.tile .t-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.delta-up{color:var(--green);font-weight:700;} .delta-down{color:var(--red);font-weight:700;}

/* ---------- tables ---------- */
.tbl-wrap{overflow-x:auto;}
.tbl{border-collapse:collapse;width:100%;font-size:12px;}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:6px 6px;text-align:left;white-space:nowrap;}
.tbl th{font-size:11px;color:var(--ink2);font-weight:700;}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums;}
.tbl input{width:100%;min-width:76px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:var(--field);text-align:right;font-variant-numeric:tabular-nums;}
.tbl input.txt{text-align:left;min-width:120px;}
.tbl .del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;}
.tbl-toggle{margin-top:8px;font-size:12px;color:var(--ink2);}
.tbl-toggle summary{cursor:pointer;}

/* ---------- charts ---------- */
.chart{position:relative;width:100%;}
.chart svg{display:block;width:100%;height:auto;overflow:visible;}
.chart .ax{fill:var(--muted);font-size:10px;}
.chart .gridl{stroke:var(--grid);stroke-width:1;}
.chart .base{stroke:var(--line2);stroke-width:1;}
.chart .mark{fill:var(--chart);}
.chart .mark.dim{opacity:.45;}
.chart .hit{fill:transparent;cursor:pointer;}
.chart .mark.hl{opacity:1;filter:brightness(1.12);}
.chart .line{fill:none;stroke:var(--chart);stroke-width:2;}
.chart .dot{fill:var(--chart);stroke:var(--surface);stroke-width:2;}
.chart .lbl-v{fill:var(--ink);font-size:10px;font-weight:700;}
.chart .xhair{stroke:var(--line2);stroke-dasharray:3 3;}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font-size:11px;padding:5px 8px;border-radius:6px;white-space:nowrap;transform:translate(-50%,-110%);z-index:5;}
.empty{color:var(--muted);font-size:12px;text-align:center;padding:28px 0;}

/* ---------- calendar ---------- */
.cal-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.cal-title{font-size:16px;font-weight:900;min-width:110px;text-align:center;}
.season-strip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.season-strip span{font-size:11px;background:var(--gold-soft);color:var(--gold-ink);padding:3px 9px;border-radius:999px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);}
.cal-grid .dow{font-size:10px;text-align:center;padding:4px 0;color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--field);}
.cal-cell{min-height:92px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:3px;cursor:pointer;min-width:0;}
.cal-cell:hover{background:var(--gold-soft);}
.cal-cell.out{opacity:.35;}
.cal-cell.today .dn{background:#c8a96e;color:#2d2d1e;border-radius:50%;}
.cal-cell .dn{font-size:11px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;}
.cal-cell .ev{display:block;font-size:10px;line-height:1.35;padding:2px 4px;border-radius:4px;margin-top:2px;background:var(--field);border-left:3px solid var(--line2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cal-cell .ev.done{text-decoration:line-through;opacity:.6;}
.cal-cell .hol{font-size:9px;color:var(--gold-ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:640px){.cal-cell{min-height:60px;}.cal-cell .ev{font-size:0;height:6px;padding:0;margin-top:2px;}.cal-cell .hol{display:none;}}
.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:11px;color:var(--ink2);}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px;}

/* ---------- list items ---------- */
.item{border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin-bottom:8px;background:var(--surface);}
.item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.item-title{font-weight:700;font-size:13px;}
.item-body{font-size:12px;color:var(--ink2);margin-top:6px;white-space:pre-wrap;word-break:break-word;max-height:9.5em;overflow:hidden;position:relative;}
.item-body.open{max-height:none;}
.tag{font-size:10px;padding:2px 7px;border-radius:999px;background:var(--gold-soft);color:var(--gold-ink);white-space:nowrap;}
.tag.green{background:var(--green-soft);color:var(--green);} .tag.blue{background:var(--blue-soft);color:var(--blue);}
.tag.red{background:var(--red-soft);color:var(--red);} .tag.orange{background:var(--orange-soft);color:var(--orange);}
.item-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.item-actions button{font-size:11px;padding:4px 9px;border-radius:6px;border:1px solid var(--line2);background:var(--surface);cursor:pointer;color:var(--ink2);}

/* ---------- result blocks ---------- */
.score-big{display:flex;align-items:center;gap:16px;padding:14px;border-radius:12px;background:var(--gold-soft);margin-bottom:12px;}
.score-big .num{font-size:44px;font-weight:900;font-family:Georgia,serif;line-height:1;}
.bar-row{margin:7px 0;}
.bar-row .bh{display:flex;justify-content:space-between;font-size:12px;color:var(--ink2);}
.bar-track{height:6px;background:var(--grid);border-radius:3px;overflow:hidden;margin-top:3px;}
.bar-fill{height:100%;background:var(--chart);border-radius:3px;}
.risk{border-radius:10px;padding:10px 12px;margin:8px 0;font-size:12px;border:1px solid var(--line);}
.risk.high{background:var(--red-soft);border-color:var(--red);}
.risk.mid{background:var(--orange-soft);border-color:var(--orange);}
.risk.low{background:var(--blue-soft);border-color:var(--blue);}
.risk b{display:block;margin-bottom:2px;}
.sect{font-size:11px;letter-spacing:.12em;color:var(--muted);margin:16px 0 6px;font-weight:700;}
.alt{border:1px dashed var(--line2);border-radius:10px;padding:10px 12px;margin:6px 0;font-size:13px;display:flex;gap:8px;align-items:flex-start;}
.alt span{flex:1;white-space:pre-wrap;}
.alt button{font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid var(--line2);background:var(--surface);cursor:pointer;color:var(--ink2);}
.hero{background:#2d2d1e;color:#f5f2eb;border-radius:12px;padding:16px;margin-bottom:12px;}
.hero .k{font-size:10px;letter-spacing:.15em;color:#c8a96e;}
.hero .v{font-size:18px;font-weight:900;margin-top:4px;}
.hero .s{font-size:12px;color:#d8d3c2;margin-top:6px;}
.timeline{border-left:2px solid var(--line2);margin-left:6px;padding-left:14px;}
.timeline .tl{position:relative;margin:8px 0;font-size:12px;}
.timeline .tl::before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:#c8a96e;}
.sources{margin-top:14px;border-top:1px dashed var(--line2);padding-top:10px;font-size:11px;}
.sources a{display:block;margin:3px 0;word-break:break-all;}
.bridge{background:var(--green-soft);border:1px solid var(--green);border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.img-prev{margin-top:8px;position:relative;}
.img-prev img{width:100%;max-height:160px;object-fit:cover;border-radius:9px;display:block;}
.img-prev button{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:50%;width:26px;height:26px;cursor:pointer;}

/* ---------- modal / toast ---------- */
.modal{position:fixed;inset:0;background:rgba(20,20,10,.55);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;}
.modal-card{background:var(--surface);border-radius:16px;padding:20px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.25);}
.modal-card.wide{max-width:640px;}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.x{background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted);line-height:1;}
#toasts{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:6px;align-items:center;width:calc(100% - 32px);max-width:420px;}
.toast{background:#2d2d1e;color:#f5f2eb;padding:10px 16px;border-radius:10px;font-size:12px;box-shadow:0 4px 16px rgba(0,0,0,.25);animation:tin .25s ease;}
.toast.err{background:#8a3b3b;}
.toast.ok{background:#3f6b4f;}
@keyframes tin{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.err-box{margin-top:12px;padding:12px 14px;background:var(--red-soft);border:1px solid var(--red);border-radius:9px;color:var(--red);font-size:12px;line-height:1.7;}
