.progress-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}.progress-system-card{padding:15px 17px;border:1px solid #343a45;border-radius:9px;background:linear-gradient(145deg,#191e28,#11151d);min-width:0}.progress-system-card.soul-system-card{border-color:#61543a;background:radial-gradient(ellipse at 100% 0,#d5a84f12,transparent 55%),linear-gradient(145deg,#191e28,#11151d)}.progress-system-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:11px}.progress-system-top small{display:block;font-size:8px;letter-spacing:1.4px;color:#a9976d;margin-bottom:5px}.progress-system-top h3{font:600 15px 'Space Grotesk';margin:0;color:#efe8d8}.progress-system-top>b{font:600 11px 'Space Grotesk';color:var(--gold2);white-space:nowrap}.system-bar{height:6px;border-radius:2px;background:#333742;overflow:hidden}.system-bar i{height:100%;display:block;background:linear-gradient(90deg,#776239,#e4c16e);transition:width .25s}.system-bar.soul i{background:linear-gradient(90deg,#3d7779,#8ccbc1)}.system-foot{display:flex;justify-content:space-between;gap:8px;margin-top:7px;color:#969dab;font-size:9px}.award-history{margin:0 0 16px;padding:12px 14px;border:1px solid #303744;border-radius:7px;background:#11151d}.award-history summary{display:flex;justify-content:space-between;cursor:pointer;color:#dcd5c6;font-size:11px;font-weight:700;list-style:none}.award-history summary::-webkit-details-marker{display:none}.award-history summary span{color:var(--gold2);font-size:10px}.award-history .card-sub{margin:13px 0 0}.award-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #ffffff0d;font-size:11px;color:#d9d6cf}.award-row:first-of-type{margin-top:11px}.award-row small{display:block;color:#8d94a1;font-size:9px;margin-top:4px}.award-row>b{font:700 11px 'Space Grotesk';color:var(--gold2)}.deadline-done{width:16px;height:16px;flex:0 0 auto}.deadline.is-done{opacity:.62}.deadline.is-done .dname{text-decoration:line-through;color:#9096a2}.game-heading{align-items:flex-end}.game-count{padding:8px 11px;border:1px solid #3a404c;border-radius:5px;color:#d4c18d;font-size:10px;background:#ffffff05}.explore-region-card,.seed-history{margin:17px 0}.region-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.region-chip{min-height:63px;padding:10px;text-align:left;border:1px solid #303744;background:#11151c;border-radius:5px;color:#e4e0d7}.region-chip b{display:block;font:600 11px 'Space Grotesk'}.region-chip small{display:block;margin-top:5px;color:#8f97a5;font-size:9px;line-height:1.4}.region-chip:hover,.region-chip.active{border-color:#a98d55;background:linear-gradient(135deg,#322a1c,#171a20)}.explore-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:22px 0 11px}.explore-section-head h2{font:600 19px 'Space Grotesk';margin:0}.explore-section-head p{color:var(--muted);font-size:11px;margin:6px 0 0}.class-key{font-size:9px;color:#a59b83;text-align:right}.monster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.monster-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:15px;border:1px solid #343a45;border-radius:8px;background:linear-gradient(155deg,#1a1e28,#11141b);overflow:hidden}.monster-card:before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#475362,#b59b5b,#475362);opacity:.7}.monster-card.monster-locked{opacity:.65}.monster-card-top{display:flex;justify-content:space-between;align-items:center}.monster-glyph{width:39px;height:39px;display:grid;place-items:center;border:1px solid #706044;border-radius:4px;background:#13161e;color:#d3bd7d;font-size:21px;text-shadow:0 0 15px #d3ad5b44}.danger-level{padding:4px 6px;border:1px solid #59606a;border-radius:3px;color:#c5c7cc;font-size:8px;letter-spacing:.4px}.danger-2,.danger-3{border-color:#827149;color:#e0c580}.danger-4,.danger-5{border-color:#8e5f58;color:#df9a8b}.danger-6{border-color:#8a657c;color:#d6a6d4}.monster-card h3{font:600 14px 'Space Grotesk';margin:12px 0 4px;color:#ece8df}.monster-class{font-size:9px;color:#ceb47a;letter-spacing:.3px}.monster-card p{min-height:31px;color:#9da3ad;font-size:10px;line-height:1.5;margin:9px 0}.monster-stats{display:flex;gap:10px;padding:8px 0;border-top:1px solid #ffffff0c;border-bottom:1px solid #ffffff0c}.monster-stats span{font-size:8px;color:#9097a3}.monster-stats b{color:#d8d4ca;font-size:9px}.monster-weak{display:flex;justify-content:space-between;gap:8px;margin:8px 0;color:#c6c1b4;font-size:9px}.monster-weak small{color:#8d919a;font-size:8px;letter-spacing:.7px}.monster-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px}.monster-card-foot>span{font-size:8px;color:#a1a5ac}.monster-card-foot .btn{padding:7px 9px;font-size:9px;white-space:nowrap}.low-reward-hint{margin-top:8px;color:#bda66c;font-size:8px;line-height:1.45}.combat-history{margin-top:20px;padding:16px;border:1px solid #333a45;border-radius:7px;background:#131720}.combat-history-row{border-top:1px solid #ffffff0e;padding:9px 0}.combat-history-row summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;color:#d8d4c9;font-size:10px;list-style:none}.combat-history-row summary::-webkit-details-marker{display:none}.combat-history-row summary small{display:block;margin-top:4px;color:#8f96a2;font-size:8px}.combat-history-row summary b{color:#d8bd74}.combat-history-detail{padding:8px 10px;margin-top:7px;background:#0f1218;color:#9da4af;font-size:9px;line-height:1.6}.combat-history-detail p{margin:0 0 5px}.combat-history-detail small{color:#c9b77f}.result-banner{position:relative;margin:0 0 14px;padding:12px 38px 12px 14px;border:1px solid #55736c;border-radius:6px;background:#16312b55}.result-banner>span{font-weight:700;color:#a7d8c5;font-size:11px}.result-banner p{font-size:10px;color:#d1d4ce;margin:5px 0 0}.result-banner.loss{border-color:#8d5552;background:#351a1c55}.result-banner.loss>span{color:#e3a29b}.close-result{position:absolute;right:10px;top:8px;border:0;background:none;color:#abb0ba;font-size:19px}.battle-stage{max-width:890px;margin:0 auto;padding:20px;border:1px solid #524632;border-radius:9px;background:radial-gradient(ellipse at 50% 45%,#80653b14,transparent 56%),linear-gradient(145deg,#191d27,#10131a);box-shadow:0 16px 48px #0004}.battle-stage-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.battle-stage-top small,.seed-dungeon-card>small{color:#bba36b;font-size:9px;letter-spacing:1.6px}.battle-stage-top h2{font:600 20px 'Space Grotesk';margin:6px 0}.battle-stage-top span{color:#a2a7b0;font-size:10px}.battle-duel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:30px 6px 24px}.combatant{display:grid;justify-items:center;gap:8px;text-align:center;min-width:0}.combatant>b{font:600 12px 'Space Grotesk';overflow-wrap:anywhere}.combat-glyph{width:100px;height:112px;display:grid;place-items:center;border:1px solid #645638;border-radius:50% 50% 5px 5px;background:radial-gradient(ellipse at 50% 35%,#57472c77,#151820 72%);color:#e0c478;font-size:42px;text-shadow:0 0 20px #d5a84f4c}.enemy-combatant .combat-glyph{border-color:#654850;background:radial-gradient(ellipse at 50% 35%,#653b4877,#151820 72%);color:#d69895}.battle-vs{color:#767c88;font:700 13px 'Space Grotesk';letter-spacing:2px}.health-track{height:7px;width:min(240px,100%);border-radius:2px;background:#373a43;overflow:hidden}.health-track i{height:100%;display:block;background:linear-gradient(90deg,#4e9d79,#9ac99b);transition:width .2s}.health-track.enemy i{background:linear-gradient(90deg,#a7504d,#e29477)}.combatant small{color:#9da3ac;font-size:9px}.combat-stats{display:flex;justify-content:center;gap:20px;padding:10px;border-top:1px solid #ffffff0e;border-bottom:1px solid #ffffff0e;color:#969ca8;font-size:9px}.combat-stats b{color:#e3d6b7}.combat-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:16px 0}.combat-actions .btn{min-width:116px}.battle-log{padding:11px 13px;border:1px solid #303642;border-radius:5px;background:#0e1117}.battle-log h3{font:600 11px 'Space Grotesk';margin:0 0 8px;color:#d6cba9}.battle-log ul{display:grid;gap:5px;margin:0;padding-left:17px;color:#a9aeb8;font-size:9px;line-height:1.45}.seed-dungeon-card{position:relative;max-width:800px;margin:0 auto;padding:clamp(20px,4vw,36px);border:1px solid #6c5937;border-radius:9px;background:radial-gradient(ellipse at 50% 0,#b88a3b17,transparent 45%),linear-gradient(145deg,#1c1d24,#11141a);text-align:center;overflow:hidden}.seed-glyph{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 16px;border:1px solid #b89b5e;border-radius:50%;color:#e4c875;font-size:28px;box-shadow:0 0 28px #c59c4a25,inset 0 0 18px #c59c4a13}.seed-dungeon-card h2{font:600 clamp(20px,3vw,29px) 'Space Grotesk';margin:9px 0;color:#f0eadc}.seed-dungeon-card p{max-width:540px;margin:0 auto 18px;color:#a4a8b2;font-size:11px;line-height:1.65}.seed-condition{display:flex;justify-content:space-between;gap:10px;max-width:500px;margin:0 auto 8px;padding:10px 12px;border:1px solid #ffffff10;background:#ffffff04;color:#979daa;font-size:10px}.seed-condition b{color:#e0ce9e}.seed-lore-note{max-width:570px;margin:16px auto;padding:10px 12px;border-left:2px solid #9b824d;background:#ffffff04;color:#9299a5;font-size:9px;line-height:1.55;text-align:left}.seed-start{margin:14px auto 8px;min-width:190px}.seed-dungeon-card>.linkbtn{display:block;margin:6px auto 0}.seed-steps{display:flex;justify-content:center;gap:8px;margin:18px 0}.seed-steps span{padding:7px 10px;border:1px solid #363a44;border-radius:3px;color:#787e8b;font-size:9px}.seed-steps span.current{border-color:#b79752;color:#ecd18b}.seed-steps span.done{border-color:#537d70;color:#a4d4c1}.seed-event{margin:19px auto;padding:15px;border:1px solid #66573c;border-radius:6px;background:#1b1a18}.seed-event>small{color:#d0ad60;font-size:8px;letter-spacing:1.4px}.seed-event h2{font-size:15px}.loot-tabs{margin:0 0 14px}.loot-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}.loot-filters label{display:grid;gap:5px;color:#a0a5ae;font-size:9px}.loot-filters select{min-width:0;padding:8px 9px;border:1px solid #353b46;border-radius:4px;background:#131720;color:#e4dfd4;font-size:10px}.loot-list{display:grid;gap:10px}.loot-card{display:flex;gap:14px;padding:15px;border:1px solid #363b46;border-radius:7px;background:linear-gradient(135deg,#1a1e27,#11141b)}.loot-icon{width:47px;height:47px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #80704b;border-radius:4px;color:#dec37c;background:#11141a;font-size:23px}.echo-card .loot-icon{border-color:#50766d;color:#8bc7b5}.loot-info{flex:1;min-width:0}.loot-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.loot-title-row h3{font:600 13px 'Space Grotesk';margin:1px 0;color:#eee8dc}.loot-rank{font-size:8px;color:#cfb573;white-space:nowrap}.loot-info p{font-size:10px;line-height:1.55;color:#9fa5af;margin:6px 0}.loot-origin{font-size:9px;color:#858c99}.loot-actions{display:flex;align-items:center;gap:7px;margin-top:10px}.loot-actions .btn{padding:7px 10px;font-size:9px}.equipped-label{padding:5px 7px;border:1px solid #668d7c;border-radius:3px;color:#a4d5c0;font-size:8px;letter-spacing:.7px}.@media(max-width:1050px){.monster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-system-top{flex-direction:column;gap:7px}}@media(max-width:700px){.loot-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-system-grid{grid-template-columns:1fr;gap:8px}.region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.monster-grid{grid-template-columns:1fr}.game-heading,.explore-section-head{align-items:flex-start;flex-direction:column}.class-key{text-align:left}.battle-stage{padding:14px}.battle-duel{gap:8px;padding:22px 0}.combat-glyph{width:74px;height:86px;font-size:33px}.combat-stats{gap:8px;flex-wrap:wrap}.combat-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.combat-actions .btn{min-width:0;padding:10px 7px;font-size:10px}.loot-card{padding:11px;gap:10px}.loot-icon{width:39px;height:39px}.loot-title-row{flex-direction:column;gap:4px}.loot-rank{white-space:normal}.seed-steps{gap:4px}.seed-steps span{padding:6px 7px;font-size:8px}.game-count{font-size:9px}}

.memory-layer{position:absolute;z-index:4;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:27px;max-width:84px;min-height:27px;padding:3px 4px;border:1px solid #d6b96b;background:#151820ef;box-shadow:0 0 12px #d6b96b44,inset 0 0 0 2px #090b10;border-radius:3px;color:#f1d889;text-align:center;pointer-events:none;image-rendering:pixelated}.memory-layer b{display:block;font:700 17px/18px 'DM Sans',sans-serif;text-shadow:0 0 7px #f0c961}.memory-layer img{width:21px;height:21px;object-fit:contain;image-rendering:pixelated}.memory-layer small{max-width:78px;margin-top:2px;font-size:7px;line-height:1.1;color:#e5d9b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-layer-weapon{transform:translate(-25%,-50%) rotate(-7deg)}.memory-layer-cloak{z-index:1;opacity:.85}.memory-layer-armor{z-index:3}.memory-layer-boots{top:86%!important}.journal-rank-ladder{display:grid;gap:9px;margin-top:16px}.journal-rank-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line);background:#ffffff04;border-radius:10px}.journal-rank-step.current{border-color:#a88645;background:linear-gradient(100deg,#d6aa4a18,#ffffff04)}.journal-rank-step.completed{border-color:#54796d80}.journal-rank-seal{width:34px;height:34px;display:grid;place-items:center;border:1px solid #6a604c;border-radius:50%;color:#b9a36d;font:600 11px 'Space Grotesk'}.journal-rank-step.current .journal-rank-seal{color:#f4d78a;border-color:var(--gold);box-shadow:0 0 16px #d6aa4a28}.journal-rank-step.completed .journal-rank-seal{color:var(--teal);border-color:var(--teal)}.journal-rank-copy small,.journal-rank-state{font-size:9px;letter-spacing:1px;color:var(--muted)}.journal-rank-copy h3{margin:3px 0;font:600 16px 'Space Grotesk';color:var(--text)}.journal-rank-copy p{margin:0;color:var(--muted);font-size:10px}.journal-rank-step .system-bar{margin-top:9px}.journal-rank-step .system-foot{font-size:9px}.journal-rank-step.current .journal-rank-state{color:var(--gold2)}.journal-rank-step.completed .journal-rank-state{color:var(--teal)}.rank-current-card{padding:22px;margin-bottom:18px}.rank-current-card .system-bar{margin-top:14px}.rank-separation-note{margin:17px 0 0;padding-top:13px;border-top:1px solid #ffffff12;color:var(--muted);font-size:11px;line-height:1.6}.journal-rank-summary{display:grid;gap:9px;padding:13px;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px}.journal-rank-summary strong{font:600 17px 'Space Grotesk';color:var(--gold2)}.journal-rank-summary span,.journal-rank-summary small{font-size:10px;color:var(--muted)}.journal-rank-summary .system-bar{margin:0}@media(max-width:650px){.memory-layer{min-width:23px;min-height:23px;padding:2px}.memory-layer b{font-size:14px}.memory-layer img{width:18px;height:18px}.memory-layer small{max-width:60px;font-size:6px}.journal-rank-step{grid-template-columns:34px minmax(0,1fr);padding:12px 10px;gap:9px}.journal-rank-state{grid-column:2}.journal-rank-seal{width:30px;height:30px}.rank-current-card{padding:17px}}

.tab-indicator{display:inline-block;flex:0 0 8px;width:8px;height:8px;margin-left:7px;border-radius:50%;background:transparent;box-shadow:none;vertical-align:middle;transition:background-color .16s,box-shadow .16s}.tab-indicator.visible.alert-warning{background:#f2c75f;box-shadow:0 0 9px #f2c75f88}.tab-indicator.visible.alert-danger{background:#ef716d;box-shadow:0 0 10px #ef716d99;animation:deadline-pulse 1.8s ease-in-out infinite}@keyframes deadline-pulse{50%{box-shadow:0 0 3px #ef716d55}}@media(prefers-reduced-motion:reduce){.tab-indicator{animation:none!important}}

/* Notification dots sit in control corners without changing tab dimensions. */
.section-tabs[aria-label="Khu vực nhiệm vụ"] button{position:relative}.section-tabs[aria-label="Khu vực nhiệm vụ"] .tab-indicator{position:absolute;top:5px;right:5px;width:8px;height:8px;margin:0}.nav button{position:relative}.nav button .nav-alert{position:absolute;top:7px;right:8px;width:8px;height:8px;margin:0}.nav button.active .nav-alert{box-shadow:0 0 10px #f2c75f99}.nav button.active .nav-alert.alert-danger{box-shadow:0 0 11px #ef716dba}
@media(min-width:651px) and (hover:hover) and (pointer:fine){
.sidebar{width:70px;flex:0 0 70px;padding-left:9px;padding-right:9px;overflow:hidden;z-index:6;transition:flex-basis .23s cubic-bezier(.2,.72,.25,1),padding .18s ease,box-shadow .18s ease}
.sidebar.is-expanded{width:200px;flex-basis:200px;padding-left:16px;padding-right:16px;box-shadow:9px 0 22px #05070c20}
.sidebar .brand{position:relative;justify-content:center;gap:0;padding-left:0;padding-right:0;white-space:nowrap;overflow:hidden}
.sidebar .brand>span{position:absolute;left:58px;max-width:0;opacity:0;overflow:hidden;transform:translateX(-4px);transition:opacity .13s ease,transform .17s ease,max-width .18s ease}
.sidebar.is-expanded .brand .brand{justify-content:flex-start;padding-left:0;padding-right:0}
.sidebar.is-expanded .brand>span .brand>span{max-width:130px;opacity:1;transform:translateX(0)}
.sidebar .eyebrow{max-height:0;padding-top:0!important;padding-bottom:0;opacity:0;overflow:hidden;transition:max-height .16s ease,padding .16s ease,opacity .12s ease}
.sidebar.is-expanded .eyebrow .eyebrow{max-height:32px;padding-top:20px!important;padding-bottom:10px;opacity:1}
.sidebar .nav button{position:relative;display:block;min-height:43px;padding:12px 11px;overflow:hidden;white-space:nowrap;text-align:left;font-size:14px;transition:background .16s ease,color .16s ease,padding .18s ease}
.sidebar .nav button .navicon{position:absolute;left:calc(50% - 9.5px);top:50%;width:19px;transform:translateY(-50%);font-size:16px;transition:left .2s cubic-bezier(.2,.72,.25,1)}
.sidebar .nav button .nav-label{position:absolute;left:42px;top:50%;max-width:135px;overflow:hidden;opacity:0;visibility:hidden;white-space:nowrap;transform:translate(0,-50%);transition:opacity .13s ease,transform .16s ease,visibility 0s linear .14s}
.sidebar.is-expanded .nav button .nav button{padding-left:11px;padding-right:11px}
.sidebar.is-expanded .nav button .navicon .nav button .navicon{left:11px}
.sidebar.is-expanded .nav button .nav-label .nav button .nav-label{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}
.sidebar .nav button .nav-alert{right:5px;top:5px;transition:right .18s ease,top .18s ease}
.sidebar.is-expanded .nav button .nav-alert .nav button .nav-alert{right:9px;top:9px}
.sidebar .profile-mini{position:relative;justify-content:center;padding-left:0;padding-right:0;gap:0;transition:padding .18s ease}
.sidebar .profile-mini>div:not(.avatar){position:absolute;left:50px;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:opacity .13s ease,max-width .18s ease}
.sidebar.is-expanded .profile-mini .profile-mini{justify-content:flex-start;padding-left:7px;padding-right:7px}
.sidebar.is-expanded .profile-mini>div:not(.avatar) .profile-mini>div:not(.avatar){max-width:130px;opacity:1}
.main{min-width:0;flex:1 1 0%;transition:none}
}
@media(prefers-reduced-motion:reduce){.sidebar,.sidebar *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Keep the desktop content grid stable while the sidebar reveals its labels. */
@media (min-width:651px) and (hover:hover) and (pointer:fine) {
  .sidebar {
    position:relative;
    z-index:20;
    width:70px;
    flex:0 0 70px;
    padding:26px 9px;
    overflow:hidden;
    transition:width .28s cubic-bezier(.22,.8,.25,1),box-shadow .24s ease;
    will-change:width;
  }
  .sidebar.is-expanded {
    width:230px;
    flex-basis:70px;
    padding:26px 16px;
    box-shadow:12px 0 28px #05070c66;
  }
  .sidebar .brand {position:relative;justify-content:center;gap:0;padding:0 0 32px;white-space:nowrap}
  .sidebar .brand>span {
    position:absolute;left:52px;max-width:0;opacity:0;overflow:hidden;
    transform:translateX(-5px);transition:max-width .22s ease,opacity .16s ease,transform .22s ease;
  }
  .sidebar.is-expanded .brand {justify-content:flex-start;gap:11px}
  .sidebar.is-expanded .brand>span {max-width:130px;opacity:1;transform:translateX(0)}
  .sidebar .eyebrow {
    max-height:0;padding-top:0!important;padding-bottom:0;opacity:0;overflow:hidden;
    transition:max-height .2s ease,opacity .14s ease,padding .2s ease;
  }
  .sidebar.is-expanded .eyebrow {max-height:36px;padding-top:0!important;padding-bottom:10px;opacity:1}
  .sidebar .nav {gap:5px}
  .sidebar .nav button {position:relative;display:block;min-height:43px;padding:12px 11px;overflow:hidden;white-space:nowrap;text-align:left}
  .sidebar .nav button .navicon {
    position:absolute;left:calc(50% - 9.5px);top:50%;width:19px;transform:translateY(-50%);
    transition:left .22s cubic-bezier(.22,.8,.25,1);
  }
  .sidebar .nav button .nav-label {
    position:absolute;left:42px;top:50%;max-width:150px;overflow:hidden;opacity:0;visibility:hidden;
    white-space:nowrap;transform:translate(4px,-50%);
    transition:opacity .16s ease,transform .22s ease,visibility 0s linear .16s;
  }
  .sidebar.is-expanded .nav button .navicon {left:11px}
  .sidebar.is-expanded .nav button .nav-label {opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}
  .sidebar .nav button .nav-alert {right:5px;top:5px}
  .sidebar.is-expanded .nav button .nav-alert {right:9px;top:9px}
  .sidebar .profile-mini {position:relative;justify-content:center;padding-left:0;padding-right:0;gap:0}
  .sidebar .profile-mini>div:not(.avatar) {
    position:absolute;left:50px;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;
    transition:max-width .2s ease,opacity .15s ease;
  }
  .sidebar.is-expanded .profile-mini {justify-content:flex-start;padding-left:7px;padding-right:7px;gap:11px}
  .sidebar.is-expanded .profile-mini>div:not(.avatar) {max-width:140px;opacity:1}
  .main {min-width:0;flex:1 1 auto;transition:none}
}
@media (prefers-reduced-motion:reduce) {
  .sidebar,.sidebar * {transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
@media (min-width:651px) and (hover:hover) and (pointer:fine) {
  .sidebar:hover {width:230px;box-shadow:12px 0 28px #05070c66}
  .sidebar:hover .brand {justify-content:flex-start;gap:11px}
  .sidebar:hover .brand>span {max-width:130px;opacity:1;transform:translateX(0)}
  .sidebar:hover .eyebrow {max-height:36px;padding-top:0!important;padding-bottom:10px;opacity:1}
  .sidebar:hover .nav button .navicon {left:11px}
  .sidebar:hover .nav button .nav-label {opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}
  .sidebar:hover .nav button .nav-alert {right:9px;top:9px}
  .sidebar:hover .profile-mini {justify-content:flex-start;padding-left:7px;padding-right:7px;gap:11px}
  .sidebar:hover .profile-mini>div:not(.avatar) {max-width:140px;opacity:1}
}
@media (min-width:651px) and (hover:hover) and (pointer:fine) {
  .shell {position:relative}
  .sidebar {
    position:absolute;inset:0 auto 0 0;z-index:20;width:70px;height:100%;
    flex:none;padding:26px 9px;overflow:hidden;
    transition:width .28s cubic-bezier(.22,.8,.25,1),box-shadow .24s ease;
    will-change:width;
  }
  .sidebar.is-expanded,.sidebar:hover {width:230px;box-shadow:12px 0 28px #05070c66}
  .sidebar.is-expanded {flex-basis:auto;padding:26px 16px}
  .main {min-width:0;width:calc(100% - 70px);max-width:none;margin:0 0 0 70px;flex:1 1 auto;transition:none}
}

/* Completion archive and deadline handoff */
.deadline-archive-hint{display:block;margin-top:4px;color:#aeb4c0;font-size:9px;line-height:1.4}
.deadline.is-done .deadline-archive-hint{color:#8fcbb9}
.deadline.is-done .deadline-done{cursor:not-allowed;opacity:.65}
.completed-panel{margin-top:0}
.completed-list{display:grid;gap:9px;margin-top:16px}
.completed-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #343a45;border-radius:8px;background:linear-gradient(145deg,#1b202a,#151922)}
.completed-mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid #5e806f;border-radius:50%;color:#9bd8bf;background:#18352d55;font-size:13px}
.completed-copy{min-width:0}
.completed-title{font:600 12px 'Space Grotesk';color:var(--text);overflow-wrap:anywhere}
.completed-meta{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5}
.completed-copy p{margin:6px 0 0;color:#aeb4c0;font-size:10px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.completed-reward{display:grid;gap:3px;justify-items:end;text-align:right;white-space:nowrap}
.completed-reward span{color:var(--gold2);font-size:9px}
.completed-reward small{color:var(--muted);font-size:8px}
.completed-reward b{color:var(--teal);font:700 11px 'Space Grotesk'}
.completed-empty{display:grid;justify-items:center;text-align:center;gap:7px;padding:32px 18px;color:var(--muted)}
.completed-empty>span{color:var(--gold2);font-size:24px}
.completed-empty b{color:var(--text);font:600 13px 'Space Grotesk'}
.completed-empty p{max-width:420px;margin:0;font-size:10px;line-height:1.6}
@media(max-width:650px){.completed-item{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:11px}.completed-reward{grid-column:2;justify-items:start;text-align:left;display:flex;flex-wrap:wrap;align-items:center;gap:7px}.completed-reward small{white-space:normal}}

.sync-account{display:flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:#c9cbd2;font-size:11px;font-weight:600;white-space:nowrap}.sync-account:hover{border-color:#816b43;color:var(--gold2)}.sync-indicator{font-size:8px;color:var(--muted)}.sync-account[data-state="ok"] .sync-indicator{color:var(--teal)}.sync-account[data-state="busy"] .sync-indicator{color:var(--gold)}.sync-account[data-state="error"] .sync-indicator{color:var(--red)}.sync-feedback{min-height:17px;margin-top:10px;color:var(--teal);font-size:11px;line-height:1.5}.sync-feedback.error{color:var(--red)}.sync-privacy{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.5}@media(max-width:650px){.sync-account{padding:0 8px;font-size:10px}.top-actions{gap:5px}}
@media(max-width:650px){.top-actions{display:flex;flex:0 0 auto}.top-actions .iconbtn{display:none}.topline{gap:8px}.crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-account{min-height:34px;padding:0 9px}}

/* Welcome screen sign-in, kept within the existing portal card. */
.welcome-frame{grid-template-areas:"art kicker" "art title" "art desc" "art cta" "art auth" "caption caption"}
.welcome-auth{grid-area:auth;width:min(100%,430px);align-self:start;margin-top:15px;padding:14px 15px;border:1px solid #b89a5a36;border-radius:5px;background:linear-gradient(145deg,#0c1018c9,#17191fc7);box-shadow:inset 0 0 28px #e8b85b08}
.welcome-auth-heading{display:grid;gap:4px;margin-bottom:10px}
.welcome-auth-heading b{color:#e8d6aa;font:600 12px 'Space Grotesk';letter-spacing:.4px}
.welcome-auth-heading span{color:#9399a6;font-size:10px;line-height:1.45}
.welcome-auth form{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}
.welcome-auth label{align-self:end;color:#aab0bc;font-size:10px}
.welcome-auth input{width:100%;min-width:0;padding:9px 10px;border:1px solid #343a47;border-radius:4px;background:#0c1017;color:#f1eee7;font-size:11px;outline:none}
.welcome-auth input:focus{border-color:#c4a45e;box-shadow:0 0 0 2px #c4a45e20}
.welcome-auth-actions{grid-column:1/-1;display:flex;gap:8px;margin-top:4px}
.welcome-auth-actions button{min-height:35px;padding:8px 13px;border-radius:4px;font-size:10px;font-weight:700}
.welcome-login{border:1px solid #d8ad60;background:linear-gradient(110deg,#e9c773,#c18d3d);color:#18130b}
.welcome-signup{border:1px solid #554a36;background:#ffffff06;color:#e3d2a9}
.welcome-auth-actions button:hover{filter:brightness(1.1)}
.welcome-sync-feedback,.welcome-sync-status{margin:8px 0 0;color:#a8d5c6;font-size:10px;line-height:1.5;min-height:0}
.welcome-sync-feedback:empty{display:none}
.welcome-sync-feedback.error{color:#ef9a91}
.welcome-sync-status{color:#838b9a;font-size:9px}
@media(max-width:650px){.welcome-screen{overflow-y:auto;place-items:start center;padding:14px 0}.welcome-frame{width:calc(100vw - 28px);margin:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"art" "kicker" "title" "desc" "cta" "auth" "caption";row-gap:0;padding:28px 18px 21px}.welcome-auth{width:100%;margin-top:20px;padding:13px}.welcome-auth form{grid-template-columns:1fr;gap:5px}.welcome-auth label{margin-top:3px}.welcome-auth-actions{grid-column:auto}.welcome-auth-actions button{flex:1}.welcome-caption{margin-top:22px}}

/* Welcome and authentication refinement */
.welcome-frame{width:min(1020px,94vw);grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);grid-template-areas:"art kicker" "art title" "art desc" "art auth" "art cta" "caption caption";column-gap:clamp(30px,5vw,68px);row-gap:0;padding:clamp(34px,5vw,58px)}
.welcome-frame h1{max-width:17ch;font-size:clamp(38px,4.6vw,58px);line-height:1.08;text-wrap:balance}
.welcome-frame p{margin:12px 0 10px}
.welcome-auth{width:100%;max-width:unset;align-self:start;margin:7px 0 0;padding:14px 15px;border-color:#b89a5a2e;background:#0b0e1499;box-shadow:none}
.welcome-auth-heading{margin-bottom:9px}
.welcome-auth form{grid-template-columns:72px minmax(0,1fr);gap:8px 11px;align-items:center}
.welcome-auth label{align-self:center}
.welcome-auth input{min-height:39px}
.welcome-auth-actions{grid-column:2;justify-content:flex-start;margin-top:3px}
.welcome-auth-actions button{min-width:112px}
.welcome-sync-feedback{font-size:11px}
.welcome-sync-feedback.error{padding:8px 10px;border-left:2px solid #d17870;background:#d1787010;border-radius:3px}
.welcome-sync-status:empty{display:none}
.welcome-resend-confirmation,.resend-confirmation{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:8px 10px;border:1px solid #8c7448;border-radius:4px;background:#e8b85b12;color:#f1d58f;font-size:10px;font-weight:700;cursor:pointer}
.welcome-resend-confirmation:hover,.resend-confirmation:hover{background:#e8b85b24}
.welcome-resend-confirmation:disabled,.resend-confirmation:disabled,.welcome-auth-actions button:disabled{opacity:.55;cursor:wait}
.welcome-frame .enter-realm{margin-top:15px}
@media(max-width:780px){.welcome-screen{overflow-y:auto;place-items:start center;padding:16px 0}.welcome-frame{width:min(680px,calc(100vw - 28px));margin:0 auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"art" "kicker" "title" "desc" "auth" "cta" "caption";justify-items:center;text-align:center;row-gap:0;padding:26px clamp(17px,5vw,34px) 22px}.welcome-emblem{width:min(34vw,132px);margin-bottom:10px}.welcome-frame h1{max-width:20ch;font-size:clamp(30px,6.2vw,44px);letter-spacing:-1.2px}.welcome-frame p{margin:8px 0 15px;font-size:13px}.welcome-auth{width:100%;margin-top:0;padding:13px 14px;text-align:left}.welcome-auth form{grid-template-columns:68px minmax(0,1fr)}.welcome-auth-actions{grid-column:2}.welcome-frame .enter-realm{justify-self:center;margin-top:14px}.welcome-caption{margin-top:20px}}
@media(max-width:430px){.welcome-frame{width:calc(100vw - 22px);padding:22px 14px 18px}.welcome-emblem{width:104px}.welcome-frame h1{max-width:17ch;font-size:clamp(29px,8vw,35px)}.welcome-auth form{grid-template-columns:1fr;gap:5px}.welcome-auth label{margin-top:3px}.welcome-auth-actions{grid-column:1}.welcome-auth-actions button{flex:1;min-width:0}.welcome-frame .enter-realm{width:100%;min-width:0}}

/* Separate authentication step after the welcome screen. */
.auth-screen{position:absolute;inset:0;z-index:2;display:grid;place-items:center;overflow-y:auto;padding:28px 18px;background:radial-gradient(ellipse at 50% 5%,#48371d45,transparent 42%),linear-gradient(145deg,#090b10ef,#11141bee)}
.auth-frame{width:min(510px,100%);padding:clamp(22px,4vw,38px);border:1px solid #b89a5a42;border-radius:6px;background:linear-gradient(145deg,#171a22f2,#0f1218f5);box-shadow:0 22px 80px #0009,inset 0 0 50px #d7ad4b08}
.auth-back{border:0;background:transparent;color:#c9ad70;padding:4px 0;font-size:11px;font-weight:700;cursor:pointer}
.auth-back:hover{color:#f3d98e}
.auth-brand{display:flex;align-items:center;gap:9px;margin:27px 0 16px;color:#c8ae72;font-size:9px;letter-spacing:2px}
.auth-brand img{width:34px;height:34px;object-fit:contain}
.auth-frame h1{margin:0;color:#f5f0e5;font:600 clamp(27px,5vw,38px)/1.1 'Space Grotesk';letter-spacing:-.8px;text-wrap:balance}
.auth-intro{margin:9px 0 20px;color:#a6a9b1;font-size:12px;line-height:1.6}
.auth-frame .welcome-auth{width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.auth-frame .welcome-auth-heading{margin-bottom:12px}
.auth-frame .welcome-auth-heading b{font-size:11px}
.auth-frame .welcome-auth form{grid-template-columns:1fr;gap:6px}
.auth-frame .welcome-auth label{margin-top:7px;align-self:auto}
.auth-frame .welcome-auth input{min-height:43px;font-size:12px}
.auth-frame .welcome-auth-actions{grid-column:1;gap:9px;margin-top:10px}
.auth-frame .welcome-auth-actions button{min-height:42px;flex:1}
.auth-frame .welcome-login{min-width:0}
.auth-frame .welcome-sync-feedback{margin-top:12px}
.auth-frame .welcome-sync-status{margin-top:9px}
@media(max-width:780px){.auth-screen{padding:16px}.auth-frame{width:min(510px,100%);padding:23px 19px}.auth-brand{margin-top:23px}}
@media(prefers-reduced-motion:reduce){.auth-screen{scroll-behavior:auto}}
.welcome-frame{grid-template-areas:"art kicker" "art title" "art desc" "art cta" "caption caption"}
@media(max-width:780px){.welcome-frame{grid-template-areas:"art" "kicker" "title" "desc" "cta" "caption"}}
