/* v0.15: picture-first four-tab interface; preserve original reader and legacy logic offscreen. */
#soundlabJourney,.legacy-welcome,.legacy-gateway,.legacy-layout{display:none!important}
body{background:#f3f2ed}
.sl15-app{max-width:1280px;margin:auto;padding:12px 22px 120px;min-height:65vh}
.sl15-app [hidden]{display:none!important}
.sl15-tabs{position:sticky;top:0;z-index:100;display:flex;gap:8px;background:#f3f2edee;padding:10px 0 14px;backdrop-filter:blur(14px);border-bottom:1px solid #dedbd3}
.sl15-tabs button{border:0;border-radius:13px;padding:13px 25px;background:transparent;color:#52606b;font-weight:800;font-size:14px;display:flex;align-items:center;gap:9px;justify-content:center;min-width:140px}
.sl15-tabs button[aria-selected="true"]{background:#162635;color:white;box-shadow:0 4px 18px #14243227}
.sl15-tabs button:focus-visible,.sl15-app button:focus-visible{outline:3px solid #ef7e3b;outline-offset:2px}
.sl15-view{padding:26px 2px 75px;min-height:70vh}
.sl-section-label{font-size:12px;letter-spacing:.16em;color:#bc633c;font-weight:850;margin-bottom:7px;text-transform:uppercase}
.sl15-view h1{font-size:clamp(26px,3.1vw,40px);line-height:1.2;margin:4px 0 22px;letter-spacing:-.02em}
.sl15-view h2{font-size:clamp(21px,2.5vw,29px);line-height:1.3;margin:20px 0 8px}
.sl15-view h3{font-size:19px;margin:21px 0 9px}.sl-muted{color:#5e6972;margin:0 0 17px}
.sl-eyebrow{color:#bd653a;font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:850}
.sl-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);border-radius:23px;overflow:hidden;background:#172838;color:white;min-height:380px;box-shadow:0 13px 36px #17253822}
.sl-hero-art{position:relative;min-height:380px;overflow:hidden;background:#d3d5d0}
.sl-hero-artwork{height:100%;display:flex;align-items:center;justify-content:center}
.sl-hero-artwork img,.sl-hero-artwork picture{width:100%;height:100%;object-fit:cover;display:block}.sl-hero-artwork img{max-height:550px}
.sl-hero-word{position:absolute;right:18px;bottom:14px;color:white;text-shadow:0 2px 12px black,0 2px 3px #121212;font-family:"Noto Sans JP",sans-serif;font-weight:950;font-size:clamp(36px,5vw,82px);line-height:1.18;letter-spacing:.07em;-webkit-text-stroke:1px #303035;pointer-events:none}
.sl-hero-copy{padding:clamp(24px,3vw,47px);display:flex;flex-direction:column;justify-content:center;gap:8px}
.sl-hero-copy h1{font-size:clamp(24px,2.9vw,37px);color:white;margin:6px 0 0}.sl-hero-copy .sl-muted{color:#bbc8ce}.sl-daily-meaning{font-size:18px;color:#f5d8a7;line-height:1.5}
.sl-primary{border:0;padding:14px 20px;border-radius:12px;background:#ec8046;color:#162532;font-size:15px;font-weight:850;align-self:flex-start}
.sl-flow-heading{margin:38px 0 16px!important}.sl-flow-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sl-flow{border:0;background:#dbe4e7;position:relative;overflow:hidden;border-radius:18px;min-height:200px;padding:0;text-align:start;box-shadow:0 7px 26px #17283813}
.sl-flow-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .24s}.sl-flow:hover .sl-flow-image{transform:scale(1.05)}
.sl-flow-mask{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#11202fdc 20%);color:white;min-height:110px;display:flex;align-items:flex-end;gap:8px;padding:36px 20px 18px}
.sl-flow-mask b{font-size:12px;color:#f4b489}.sl-flow-mask strong{font-size:19px;flex:1}.sl-flow-mask span{font-size:25px}
.sl-series-banners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sl-series-banner{position:relative;overflow:hidden;background:#1d2935;border:3px solid transparent;border-radius:18px;min-height:160px;text-align:start;padding:0}.sl-series-banner.active{border-color:#eb874f}
.sl-series-banner img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.sl-series-banner span{position:absolute;inset:auto 0 0;padding:20px 15px 13px;display:flex;justify-content:space-between;color:white;font-weight:900;font-size:18px;background:linear-gradient(transparent,#0c1921ef)}
.sl-selected-series{margin:30px 0}.sl-selected-series h2 small{font-size:13px;color:#77818a}.sl-chapter-group{margin:24px 0 30px}.sl-group-head{display:flex;gap:16px;justify-content:space-between;align-items:center;border-bottom:1px solid #d9d5cc;margin-bottom:13px}
.sl-group-head h3{font-size:18px}.sl-volume-cta{background:#1c3040;border:0;color:white;font-weight:800;border-radius:9px;padding:8px 13px}
.sl-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sl-story-card{border:1px solid #dcd8cf;background:#fff;text-align:start;border-radius:13px;overflow:hidden;display:flex;gap:10px;align-items:center;padding:7px;min-height:112px;box-shadow:0 4px 13px #25394a0b;color:#253544}
.sl-story-card:hover{border-color:#e88648;box-shadow:0 5px 19px #d97b4421}
.sl-story-thumb{width:43%;min-width:100px;aspect-ratio:2.01/1;object-fit:cover;border-radius:8px;background:#ddd}.sl-story-body{flex:1;min-width:0}.sl-story-body small{display:block;font-size:11px;color:#7c8589;margin-bottom:6px}.sl-story-body strong{display:block;line-height:1.35;font-size:13px;overflow-wrap:anywhere}.sl-arrow{font-weight:900;color:#bb754d}
.sl-magazine{margin-top:37px;background:#172b3a;border-radius:19px;padding:22px;color:white}.sl-magazine>img{display:block;max-height:105px;max-width:330px;width:auto;object-fit:contain}
.sl-mag-intro h2{color:#fff;margin:14px 0 4px}.sl-mag-intro p{color:#c0d0d5;margin:0 0 16px}
.sl-shelf{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}
.sl-vol-card{flex:0 0 250px;max-width:84vw;text-align:start;border:1px solid #71808b;color:white;background:#2a4152;border-radius:14px;padding:8px;scroll-snap-align:start;display:grid;gap:5px}
.sl-vol-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.sl-vol-card strong{font-size:13px;padding:3px 6px}.sl-vol-card small{color:#c9d4da;padding:0 6px}.sl-vol-card span{color:#f1b47a;font-weight:800;padding:0 6px 6px}
.sl-map{width:100%;position:relative;aspect-ratio:1672/941;overflow:hidden;border-radius:21px;border:1px solid #c5d9dd;box-shadow:0 12px 30px #124d6720;isolation:isolate;background:#98d7ee}
.sl-map>img{width:100%;height:100%;position:absolute;inset:0;display:block;object-fit:fill}
.sl-map-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.sl-map-svg .sl-map-islands{pointer-events:auto}.sl-map-svg polygon{fill:transparent;cursor:pointer;stroke:transparent;stroke-width:3}.sl-map-svg polygon:focus-visible{stroke:#ffb35a;stroke-width:9;outline:none}
.sl-map-title{position:absolute;z-index:3;transform:translate(-50%,-50%);padding:4px 9px;text-align:center;color:#102c3b;background:#fff8e9e8;box-shadow:0 2px 9px #122e3840;border:2px solid #e2b97b;border-radius:13px;max-width:20%;min-width:10%;font-size:clamp(8px,1vw,14px);line-height:1.23}
.sl-map-title small{display:block;font-size:.83em}.sl-map-title b{display:block;font-size:1.1em}.sl-map-title em{display:block;font-style:normal;font-size:.8em;line-height:1.2}
.sl-map-title.selected{background:#ffe6b5;border-color:#ff7828}
.sl-map-bubbles{position:absolute;inset:0;pointer-events:none;z-index:4}.sl-map-bubble{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);border:1px solid #e78d5b;background:#fffaf5;border-radius:999px;padding:4px 8px;font-weight:900;font-size:clamp(8px,1.05vw,15px);box-shadow:0 1px 8px #0002;line-height:1.1;white-space:nowrap}
.sl-island-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:13px 0 25px}
.sl-island-cards button{border:1px solid #c9d6d6;background:#fff;border-radius:10px;min-height:58px;display:flex;align-items:center;gap:5px;text-align:start;padding:8px;color:#243646}
.sl-island-cards button.selected{background:#fff0d7;border-color:#e6843b}.sl-island-cards b{border-radius:6px;background:#152b3d;color:#fff;padding:3px 7px}.sl-island-cards span{font-size:10px;line-height:1.2;overflow-wrap:anywhere}
.sl-sound-controls{background:#fff;border:1px solid #e0dacf;padding:18px;border-radius:15px;margin-bottom:15px}
.sl-sound-controls label{display:block;font-weight:800;font-size:14px;margin-bottom:6px}.sl-sound-controls input{padding:11px 13px;border:1px solid #cfc9bf;border-radius:10px;width:100%;font-size:15px}
.sl-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0}.sl-filter-row button{border:1px solid #cccac5;border-radius:20px;background:#f4f3ee;padding:6px 12px;color:#243643;font-size:12px}
.sl-filter-row button.active{background:#1c3041;color:white;border-color:#1c3041}.sl-filter-row strong{font-size:13px;align-self:center;color:#a85627}
.sl-word-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.sl-word-chips button{border:1px solid #dcd5c9;background:white;padding:10px;text-align:start;border-radius:13px;display:flex;flex-direction:column;gap:2px;min-height:100px;color:#1f2c38;overflow-wrap:anywhere}
.sl-word-chips button.active{border-color:#de7c45;background:#ffefdc}.sl-word-chips b{font-size:23px}.sl-word-chips span{font-weight:750;font-size:13px}.sl-word-chips small{font-size:11px;color:#66717b}
.sl-more{display:block;margin:20px auto;border:0;border-radius:10px;background:#273b4a;color:white;padding:10px 22px;font-weight:800}
.sl-word-detail{background:#fffaf2;border:1px solid #ead8b8;border-radius:19px;padding:22px;margin-top:22px;scroll-margin-top:92px}
.sl-word-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.sl-word-head h2{font-size:36px;margin:3px 0 0}.sl-word-head p{margin:2px 0 8px}.sl-word-head button{border:0;background:#243a4b;color:white;border-radius:10px;padding:9px 13px;white-space:normal}
.sl-word-head .sl-meaning{font-size:18px;color:#74481e;margin-top:11px}
.sl-related-words{display:flex;overflow-x:auto;gap:8px;padding:6px 0 12px}.sl-related-words button{white-space:nowrap;border:1px solid #e3ceb1;padding:10px 13px;border-radius:10px;background:white;font-weight:850}.sl-related-words button small{color:#697682;font-weight:500}
.sl-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sl-explainer-mini{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:12px;border:1px solid #ddd2c5;border-radius:12px;background:white;text-align:start;padding:6px}.sl-explainer-mini img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.sl-learn-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:20px;align-items:start}
.sl-learning-screen{background:#172b3b;padding:15px;border-radius:19px;color:white;position:sticky;top:88px}.sl-learning-screen h2{font-size:23px;color:white;margin:12px 0 4px}.sl-learning-screen p{color:#bfd0d9;margin:0;font-size:13px}
.sl-player{width:100%;aspect-ratio:16/9;background:#091621;border-radius:11px;overflow:hidden}.sl-player iframe{width:100%;height:100%;border:0}
.sl-video-list{display:grid;grid-template-columns:1fr;gap:10px}.sl-video-card{display:flex;gap:12px;padding:9px;text-align:start;border:2px solid #e2ded6;background:white;color:#233747;border-radius:13px;align-items:center}.sl-video-card.active{background:#ffebd3;border-color:#e77e3f}.sl-video-card img{width:36%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.sl-video-card span{min-width:0;flex:1}.sl-video-card strong{display:block;font-size:16px}.sl-video-card small{display:block;font-size:12px;color:#707984;word-break:break-word}
.sl-video-overlay{position:fixed;inset:0;background:#08131dc9;z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px}.sl-volume-dialog{position:relative;background:#f8f7f3;width:min(980px,95vw);padding:22px;border-radius:16px}.sl-volume-dialog h2{margin:0 35px 12px 0;font-size:21px}.sl-volume-dialog iframe{width:100%;aspect-ratio:16/9;border:0}.sl-volume-dialog #slVideoClose{position:absolute;top:9px;right:9px;background:#182a39;color:white;border:0;padding:6px 12px;border-radius:7px}
.reader-head h2{font-size:clamp(17px,2.3vw,22px)!important;line-height:1.22}
.reader-panel-frame img{width:100%;height:auto}.reader-content{overflow-y:auto}
@media(max-width:1060px){.sl15-app{padding:12px 15px 110px}.sl-series-banners{gap:10px}.sl-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sl-island-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.sl-map-title em{display:none}.sl-map-title{padding:3px 6px}}
@media(max-width:720px){
 .sl15-app{padding:0 10px 95px}.sl15-tabs{position:fixed;top:auto;bottom:0;left:0;right:0;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));z-index:900;background:#fffefdf4;border-top:1px solid #d9d6d1;box-shadow:0 -7px 25px #132c4020;gap:3px}
 .sl15-tabs button{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;padding:8px 2px;font-size:19px;border-radius:11px}.sl15-tabs button span{font-size:11px}
 .sl15-view{padding:19px 0 44px}.sl-hero{grid-template-columns:1fr}.sl-hero-art{min-height:210px;height:225px}.sl-hero-copy{padding:20px}.sl-hero-copy h1{font-size:24px}.sl-daily-meaning{font-size:15px}.sl-hero-word{font-size:40px}.sl-flow-list{grid-template-columns:1fr;gap:10px}.sl-flow{min-height:120px}.sl-flow-mask{min-height:90px}
 .sl-series-banners{grid-template-columns:1fr;gap:9px}.sl-series-banner{min-height:145px}.sl-story-grid{grid-template-columns:1fr}.sl-story-thumb{min-width:113px}.sl-island-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sl-map-title{min-width:0;padding:3px 4px;border-width:1px;font-size:8px;border-radius:5px}.sl-map-title small,.sl-map-title em{display:none}.sl-map-bubbles{display:none}.sl-map-title b{font-size:8px}.sl-word-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sl-learn-layout{grid-template-columns:1fr}.sl-learning-screen{position:static}.sl-video-list{grid-template-columns:1fr}.sl15-view h1{font-size:28px}
 .sl-word-head{flex-wrap:wrap}.sl-explainer-mini{grid-template-columns:100px 1fr auto}.sl-volume-dialog{padding:14px}.sl-volume-dialog h2{font-size:17px}
 .reader-backdrop{z-index:1200}.reader-head h2{font-size:18px!important}
}
@media(max-width:420px){.sl15-app{padding-left:8px;padding-right:8px}.sl-word-chips b{font-size:19px}.sl-story-body strong{font-size:12px}.sl-story-thumb{min-width:102px}}
.sl-matching-panel{outline:2px solid #e89b62;outline-offset:2px}.sl-matching-panel::before{content:"♫";float:right;background:#fbdfb9;border-radius:0 10px 0 9px;padding:0 9px;font-size:16px}


/* ===== v0.16 redesign overrides ===== */
:root{
  --bg:#101113;--panel:#17191d;--panel-2:#1e2127;--paper:#f4efe2;--ink:#f3f4f6;--muted:#b8bdc8;--line:#2b2f37;--accent:#f4bf58;
  --tab-base:#0f1012;--shadow:0 14px 38px rgba(0,0,0,.28);
  --flow-works:#d4574b;--flow-sounds:#39a6b9;--flow-learn:#7bb14d;
  --series-shounen:#e2a93b;--series-shoujo:#b16dcf;--series-seinen:#7594ae;
}
html[data-theme="light"]{--bg:#f3efe5;--panel:#ffffff;--panel-2:#fffaf0;--paper:#14161a;--ink:#111317;--muted:#4c5563;--line:#d9d0c2;--tab-base:#fff8eb;--shadow:0 10px 28px rgba(34,23,10,.12)}
body{background:var(--bg)!important;color:var(--ink)!important}
.top{background:#0b0c0f!important;color:var(--ink)!important;border-bottom:3px solid #23262d;height:auto;min-height:74px;position:sticky;top:0;z-index:999;box-shadow:0 7px 24px rgba(0,0,0,.25)}
html[data-theme="light"] .top{background:#111317!important;color:#fff!important}
.logo{font-weight:950;letter-spacing:.08em}
.logo-icon{border-radius:4px!important;transform:rotate(-4deg);border:2px solid #111;background:#ffe188!important;box-shadow:4px 4px 0 #000}
.topnote{font-size:10px;letter-spacing:.18em;color:#c6cad3}
.theme-toggle{border:2px solid #f4f4f4;background:#121418;color:#fff;border-radius:999px;width:40px;height:40px;font-size:18px;line-height:1}
.language-switch{position:relative;display:flex;align-items:center;gap:8px;border:2px solid #3c414d;background:#121418;padding:0 14px 0 36px;border-radius:999px;min-height:42px;max-width:min(42vw,240px)}
.language-switch::before{content:"🌐";position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px}
.language-switch select{appearance:none;background:transparent;border:0;color:#fff;font-weight:800;width:100%;padding:10px 20px 10px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.language-switch::after{content:"▾";position:absolute;right:12px;color:#fff;pointer-events:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sl15-app{max-width:1360px;padding:18px 22px 120px;background:transparent}
.sl15-tabs{background:transparent!important;border:0!important;gap:10px;padding:16px 0 12px}
.sl15-tabs button{position:relative;background:var(--tab-base)!important;color:var(--ink)!important;border:2px solid var(--line);min-width:0;border-radius:0!important;padding:14px 20px 13px;clip-path:polygon(0 0, 92% 0,100% 50%,92% 100%,0 100%,0 0);text-transform:uppercase;letter-spacing:.08em;box-shadow:var(--shadow)}
.sl15-tabs button[aria-selected="true"]{background:#fff0ca!important;color:#121316!important;border-color:#000}
html[data-theme="light"] .sl15-tabs button[aria-selected="true"]{background:#1a1c21!important;color:#fff!important;border-color:#000}
.sl15-tabs button span{overflow-wrap:anywhere}
.sl15-view{padding:22px 0 72px}
.sl-section-label,.sl-eyebrow{color:#f4bf58!important;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.sl15-view h1,.sl15-view h2,.sl15-view h3,.sl-flow-mask strong,.sl-story-body strong,.sl-video-card strong,.sl-word-head h2,.reader-head h2{font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', Inter, sans-serif;letter-spacing:.02em}
.sl15-view h1{font-size:clamp(28px,3.3vw,42px)}
.sl-muted{color:var(--muted)!important}
.sl-hero,.sl-magazine,.sl-learning-screen,.sl-sound-controls,.sl-word-detail,.sl-volume-dialog{background:var(--panel)!important;border:3px solid #000;border-radius:0!important;box-shadow:var(--shadow);color:var(--ink)!important}
.sl-hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);overflow:visible;position:relative}
.sl-hero::before{content:"";position:absolute;inset:-10px 16px auto auto;width:92px;height:92px;background:radial-gradient(circle,#fff7 0 8%,transparent 9%),radial-gradient(circle,#fff5 0 7%,transparent 8%);background-size:16px 16px;opacity:.2;pointer-events:none}
.sl-hero-art{min-height:420px;background:#111;border-right:3px solid #000;position:relative}
.sl-hero-artwork img,.sl-hero-artwork picture{object-fit:contain;background:#d8d6d1}
.sl-hero-word{left:18px;right:auto;bottom:16px;font-size:clamp(34px,5vw,76px);text-shadow:3px 3px 0 #000,-1px -1px 0 #000,0 0 14px rgba(0,0,0,.45)}
.sl-hero-copy{gap:14px;padding:28px}
.sl-hero-copy h1{margin:0;color:var(--ink)!important;overflow-wrap:anywhere}
.sl-hero-meta{font-size:12px;font-weight:800;letter-spacing:.08em;color:#d19c65;text-transform:uppercase}
.sl-comic-word{display:grid;gap:6px;background:var(--panel-2);border:2px solid var(--line);padding:14px 16px}
.sl-comic-word b[lang="ja"]{font-size:34px;line-height:1.05;text-shadow:2px 2px 0 #000;color:#fff}
html[data-theme="light"] .sl-comic-word b[lang="ja"]{color:#16181d;text-shadow:none}
.sl-comic-word .romaji{font-weight:900;color:#f0c05f;letter-spacing:.04em}
html[data-theme="light"] .sl-comic-word .romaji{color:#8c5b12}
.sl-comic-word .meaning{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.sl-hero-actions,.sl-home-continue-actions{display:flex;gap:10px;flex-wrap:wrap}
.sl-primary,.sl-round,.reader-close,.reader-controls .btn,.sl-volume-cta,.sl-more,#slSpeak,.sl-flow-jump,.theme-toggle{box-shadow:3px 3px 0 #000;font-weight:900}
.sl-primary{border-radius:999px!important;border:2px solid #000;background:#fff0ca;color:#121316;padding:12px 18px}
html[data-theme="light"] .sl-primary{background:#16181d;color:#fff;border-color:#000;box-shadow:3px 3px 0 #cbb38a}
.sl-round{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid #000;background:#1b2027;color:#fff;padding:10px 14px}
html[data-theme="light"] .sl-round{background:#fff;color:#121316}
.sl-flow-heading{margin-top:34px!important;margin-bottom:14px!important}
.sl-flow-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sl-flow{border:3px solid #000!important;border-radius:0!important;box-shadow:var(--shadow);min-height:200px}
.sl-flow.flow-works{background:#221517}.sl-flow.flow-sounds{background:#101e23}.sl-flow.flow-learn{background:#152116}
.sl-flow-image{opacity:.95}
.sl-flow-mask{background:linear-gradient(transparent,rgba(0,0,0,.92) 28%);border-top:3px solid #000;min-height:118px}
.sl-flow-mask b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#fff;color:#111}
.sl-flow.flow-works .sl-flow-mask b{color:var(--flow-works)}.sl-flow.flow-sounds .sl-flow-mask b{color:var(--flow-sounds)}.sl-flow.flow-learn .sl-flow-mask b{color:var(--flow-learn)}
.sl-flow-mask p{margin:6px 0 0;color:#d4d8df;font-size:12px;line-height:1.4}
.sl-home-continue{margin-top:22px;background:var(--panel);border:3px solid #000;box-shadow:var(--shadow);padding:18px 20px;display:flex;gap:16px;justify-content:space-between;align-items:flex-start}
.sl-home-continue .meta{font-size:12px;color:#c7ccd6;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.sl-home-continue h3{margin:4px 0 4px;font-size:27px;overflow-wrap:anywhere}
.sl-home-continue p{margin:0;color:var(--muted)}
.sl-series-banners{gap:18px}
.sl-series-banner,.sl-story-card,.sl-video-card,.sl-explainer-mini,.sl-vol-card,.sl-word-chips button,.sl-related-words button,.sl-island-cards button{border-radius:0!important;border:3px solid #000!important;box-shadow:var(--shadow);background:var(--panel)!important;color:var(--ink)!important}
.sl-series-banner{min-height:180px}.sl-series-banner.active{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--series-shoujo)}
.sl-series-banner span{border-top:3px solid #000;font-size:21px;background:linear-gradient(transparent,rgba(0,0,0,.95))}
.sl-story-grid{gap:16px}
.sl-story-card{padding:8px;min-height:126px;align-items:stretch}
.sl-story-thumb{width:42%;min-width:104px;border-radius:0!important;border:2px solid #000;background:#d8d6d1}
.sl-story-body small{font-weight:800;color:#c59d5c;letter-spacing:.04em;text-transform:uppercase}
.sl-story-body strong{font-size:16px;overflow-wrap:anywhere}
.sl-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:2px solid #000;background:#fff;color:#121316;align-self:center;flex:none}
.sl-magazine{margin-top:40px;padding:24px}
.sl-shelf{padding-bottom:14px}
.sl-vol-card{background:#0e1116!important;border-color:#000!important}
.sl-vol-card strong{font-size:15px}.sl-vol-card img{border-radius:0;border:2px solid #000}
.sl-map{border-radius:0!important;border:3px solid #000!important;background:#0b1625;box-shadow:var(--shadow)}
.sl-map>img{filter:brightness(.72) saturate(.88) hue-rotate(2deg)}
html[data-theme="light"] .sl-map>img{filter:none}
.sl-map::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,28,55,.24),rgba(3,7,22,.35));z-index:1;pointer-events:none}
html[data-theme="light"] .sl-map::after{background:transparent}
.sl-map-svg{z-index:3}.sl-map-svg polygon{stroke:rgba(255,255,255,.25);stroke-width:2}
.sl-map-dimmer{fill:rgba(4,9,18,.65)!important}
.sl-map-title,.sl-map-bubble{border-radius:999px!important;border:2px solid #000!important;box-shadow:3px 3px 0 rgba(0,0,0,.3)}
.sl-map-title{background:rgba(255,248,236,.96)!important;padding:6px 12px;max-width:21%;min-width:0}
.sl-map-title.selected{background:#fff4cd!important}
.sl-map-bubble{font-weight:950;background:#fffdf8!important}
.sl-island-cards{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 22px}
.sl-island-cards button{padding:10px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;gap:0 10px;align-items:center;min-height:76px}
.sl-island-cards i{grid-row:1 / span 2;width:54px;height:54px;border:2px solid #000;background-image:url('./assets/discovery-map.webp');background-size:360% 220%;background-repeat:no-repeat;box-shadow:2px 2px 0 rgba(0,0,0,.3)}
.sl-island-cards .sl-part-1 i{background-position:0% 18%}.sl-island-cards .sl-part-2 i{background-position:44% 18%}.sl-island-cards .sl-part-3 i{background-position:0% 63%}.sl-island-cards .sl-part-4 i{background-position:40% 62%}.sl-island-cards .sl-part-5 i{background-position:90% 18%}.sl-island-cards .sl-part-6 i{background-position:91% 64%}.sl-island-cards .sl-part-7 i{background-position:47% 100%}
.sl-island-cards b{align-self:end;color:#111;padding:4px 8px;border-radius:999px;border:2px solid #000;width:max-content;background:#fff;margin-bottom:4px}
.sl-island-cards span{font-size:11px;line-height:1.2;overflow-wrap:anywhere}
.sl-part-1{--part:#f6a0c7}.sl-part-2{--part:#f1b064}.sl-part-3{--part:#7fd291}.sl-part-4{--part:#6cb9ff}.sl-part-5{--part:#8bd79e}.sl-part-6{--part:#74c5ff}.sl-part-7{--part:#9a85ff}
.sl-island-cards .selected{background:color-mix(in srgb, var(--part) 22%, var(--panel))!important}
.sl-island-cards .selected b{background:var(--part)}
.sl-sound-controls{padding:18px 18px 12px}
.sl-sound-controls input{background:#0f131a;color:var(--ink);border:2px solid #000;border-radius:999px}
html[data-theme="light"] .sl-sound-controls input{background:#fff}
.sl-filter-row button{border:2px solid #000;border-radius:999px;background:var(--panel-2);color:var(--ink);font-weight:800}
.sl-filter-row button.active,.sl-video-card.active,.sl-word-chips button.active{background:#fff0ca!important;color:#111!important}
.sl-word-chips{gap:12px}
.sl-word-chips button{min-height:112px;padding:12px}.sl-word-chips b{font-size:26px;text-shadow:1px 1px 0 #000;color:#fff}.sl-word-chips span{font-weight:900;color:#f0c05f}.sl-word-chips small{font-size:12px;line-height:1.35}
html[data-theme="light"] .sl-word-chips b{color:#17191d;text-shadow:none}.sl-word-detail{margin-top:24px;padding:22px}
.sl-word-head p{overflow-wrap:anywhere}.sl-word-head .sl-meaning{color:#f0c05f!important}
html[data-theme="light"] .sl-word-head .sl-meaning{color:#8d5d14!important}
.sl-video-grid{gap:14px}.sl-explainer-mini{grid-template-columns:120px 1fr auto;padding:8px}
.sl-explainer-mini img{border-radius:0;border:2px solid #000}.sl-explainer-mini span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#fff;color:#111;border:2px solid #000}
.sl-learn-layout{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}
.sl-learning-screen{position:sticky;top:102px;padding:18px}.sl-player{border-radius:0!important;border:3px solid #000;background:#000}
.sl-video-card{padding:8px;align-items:flex-start}.sl-video-card img{border-radius:0;border:2px solid #000}.sl-video-card b{display:grid;place-items:center;align-self:center;width:34px;height:34px;border:2px solid #000;border-radius:999px;background:#fff;color:#111;flex:none}
/* reader redesign */
.reader-panel{background:var(--panel)!important;color:var(--ink)!important;border:3px solid #000;border-radius:0!important;box-shadow:var(--shadow)}
.reader-head{background:#0d1015;border-bottom:3px solid #000}.reader-kicker,.reader-head p{color:#d9b36a!important}.reader-head h2{font-size:clamp(17px,2.2vw,22px)!important;line-height:1.18;overflow-wrap:anywhere}
.reader-content{background:var(--bg)}
.reader-panel figure,.reader-short,.reader-compilation,.reader-route,.reader-panel-frame{border-radius:0!important;border:3px solid #000;background:var(--panel)!important;box-shadow:var(--shadow)}
.reader-panel-frame img{border-radius:0}
.reader-gloss{border-top:2px dashed var(--line);padding-top:10px}.reader-gloss-sound{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;border:2px solid #000;background:#fff;color:#111;font-weight:900}
.reader-gloss-meaning{background:var(--panel-2);border:2px solid var(--line);padding:9px 12px}
.reader-controls{background:var(--panel);border-top:3px solid #000}.reader-controls .btn{border-radius:999px!important;border:2px solid #000}.reader-close{background:#fff;color:#111;border:2px solid #000;border-radius:999px;width:40px;height:40px}
.reader-backdrop{background:rgba(0,0,0,.7)!important;backdrop-filter:blur(6px)}
.foot{border-top:2px solid var(--line);color:var(--muted)}
html[data-theme="light"] .sl-series-banner span, html[data-theme="light"] .sl-flow-mask{background:linear-gradient(transparent,rgba(0,0,0,.88))}
@media(max-width:1060px){.sl-hero{grid-template-columns:1fr}.sl-hero-art{min-height:290px}.sl-learn-layout{grid-template-columns:1fr}.sl-learning-screen{position:static}}
@media(max-width:720px){
 .sl15-app{padding:0 10px 104px}.top{padding:10px 12px}.top-right{gap:10px}
 .language-switch{max-width:52vw;padding-left:34px}
 .sl15-tabs{position:fixed;bottom:0;top:auto;background:transparent!important;border:0!important;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom))}
 .sl15-tabs::before{content:"";position:absolute;inset:2px 8px 2px;background:#0c0d10;border:3px solid #000;border-radius:999px;box-shadow:var(--shadow)}
 .sl15-tabs button{flex:1;min-width:0;display:flex;gap:2px;padding:10px 4px 9px;border-radius:999px!important;clip-path:none;background:transparent!important;border:0;box-shadow:none;z-index:1}
 .sl15-tabs button[aria-selected="true"]{background:#fff0ca!important;color:#111!important;border:2px solid #000;box-shadow:2px 2px 0 #000}
 .sl15-tabs button span{font-size:10px;letter-spacing:.04em}
 .sl-flow-list{grid-template-columns:1fr}.sl-home-continue{display:block}.sl-home-continue-actions{margin-top:12px}
 .sl-island-cards{display:grid}.sl-map-bubbles{display:none}.sl-map-title{display:none}
 .sl-word-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sl-story-grid,.sl-video-grid{grid-template-columns:1fr}
 .sl-explainer-mini{grid-template-columns:96px 1fr auto}
}
@media(max-width:420px){
 .sl-hero-copy{padding:20px}.sl-comic-word b[lang="ja"]{font-size:28px}.sl-home-continue h3{font-size:22px}.sl-word-chips b{font-size:22px}
}

/* v0.17: conservative fixes, not a redesign. */
/* Reduce unexpected hard dividing lines through cover art. */
.sl-flow-mask{
  inset:0!important;min-height:0!important;border-top:0!important;
  background:linear-gradient(to top, rgba(0,0,0,.96) 0%, rgba(0,0,0,.66) 22%, transparent 72%)!important;
  padding-top:38px!important;
}
.sl-series-banner span{
  border-top:0!important;
  background:linear-gradient(to top, rgba(0,0,0,.95), rgba(0,0,0,.55) 35%, transparent 100%)!important;
}
.sl-flow:before,.sl-series-banner:before{pointer-events:none;}
/* Manga titles remain strong, not Impact-black. */
.sl15-view h1,.sl15-view h2,.sl15-view h3,.sl-flow-mask strong,.sl-story-body strong,
.sl-video-card strong,.sl-word-head h2,.reader-head h2{
  font-family:Inter,'Noto Sans',Arial,sans-serif!important;
  font-weight:750!important;letter-spacing:-.015em!important;
}
.sl-hero-word{
  font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif!important;
  font-weight:850!important;-webkit-text-stroke:.55px #222!important;
  text-shadow:2px 3px 0 #161616,0 1px 6px #000!important;
}
/* The map is two pixel-identical layers; bright one clips exactly to selected polygon. */
.sl-map .sl-map-base,.sl-map .sl-map-bright{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.sl-map .sl-map-base{z-index:0;filter:brightness(1);transition:filter .18s ease}
.sl-map.is-highlighted .sl-map-base{filter:brightness(.35) saturate(.55)}
.sl-map .sl-map-bright{z-index:2;filter:none;pointer-events:none;display:none}
/* Compact sound detail: PC columns with a real panel occurrence image, phone horizontal cards. */
.sl-word-detail{padding:18px!important;margin-top:16px!important}
.sl-word-layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(250px,.86fr);gap:18px;align-items:start}
.sl-word-layout h3{margin:10px 0 6px!important;font-size:17px!important}
.sl-word-layout .sl-word-main,.sl-word-layout .sl-word-related{min-width:0}
.sl-word-head{gap:10px;align-items:center}
.sl-word-head h2{margin:0!important;font-size:clamp(27px,3vw,36px)!important}
.sl-word-head p{margin:2px 0!important}
.sl-word-head .sl-meaning{font-size:16px!important;margin:6px 0 0!important;line-height:1.3}
.sl-word-related section+section{margin-top:11px}
.sl-word-related .sl-related-words{gap:7px;padding:3px 0 7px;flex-wrap:wrap;overflow:visible}
.sl-word-related .sl-related-words button{white-space:normal;padding:7px 10px;font-weight:650!important;font-size:13px}
.sl-occurrences{min-width:0}
.sl-occurrences .sl-filter-row{gap:5px;margin:4px 0 8px;flex-wrap:wrap}
.sl-occurrences .sl-filter-row button{font-size:11px;padding:5px 8px}
.sl-occurrence-scroller{display:flex;gap:11px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 4px 12px 0;min-width:0}
.sl-occurrence-card{flex:0 0 min(100%,520px);scroll-snap-align:start;display:flex;flex-direction:column;text-align:start;
 background:var(--panel);border:2px solid #181818;padding:6px;color:var(--ink);min-width:0;gap:5px}
.sl-occurrence-thumb{width:100%;aspect-ratio:2.02/1;object-fit:contain;background:#c7c7c7;display:block}
.sl-occurrence-text{display:grid;gap:3px;min-width:0}
.sl-occurrence-text b{color:var(--muted);font-size:11px;font-weight:700}
.sl-occurrence-text strong{font-size:14px;line-height:1.23;overflow-wrap:anywhere}
.sl-occurrence-text small{color:var(--muted);font-size:11px;line-height:1.2}
.sl-word-related .sl-video-grid{grid-template-columns:1fr;gap:6px}
.sl-word-related .sl-explainer-mini{grid-template-columns:95px 1fr auto}
/* Compilation cards share Learn tab's existing card/player interaction. */
.sl-video-list h3{font-size:16px;margin:3px 0 10px}
.sl-learning-screen h2{font-weight:750!important}
@media(max-width:760px){
 .sl-word-detail{margin-top:10px!important;padding:11px!important}
 .sl-word-layout{grid-template-columns:minmax(0,1fr);gap:7px}
 .sl-word-layout h3{margin:7px 0 5px!important;font-size:15px!important}
 .sl-word-head{align-items:start}
 .sl-word-head h2{font-size:27px!important}
 .sl-word-head .sl-meaning{font-size:14px!important}
 .sl-word-head #slSpeak{font-size:12px;padding:8px!important;max-width:140px}
 .sl-occurrence-scroller{gap:9px;padding-bottom:8px}
 .sl-occurrence-card{flex-basis:min(83vw,320px);max-width:100%}
 .sl-word-related .sl-related-words{overflow:visible}
 .sl-word-related section+section{margin-top:7px}
 .sl-occurrences .sl-filter-row button{font-size:10px}
}
