:root{
  --background-main:#f3efe5;
  --background-warm:#f8f3e9;
  --surface-primary:#fcfaf4;
  --surface-secondary:#f1ede3;
  --surface-beige:#eee2cf;
  --surface-sage:#dfeae1;
  --surface-blue:#e3ebef;
  --surface-cream:#f7eedb;
  --surface-gold:#efe3c2;
  --text-primary:#26312d;
  --text-secondary:#56615c;
  --text-muted:#78807c;
  --accent-primary:#397c70;
  --accent-green:#5d8b74;
  --accent-blue:#587d91;
  --accent-warm:#a8754f;
  --accent-gold:#9c8150;
  --danger-soft:#f2dfda;
  --success-soft:#dceadf;
  --border-soft:#ded8cc;
  --border-strong:#c8c1b4;
  --shadow-sm:0 7px 20px rgba(57,64,59,.06);
  --shadow-md:0 18px 46px rgba(57,64,59,.09);
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:25px;
  --radius-xl:34px;
  --ink:var(--text-primary);
  --muted:var(--text-muted);
  --plum:var(--background-main);
  --panel:var(--surface-primary);
  --paper:var(--surface-primary);
  --gold:var(--accent-primary);
  --coral:var(--accent-warm);
  --mint:var(--surface-sage);
  --line:var(--border-soft);
  --shadow:var(--shadow-md);
  --shadow-hover:0 22px 52px rgba(48,65,57,.12)
}

*{box-sizing:border-box}
html{background:var(--background-main);scroll-behavior:smooth}
body{
  min-height:100vh;
  color:var(--text-primary);
  background:
    radial-gradient(circle at 8% 0,rgba(132,165,147,.13),transparent 29rem),
    radial-gradient(circle at 96% 8%,rgba(129,159,176,.11),transparent 27rem),
    var(--background-main);
  font-family:'Onest',system-ui,-apple-system,'Segoe UI',sans-serif;
  letter-spacing:-.012em
}
body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(rgba(59,70,63,.22) .5px,transparent .5px);background-size:18px 18px;mask-image:linear-gradient(to bottom,#000,transparent 45%)}
.ambient{display:none!important}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,.display,.hero h1,.auth-intro h1,.auth-form h2,.auth-aside h1{font-family:'Manrope','Onest',sans-serif;font-weight:800;letter-spacing:-.045em;color:var(--text-primary)}
p{line-height:1.68}
a{color:var(--accent-primary)}
.muted,.lead,.detail-meta{color:var(--text-muted)}
.lead{font-size:16px;line-height:1.75}

.topbar{
  height:74px;max-width:1200px;margin:12px auto 0;padding:0 18px;
  position:sticky;top:12px;z-index:30;
  border:1px solid rgba(205,199,187,.88);border-radius:20px;
  background:rgba(250,247,239,.91);backdrop-filter:blur(18px);
  box-shadow:var(--shadow-sm)
}
.brand{gap:10px;color:var(--text-primary);font-size:17px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--accent-primary);color:#faf8f1;box-shadow:0 7px 17px rgba(57,124,112,.18);font-family:'Manrope';font-size:20px}.brand i{color:var(--accent-primary);font-family:inherit;font-style:normal}
.desktop-nav{gap:3px;padding:5px;background:rgba(232,229,220,.76);border-radius:13px}.desktop-nav button{padding:8px 10px;border-radius:9px;color:var(--text-secondary);font-size:12px;font-weight:700;transition:.18s}.desktop-nav button:hover,.desktop-nav button.active{color:var(--accent-primary);background:var(--surface-primary);box-shadow:0 3px 12px rgba(62,72,66,.06)}
.top-actions{gap:8px}.icon-btn,.avatar{width:38px;height:38px;border-radius:11px}.icon-btn{background:var(--surface-sage);color:var(--accent-primary);font-size:22px}.avatar{background:var(--text-primary);color:#faf8f1}
main{max-width:1200px;padding:0 24px 104px}

.primary,.secondary,.small-btn,.ds-button{min-height:42px;padding:11px 17px;border-radius:11px;font-weight:750;font-size:13px;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.primary,.ds-button.primary{background:var(--accent-primary);color:#fff;box-shadow:0 8px 20px rgba(57,124,112,.17)}
.primary:hover,.ds-button.primary:hover{background:#306d62;box-shadow:0 12px 27px rgba(57,124,112,.22);transform:translateY(-1px)}
.secondary,.ds-button.secondary{background:var(--surface-primary);color:var(--text-primary);border:1px solid var(--border-soft)}
.secondary:hover,.ds-button.secondary:hover{border-color:#a8bbb1;background:#f7f5ee;transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.small-btn{background:var(--surface-sage)!important;color:var(--accent-primary)!important}
.small-btn:hover{background:#d1e2d7!important;transform:translateY(-1px)}
.link,.back,.lk-back{color:var(--accent-primary);font-weight:750}
*:focus-visible{outline:3px solid rgba(88,125,145,.23);outline-offset:3px}

.eyebrow,.ds-kicker{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:7px 10px;border-radius:999px;background:var(--surface-sage);color:var(--accent-primary);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.tag{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border:1px solid #d4e2d8;border-radius:999px;background:var(--surface-sage);color:var(--accent-primary);font-size:10px;font-weight:800}
.story-status,.ds-status{display:inline-flex;width:max-content;padding:6px 9px;border-radius:999px;background:var(--surface-blue);color:var(--accent-blue);font-size:10px;font-weight:850;letter-spacing:.06em}

.hero{min-height:580px;gap:58px}.hero h1{font-size:clamp(48px,7vw,82px);line-height:.98}.hero h1 em{color:var(--accent-primary)}
.hero-art{height:420px}.moon{background:radial-gradient(circle at 33% 28%,#fffaf0,#d9e7dd 52%,#9cb7c4 100%);opacity:.82;box-shadow:0 30px 95px rgba(76,105,91,.14)}.book{filter:saturate(.45) hue-rotate(38deg);box-shadow:22px 30px 45px rgba(54,64,58,.18)}
.progress-box,.work-card,.challenge,.game-card,.stat-card,.assistant-card,.info,.chat,.map-card,.lk-content-card{background:var(--surface-primary);border:1px solid var(--border-soft);box-shadow:var(--shadow-sm)}
.progress-box{border-radius:var(--radius-md)}.track{height:7px;background:#e5e1d8}.fill{background:linear-gradient(90deg,var(--accent-green),var(--accent-blue))}
.section{margin:48px 0 68px}.section-head{margin-bottom:20px}.section h2,.section-head h2{font-size:clamp(25px,3vw,35px)}
.work-card,.game-card,.stat-card,.assistant-card,.info{border-radius:var(--radius-md);transition:.2s}.work-card:hover,.game-card:hover,.stat-card:hover,.info:hover{border-color:#bac9c0;box-shadow:var(--shadow-md);transform:translateY(-3px)}
.work-card{min-height:220px}.work-card h3,.game-card h3{letter-spacing:-.035em}.heart{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--surface-secondary)}.heart.saved{color:var(--accent-warm)}
.badge,.game-icon{background:var(--surface-gold);color:var(--accent-gold);border-radius:13px}.challenge{background:linear-gradient(145deg,#e2ece4,#dfe8ec);color:var(--text-primary)}.challenge .eyebrow{background:rgba(252,250,244,.72)}.challenge .muted{color:var(--text-secondary)}.xp{color:var(--accent-primary)}

.ds-page{padding-top:56px}.ds-page-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:28px}.ds-page-head h1{margin:10px 0 5px;font-size:clamp(38px,6vw,66px);line-height:1}.ds-page-head p{max-width:650px;margin:0;color:var(--text-secondary)}
.ds-hero{min-height:560px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);align-items:center;gap:52px;padding:48px 0 30px}.ds-hero h1{font-size:clamp(52px,7vw,84px);line-height:.96;margin:18px 0 20px}.ds-hero h1 span{color:var(--accent-primary)}.ds-hero-visual{min-height:400px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--surface-cream),var(--surface-sage));position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.ds-hero-visual::before{content:'Ә';position:absolute;right:-18px;bottom:-66px;font:800 310px/1 'Manrope';color:rgba(57,124,112,.10)}.ds-hero-quote{position:absolute;left:28px;right:28px;top:30px;padding:21px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:rgba(252,250,244,.74);backdrop-filter:blur(10px)}.ds-hero-quote p{font:750 22px/1.35 'Manrope';margin:0}.ds-hero-quote small{display:block;color:var(--text-muted);margin-top:12px}.ds-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.ds-mini-stat{padding:14px;border:1px solid var(--border-soft);border-radius:13px;background:rgba(252,250,244,.62)}.ds-mini-stat b{display:block;font-size:22px}.ds-mini-stat span{font-size:11px;color:var(--text-muted)}
.ds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.ds-card{padding:20px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-primary);box-shadow:var(--shadow-sm)}.ds-card.sage{background:var(--surface-sage)}.ds-card.blue{background:var(--surface-blue)}.ds-card.beige{background:var(--surface-beige)}.ds-card.cream{background:var(--surface-cream)}.ds-card h3{margin:11px 0 7px;font-size:21px}.ds-card p{color:var(--text-secondary);font-size:13px;margin:0}.ds-card-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(252,250,244,.76);color:var(--accent-primary);font-size:20px}

.map-hero,.detail-hero{padding:62px 0 25px}.map-hero h1,.detail-hero h1{letter-spacing:-.055em}.map-grid{gap:16px}.map-card,.map-card:nth-child(3n+1),.map-card:nth-child(3n){min-height:175px;padding:20px;border-radius:var(--radius-md);background:var(--surface-primary)}.map-card:hover{border-color:#9ebbb0}.map-num{color:var(--accent-primary)}.level{display:inline-flex;padding:5px 8px;border-radius:8px;background:var(--surface-blue);color:var(--accent-blue)}
.filterbar{gap:8px}.filter{padding:9px 13px;border-radius:10px;background:var(--surface-primary);border:1px solid var(--border-soft);color:var(--text-secondary);font-weight:650}.filter.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}

.ds-work-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:22px;align-items:stretch;padding:48px 0 22px}.ds-work-title{padding:30px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-cream),var(--surface-primary));box-shadow:var(--shadow-sm)}.ds-work-title h1{font-size:clamp(46px,7vw,76px);line-height:.98;margin:15px 0 10px}.ds-work-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.ds-work-summary{padding:25px;border-radius:var(--radius-lg);background:var(--surface-blue);border:1px solid #d0dde2}.ds-work-summary p{color:var(--text-secondary);font-size:14px}.ds-work-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px}.ds-tabs{display:flex;gap:7px;overflow:auto;padding:4px 0 16px;scrollbar-width:thin}.ds-tabs button{white-space:nowrap;padding:10px 13px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-primary);color:var(--text-secondary);font-size:12px;font-weight:750}.ds-tabs button.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.ds-work-content{min-height:310px}.ds-section-card{padding:24px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-primary);box-shadow:var(--shadow-sm)}.ds-section-card>h2{margin:0 0 8px;font-size:28px}.ds-section-card>p{color:var(--text-secondary)}.ds-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}.ds-character{padding:17px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-warm,var(--background-warm))}.ds-character b{display:block;font-size:17px}.ds-character small{color:var(--accent-primary);font-weight:750}.ds-character p{font-size:13px;color:var(--text-secondary);margin-bottom:0}.ds-timeline{display:grid;gap:0;margin-top:18px}.ds-event{display:grid;grid-template-columns:34px 1fr;gap:12px;position:relative}.ds-event:not(:last-child)::before{content:'';position:absolute;left:16px;top:30px;bottom:0;width:1px;background:var(--border-strong)}.ds-event-index{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:var(--surface-sage);color:var(--accent-primary);font-size:11px;font-weight:850;z-index:1}.ds-event div:last-child{padding:5px 0 21px}.ds-event p{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.ds-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ds-chip{padding:8px 11px;border-radius:999px;background:var(--surface-sage);color:#355e50;font-size:12px;font-weight:700}.ds-relation{padding:14px 16px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-blue);margin-top:10px;font-size:13px}.ds-vocab{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.ds-vocab div{padding:13px;border:1px solid var(--border-soft);border-radius:12px;background:var(--background-warm)}.ds-vocab b{display:block}.ds-vocab span{font-size:12px;color:var(--text-secondary)}.ds-study-aside{position:sticky;top:104px;height:max-content;padding:20px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-sage)}.ds-study-aside h3{margin:8px 0}.ds-study-aside p{font-size:13px;color:var(--text-secondary)}.ds-source-list{display:grid;gap:7px;margin-top:15px}.ds-source-list a{font-size:11px;text-decoration:none;font-weight:750}.ds-empty{padding:28px;border:1px dashed var(--border-strong);border-radius:14px;background:var(--background-warm);color:var(--text-secondary);text-align:center}.ds-fact-note{padding:12px 14px;border-left:3px solid var(--accent-blue);border-radius:0 10px 10px 0;background:var(--surface-blue);color:var(--text-secondary);font-size:12px}.ds-fact-note.interpretation{border-color:var(--accent-warm);background:var(--surface-cream)}

.game-grid{grid-template-columns:repeat(3,1fr);gap:16px}.game-card{min-height:220px;padding:21px}.game-card .game-icon{width:46px;height:46px;display:grid;place-items:center}.game-card .learning-objective{display:block;margin:13px 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.game-panel{max-width:780px;margin:42px auto;padding:29px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-primary);color:var(--text-primary);box-shadow:var(--shadow-md)}
.ds-game-shell{max-width:860px;margin:0 auto;padding:46px 0}.ds-game-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.ds-game-top h1{font-size:clamp(34px,5vw,54px);margin:8px 0}.ds-progress-label{display:flex;justify-content:space-between;margin:12px 0 7px;font-size:12px;color:var(--text-secondary)}.ds-question{padding:28px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-primary);box-shadow:var(--shadow-sm)}.ds-question h2{font-size:clamp(23px,4vw,34px);margin:8px 0 18px}.ds-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ds-option{padding:14px;border:1px solid var(--border-soft);border-radius:12px;background:var(--background-warm);text-align:left;font-weight:650}.ds-option:hover:not(:disabled){border-color:#99b3a8;background:var(--surface-sage)}.ds-option.correct{background:var(--success-soft);border-color:#80aa8d}.ds-option.wrong{background:var(--danger-soft);border-color:#c98b7c}.ds-feedback{margin-top:15px;padding:14px;border-radius:12px;background:var(--surface-blue);font-size:13px;line-height:1.6}.ds-order-list{display:grid;gap:9px}.ds-order-item{display:grid;grid-template-columns:34px 1fr 76px;align-items:center;gap:9px;padding:12px;border:1px solid var(--border-soft);border-radius:12px;background:var(--background-warm)}.ds-order-controls{display:flex;gap:4px}.ds-order-controls button{width:34px;height:34px;border-radius:9px;background:var(--surface-primary);border:1px solid var(--border-soft)}.ds-result{text-align:center;padding:34px}.ds-result-score{font:800 clamp(48px,10vw,82px)/1 'Manrope';color:var(--accent-primary)}

.assistant-layout{grid-template-columns:280px 1fr;gap:18px}.assistant-card{background:var(--surface-blue)}.quick{border-color:#cfdade;color:var(--text-secondary)}.quick:hover{color:var(--accent-blue)}.chat{min-height:560px;border-radius:var(--radius-lg);overflow:hidden}.chat-head{border-color:var(--border-soft);background:var(--surface-blue)}.messages{background:var(--surface-primary)}.bubble{border-radius:15px}.bot{background:var(--surface-blue);color:var(--text-primary)}.user{background:var(--accent-blue);color:#fff}.chat-form{background:var(--background-warm);border-color:var(--border-soft)}.chat-form input,.search-input{background:var(--surface-primary);border:1px solid var(--border-soft);color:var(--text-primary)}.chat-form button{background:var(--accent-blue);color:#fff}

.profile-top{padding-top:58px}.big-avatar{background:var(--surface-sage);color:var(--accent-primary);border:1px solid #cadcd0}.stats{gap:14px}.stat-card{background:var(--surface-primary)}.stat-card strong{color:var(--accent-primary)}.achievements{gap:14px}.achievement{background:var(--surface-cream)}.achievement.locked{filter:none;opacity:.55}.achievement.locked .badge{filter:grayscale(1)}
.ds-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ds-activity-list{display:grid;gap:9px}.ds-activity{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.ds-activity span:last-child{color:var(--text-muted)}

.modal-overlay{background:rgba(39,49,45,.45);backdrop-filter:blur(7px)}.modal{background:var(--surface-primary);color:var(--text-primary);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:0 28px 90px rgba(39,49,45,.18)}.search-result{border-color:var(--border-soft)}.search-result:hover{background:var(--background-warm)}.empty,.lk-pending{color:var(--text-muted)}
#toast{background:var(--text-primary);color:#fff;box-shadow:var(--shadow-md)}

.bottom-nav{height:70px;background:rgba(250,247,239,.96);border-color:var(--border-soft);box-shadow:0 -8px 25px rgba(57,64,59,.06)}.bottom-nav button{min-width:0;color:var(--text-muted);font-size:9px}.bottom-nav span{font-size:17px}.bottom-nav .active{color:var(--accent-primary)}

.auth-screen,.auth-shell{background:linear-gradient(145deg,var(--background-main),var(--surface-blue))}.auth-card{border-color:var(--border-soft);background:var(--surface-primary);box-shadow:var(--shadow-md)}.auth-aside,.auth-intro{background:linear-gradient(155deg,#315f56,#5d7885);color:#fff}.auth-aside h1,.auth-intro h1{color:#fff}.auth-form{background:var(--surface-primary)}.auth-form input{background:var(--background-warm);border-color:var(--border-soft);color:var(--text-primary)}.auth-switch button{color:var(--accent-primary)}

.notice,.canonical-note,.result-line{border:1px solid #d2dfda;border-radius:12px;background:var(--surface-sage);color:var(--text-secondary)}.work-sections button,.relationship{border-color:var(--border-soft);background:var(--surface-primary);color:var(--text-primary)}.work-sections button:hover,.relationship:hover{border-color:#aac0b5;background:var(--surface-sage)}

@media(max-width:1050px){.topbar{margin:8px 12px 0}.desktop-nav button{padding:8px 7px}.ds-grid,.game-grid{grid-template-columns:repeat(2,1fr)}.ds-profile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.ds-hero,.ds-work-hero,.ds-work-layout{grid-template-columns:1fr}.ds-hero{min-height:auto;padding-top:38px}.ds-hero-visual{min-height:310px}.ds-study-aside{position:static}.ds-character-grid{grid-template-columns:1fr}.assistant-layout{grid-template-columns:1fr}.ds-page-head{align-items:start;flex-direction:column}.ds-game-shell{padding-top:32px}}
@media(max-width:760px){main{padding:0 16px 92px}.topbar{height:62px;top:8px;border-radius:16px}.ds-hero h1{font-size:48px}.ds-hero-stats{grid-template-columns:1fr}.ds-hero-visual{min-height:270px}.ds-hero-quote p{font-size:18px}.ds-grid,.game-grid,.cards,.map-grid{grid-template-columns:1fr}.cards .work-card:nth-child(n+4){display:flex}.ds-work-title,.ds-work-summary{padding:22px}.ds-options{grid-template-columns:1fr}.ds-vocab{grid-template-columns:1fr}.ds-game-top{align-items:flex-start;flex-direction:column}.options{grid-template-columns:1fr}.profile-top{padding-top:38px}.stats,.ds-profile-grid{grid-template-columns:repeat(2,1fr)}.work-sections{grid-template-columns:1fr 1fr}}

/* Game usability: persistent controls, readable surfaces and real matching interactions. */
.ds-game-shell{padding:20px 0 28px;min-height:0}.ds-game-nav{position:sticky;top:88px;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:8px 10px;border:1px solid rgba(72,88,79,.18);border-radius:14px;background:rgba(255,253,247,.94);box-shadow:0 8px 24px rgba(35,49,42,.1);backdrop-filter:blur(12px)}.ds-game-nav .back{margin:0}.ds-end-game{padding:9px 15px;border:1px solid #9b5d4c;border-radius:10px;background:#fff4ef;color:#713d30;font-weight:800;cursor:pointer}.ds-end-game:hover{background:#f7dfd6}.ds-end-game:focus-visible,.ds-match-card:focus-visible,.ds-order-controls button:focus-visible{outline:3px solid rgba(39,116,99,.3);outline-offset:2px}.ds-game-top{margin-bottom:10px}.ds-game-top h1{margin:4px 0;font-size:clamp(30px,4.2vw,48px)}.ds-game-shell>.ds-fact-note{margin:8px 0 10px}.ds-question{padding:clamp(18px,3vw,26px);color:#24352e;background:rgba(255,253,247,.98)}.ds-question h2{color:#20352f}.ds-question .muted,.ds-feedback{color:#30453c}.ds-options button{color:#20352f;background:#fffdf8}.ds-match-board{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ds-match-column{display:grid;align-content:start;gap:9px}.ds-match-card{min-height:56px;padding:12px 14px;border:1px solid #cfc7b8;border-radius:13px;background:#fffdf8;color:#263b33;text-align:left;font-weight:720;cursor:pointer;transition:.16s}.ds-match-card:hover:not(:disabled){border-color:#568879;transform:translateY(-1px);box-shadow:0 7px 16px rgba(42,69,59,.1)}.ds-match-card.selected{border-color:#2e7565;background:#e2f0ea;box-shadow:0 0 0 3px rgba(46,117,101,.14)}.ds-match-card.solved{border-color:#79a78b;background:#e6f2e8;color:#315d45;opacity:.78}.ds-feedback.ok{background:#e3f1e7;color:#27563d}.ds-feedback.bad{background:#f8e7df;color:#713d30}.ds-order-item{cursor:grab;color:#263b33;background:#fffdf8}.ds-order-item:active{cursor:grabbing}.ds-order-controls button{color:#20352f;background:#fff}.ds-result .actions button{min-height:42px}
@media(max-height:760px) and (min-width:761px){.ds-game-shell{padding-top:12px}.ds-game-nav{top:80px}.ds-game-top h1{font-size:34px}.ds-game-top p,.ds-game-shell>.ds-fact-note{font-size:12px}.ds-question{padding:18px}.ds-question h2{font-size:23px;margin-bottom:12px}.ds-option{padding:10px}.ds-match-card{min-height:46px;padding:9px 12px}}
@media(max-width:760px){.ds-game-shell{padding-top:14px}.ds-game-nav{top:76px}.ds-match-board{grid-template-columns:1fr}.ds-match-column:first-child{padding-bottom:12px;border-bottom:1px dashed #cbc4b8}.ds-game-top h1{font-size:34px}.ds-question{padding:17px}}
.ds-end-game:disabled{cursor:default;opacity:.7;background:#edf0eb;color:#52645b;border-color:#c7d0ca}
@media(max-width:470px){.ds-hero h1{font-size:42px}.ds-work-title h1{font-size:43px}.ds-character-grid,.ds-profile-grid,.stats{grid-template-columns:1fr}.work-sections{grid-template-columns:1fr}.ds-tabs{margin-inline:-16px;padding-inline:16px}.ds-order-item{grid-template-columns:30px 1fr}.ds-order-controls{grid-column:2}}
.ds-branch-context{padding:14px;border-left:4px solid var(--accent-primary);border-radius:0 12px 12px 0;background:var(--surface-sage);color:var(--text-secondary);line-height:1.6}.ds-branch .ds-option.selected{border-color:#2e7565;background:#e2f0ea;box-shadow:0 0 0 3px rgba(46,117,101,.14)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* High-specificity cleanup for legacy theme layers. */
.challenge .eyebrow{color:var(--accent-primary)}
.auth-form input:focus,.chat-form input:focus,.search-input:focus{outline:3px solid rgba(88,125,145,.18);border-color:var(--accent-blue)}
.option:hover{background:var(--surface-sage);border-color:var(--accent-green)}
.timeline{border-color:var(--accent-primary)}.timeline div:before{background:var(--accent-primary)}
.character-visual{background:linear-gradient(145deg,var(--surface-sage),var(--surface-blue));border-color:var(--border-soft)}
.modal-overlay{z-index:80}
.lk-search:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px rgba(57,124,112,.10)}
.lk-result:hover{background:var(--surface-sage)}.lk-result-type,.lk-map .lk-city-label{color:var(--accent-primary);fill:var(--accent-primary)}
.lk-portrait:after{border-color:var(--surface-primary)}
@media(max-width:900px) and (min-width:761px){.desktop-nav button{font-size:11px;padding-inline:5px}.brand{font-size:15px}}

/* Story quest: cinematic branching narrative */
.sq-shell{overflow:hidden;border:1px solid rgba(52,72,63,.18);border-radius:26px;background:#f8f3e8;box-shadow:0 24px 65px rgba(31,48,41,.14)}
.sq-scene{position:relative;min-height:330px;padding:26px 30px;color:#fff;background-image:linear-gradient(90deg,rgba(18,29,25,.88),rgba(18,29,25,.48) 58%,rgba(18,29,25,.2)),var(--sq-image);background-size:cover;background-position:center 30%;isolation:isolate}
.sq-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,27,22,.45),transparent 50%),radial-gradient(circle at 80% 18%,rgba(225,190,123,.18),transparent 28%)}
.sq-scene-top{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.sq-scene-top b{padding:6px 10px;border:1px solid #ffffff45;border-radius:999px;background:#172a2388}
.sq-scene-copy{max-width:680px;margin-top:68px}.sq-label{display:inline-block;margin-bottom:13px;padding:6px 10px;border-radius:999px;background:#d5a951;color:#24342d;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.sq-scene-copy small{display:block;color:#ead6ae;font-weight:800}.sq-scene-copy h2{margin:5px 0 10px;color:#fff;font:600 clamp(32px,4vw,52px)/1.02 var(--display-serif)}.sq-scene-copy p{max-width:650px;margin:0;color:#f7f0e4;font-size:15px;line-height:1.62}
.sq-path{position:absolute;right:28px;bottom:24px;display:flex;align-items:center}.sq-path span{display:grid;width:25px;height:25px;place-items:center;border:2px solid #dfbd79;border-radius:50%;background:#21352d;color:#fff;font-size:10px;font-weight:900}.sq-path span.active{box-shadow:0 0 0 6px #e8c9842c}.sq-path i{width:30px;height:2px;background:#dfbd79aa}
.sq-panel{padding:24px 28px 28px}.sq-choice-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.sq-choice-head span,.sq-consequence>span{color:#8a692f;font-size:10px;font-weight:900;letter-spacing:.12em}.sq-choice-head h3,.sq-consequence h3{margin:4px 0 0;font:600 27px var(--display-serif)}.sq-choice-head>small{max-width:310px;color:#707a75;text-align:right}
.sq-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sq-choice{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:96px;padding:15px;border:1px solid #d9d0c1;border-radius:16px;background:#fffdf8;color:#263a32;text-align:left;cursor:pointer;transition:.2s}.sq-choice:hover{transform:translateY(-3px);border-color:#4f8879;background:#edf5ef;box-shadow:0 12px 24px rgba(43,68,58,.1)}.sq-choice>i{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#dfece4;color:#356f60;font-style:normal;font-size:20px}.sq-choice b,.sq-choice small{display:block}.sq-choice small{margin-top:5px;color:#6c7671;font-size:10px;line-height:1.4}.sq-choice em{font-style:normal;font-size:19px}
.sq-consequence{animation:sqReveal .32s ease both}.sq-impact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.sq-impact-grid p{margin:0;padding:14px;border:1px solid #ddd4c5;border-radius:13px;background:#fffdf8;color:#526159;font-size:12px;line-height:1.5}.sq-impact-grid b{display:block;margin-bottom:5px;color:#2f6154;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.sq-ending{overflow:hidden;border:1px solid #d5ccbc;border-radius:26px;background:#fbf7ee;box-shadow:0 24px 65px rgba(31,48,41,.12)}.sq-ending>header{padding:35px;text-align:center;background:linear-gradient(145deg,#203a32,#456e61);color:#fff}.sq-ending>header span{color:#e7c67e;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.sq-ending>header h2{margin:8px 0;color:#fff;font:600 clamp(36px,5vw,58px) var(--display-serif)}.sq-ending>header p{max-width:700px;margin:auto;color:#edf3ef}.sq-ending-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px}.sq-ending-grid article{padding:19px;border:1px solid #ddd3c2;border-radius:16px;background:#fffdf8}.sq-ending-grid h3{margin:0 0 12px;font:600 21px var(--display-serif)}.sq-ending-grid p{font-size:12px;line-height:1.55;color:#536159}.sq-ending-grid p b{color:#315f53}.sq-ending-grid ol{display:grid;gap:9px;padding:0;list-style:none}.sq-ending-grid li{display:flex;gap:10px}.sq-ending-grid li>span{display:grid;flex:0 0 26px;height:26px;place-items:center;border-radius:50%;background:#dfece4;color:#315f53;font-weight:850}.sq-ending-grid li b,.sq-ending-grid li small{display:block}.sq-ending-grid li small{margin-top:3px;color:#758079}.sq-compare{background:#edf2eb!important}.sq-meaning{background:#f2eadb!important}.sq-ending-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;padding:0 20px 24px}
@keyframes sqReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-height:760px) and (min-width:761px){.sq-scene{min-height:250px}.sq-scene-copy{margin-top:32px}.sq-panel{padding-block:16px}.sq-choice{min-height:80px}}
@media(max-width:760px){.sq-scene{min-height:300px;padding:20px}.sq-scene-top{align-items:flex-start;flex-direction:column;gap:8px}.sq-scene-copy{margin-top:42px}.sq-scene-copy h2{font-size:36px}.sq-path{right:18px;bottom:16px}.sq-panel{padding:18px}.sq-choice-head{align-items:flex-start;flex-direction:column}.sq-choice-head>small{text-align:left}.sq-choices,.sq-impact-grid,.sq-ending-grid{grid-template-columns:1fr}.sq-choice{min-height:82px}.sq-ending>header{padding:28px 20px}.sq-ending-grid{padding:12px}.sq-ending-actions{align-items:stretch;flex-direction:column}.sq-ending-actions button{width:100%}}
@media(min-width:761px){.bottom-nav{display:none!important}}
.ds-work-layout>div{min-width:0}.ds-tabs{width:100%;max-width:100%}
@media(max-width:470px){.ds-tabs{margin-inline:0;padding:4px 0 16px}}
