/* Production polish for the journal feed and sharing flow. */
:root{--journal-navy:#102a43;--journal-blue:#1f5f8b;--journal-teal:#167d78;--journal-coral:#c9654d;--journal-ink:#203246;--journal-muted:#6c7d8f;--journal-border:#dce6ed;--journal-bg:#f4f7f8;--journal-surface:#fff}
body{background:var(--journal-bg);color:var(--journal-ink)}.app-nav{min-height:76px;background:rgba(255,255,255,.9)!important;border-bottom:1px solid var(--journal-border)!important;box-shadow:0 4px 22px rgba(16,42,67,.04)}.navbar-brand{color:var(--journal-navy)!important;letter-spacing:-.03em}.brand-mark{background:linear-gradient(145deg,var(--journal-navy),var(--journal-blue));box-shadow:0 6px 14px rgba(31,95,139,.2)}.nav-link{color:var(--journal-muted)!important}.nav-link:hover,.nav-link:focus{color:var(--journal-blue)!important;background:#edf5f8}.nav-search{background:#eef4f7;border:1px solid transparent}.nav-search:focus-within{background:#fff;border-color:#b7d1de;box-shadow:0 0 0 3px rgba(31,95,139,.08)}.action-circle{background:#eef4f7;color:var(--journal-blue)}.action-circle:hover{background:#dcecf2;color:var(--journal-navy)}
main.container{max-width:1400px;padding-top:38px!important}.journal-feed-shell{align-items:start;--bs-gutter-x:30px}.journal-feed-column{max-width:720px}.journal-left-rail,.journal-right-rail{position:sticky;top:102px}.feed-heading{margin:0 0 22px;align-items:center}.feed-heading h1{color:var(--journal-navy);font-size:clamp(1.65rem,2.5vw,2.15rem);letter-spacing:-.055em}.feed-heading-copy{min-width:0}.feed-subtitle{margin:7px 0 0;color:var(--journal-muted);font-size:.84rem}.feed-header-action{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #bfd6e1;border-radius:9px;color:var(--journal-blue);font-size:.74rem;font-weight:800;text-decoration:none;white-space:nowrap}.feed-header-action:hover{background:#eaf4f7;border-color:#8fb8ca;color:var(--journal-navy)}
.profile-card,.side-menu,.prompt-card,.privacy-note{border-color:var(--journal-border)!important;box-shadow:0 8px 24px rgba(16,42,67,.045)!important}.profile-cover{height:78px;background:linear-gradient(135deg,var(--journal-navy),#286f96 62%,#69afb0)}.profile-cover span{color:#dff4f2}.side-avatar{color:var(--journal-blue);background:#f0f7f8}.profile-stats strong{color:var(--journal-navy)}.side-link{color:var(--journal-muted)}.side-link.active,.side-link:hover{background:#e7f2f4;color:var(--journal-blue)}.prompt-icon{background:#fff0df;color:var(--journal-coral)}.privacy-note i{color:var(--journal-teal)}.privacy-note strong{color:var(--journal-navy)}
.share-composer-card{position:relative;margin:0 0 18px;border:1px solid #c9dce4!important;border-radius:16px!important;background:linear-gradient(145deg,#fff,#f5fafb)!important;box-shadow:0 12px 28px rgba(16,42,67,.06)!important;overflow:hidden}.share-composer-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--journal-teal),var(--journal-blue),var(--journal-coral))}.share-composer-label{padding:16px 19px 0;color:#75909e;font-size:.62rem;font-weight:900;letter-spacing:.14em}.share-status-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#40a98f;box-shadow:0 0 0 4px #dff3ed}.share-composer-card .card-body{padding:12px 19px 15px}.share-composer-card .quick-compose{background:#fff;border:1px solid #e1ebef!important;border-radius:12px!important;padding:12px 13px!important;color:#788b98;box-shadow:0 3px 10px rgba(16,42,67,.035)!important}.share-composer-card .quick-compose:hover{border-color:#9dc5d0!important;color:var(--journal-blue);box-shadow:0 5px 14px rgba(16,42,67,.07)!important}.share-composer-card .quick-compose .avatar{background:#e3f0f2;color:var(--journal-blue)}.share-composer-card .quick-compose>i{margin-left:auto;color:var(--journal-blue)}.composer-actions{border-top:0!important;justify-content:flex-start!important;gap:5px;padding-top:9px!important}.composer-actions button{color:#597080!important;font-size:.74rem!important}.composer-actions button:hover{background:#e7f2f4!important;color:var(--journal-blue)!important}.composer-actions button i{color:var(--journal-teal);margin-right:6px}
.filter-bar{gap:6px;margin:0 0 16px;padding:4px;background:#e9f0f3;border:1px solid #dce7ec;border-radius:11px;width:max-content;max-width:100%;overflow:auto}.filter-bar a{color:#708391;padding:7px 12px;border-radius:8px;font-size:.72rem;white-space:nowrap}.filter-bar a.selected{background:#fff;color:var(--journal-navy);box-shadow:0 2px 7px rgba(16,42,67,.1)}
.journal-post-card{position:relative;padding:23px 24px!important;margin-bottom:16px!important;border:1px solid var(--journal-border)!important;border-radius:16px!important;box-shadow:0 7px 22px rgba(16,42,67,.045)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.journal-post-card:hover{transform:translateY(-2px);border-color:#bfd6e1!important;box-shadow:0 13px 30px rgba(16,42,67,.08)!important}.journal-post-card .avatar{background:#e5f0f2;color:var(--journal-blue)}.journal-post-card .author{color:var(--journal-navy)}.journal-post-card .meta{color:#8798a4}.journal-post-card .type-badge{background:#e8f3f5;color:var(--journal-teal);border-radius:6px}.journal-post-card h2{color:var(--journal-navy);font-size:1.25rem;letter-spacing:-.035em}.journal-post-card .entry-content{color:#43596b;line-height:1.78}.journal-post-card .entry-context span{background:#f0f5f6;border-radius:6px;padding:4px 7px;color:#67808c}.journal-post-card .engagement-summary{border-color:#e7eef1;color:#82939e}.journal-post-card .post-actions button,.journal-post-card .post-actions a{color:#6d818d}.journal-post-card .post-actions button:hover,.journal-post-card .post-actions a:hover{background:#edf5f6;color:var(--journal-blue)}.journal-post-card .post-actions .active{color:var(--journal-coral)}.empty-state{border:1px dashed #b8d0d8;background:linear-gradient(145deg,#fff,#f7fbfb);border-radius:16px}.empty-state>div{color:var(--journal-teal)}.empty-state h2{color:var(--journal-navy)}.btn-primary{background:var(--journal-blue)!important;border-color:var(--journal-blue)!important;box-shadow:0 6px 13px rgba(31,95,139,.18)}
.composer-modal{border-radius:18px!important;overflow:hidden}.composer-modal .modal-header{border-bottom:1px solid var(--journal-border);background:#f7fafb}.composer-modal .modal-title{color:var(--journal-navy)}#composerModal .modal-content{border:1px solid #c9dce4;box-shadow:0 24px 80px rgba(16,42,67,.22)}.post-composer .form-control,.post-composer .form-select{border-color:#d5e2e8}.post-composer .form-control:focus,.post-composer .form-select:focus{border-color:#79acbf;box-shadow:0 0 0 3px rgba(31,95,139,.12)}.composer-presets button[aria-pressed=true]{background:#e6f2f4;color:var(--journal-blue);border-color:#8fb8c5}.composer-drop{background:#f5fafb;border-color:#b9d3dc}.composer-drop.is-dragging{border-color:var(--journal-blue);outline-color:var(--journal-blue)}
@media(max-width:991px){main.container{padding-top:25px!important}.journal-left-rail,.journal-right-rail{position:static}}@media(max-width:575px){main.container{padding-left:13px;padding-right:13px}.feed-heading{align-items:flex-start}.feed-header-action{padding:8px 10px}.share-composer-card .card-body{padding-inline:13px}.share-composer-label{padding-inline:13px}.journal-post-card{padding:18px!important}.filter-bar{width:100%}.composer-actions{justify-content:space-between!important}.composer-actions button{padding-inline:7px!important;font-size:0!important}.composer-actions button i{font-size:1.05rem;margin:0}}

/* Mobile navigation and focused sharing experience. */
.mobile-nav{height:76px!important;padding:8px 10px max(8px,env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.96)!important;border-top:1px solid #d7e4e9!important;box-shadow:0 -10px 28px rgba(16,42,67,.1);gap:2px}.mobile-nav a{position:relative;display:flex;min-width:58px!important;flex:1;height:56px;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#8496a2!important;border-radius:12px;font-size:10px;font-weight:750;line-height:1.1;transition:background .16s ease,color .16s ease}.mobile-nav a i{display:block;margin:0;font-size:19px;line-height:1}.mobile-nav a.is-active{background:#e8f3f5;color:var(--journal-blue)!important}.mobile-nav a.is-active:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--journal-coral)}.mobile-nav .mobile-create{z-index:1;flex:0 0 58px!important;width:58px!important;height:58px!important;min-width:58px!important;margin:-21px 4px 0!important;border:5px solid var(--journal-bg);border-radius:20px!important;background:linear-gradient(145deg,var(--journal-navy),var(--journal-blue))!important;color:#fff!important;box-shadow:0 9px 20px rgba(16,42,67,.25);gap:2px}.mobile-nav .mobile-create i{font-size:22px}.mobile-nav .mobile-create span{font-size:9px;font-weight:850}.mobile-badge{top:2px!important;right:calc(50% - 17px)!important;border-color:#fff!important;background:var(--journal-coral)!important}
.composer-modal-header{align-items:flex-start!important;padding:22px 25px 18px!important;background:linear-gradient(135deg,#f3fafb,#fff)!important;border-bottom:1px solid var(--journal-border)!important}.composer-modal-kicker{margin:0 0 7px;color:var(--journal-teal);font-size:10px;font-weight:900;letter-spacing:.16em}.composer-modal-header .modal-title{font-size:1.45rem!important;letter-spacing:-.04em}.composer-modal-subtitle{margin:6px 0 0;color:var(--journal-muted);font-size:.78rem;line-height:1.5}.composer-modal-header .btn-close{margin-top:3px}.composer-modal .modal-body{padding:21px 25px 23px!important}.composer-modal .composer-presets{gap:8px;margin-bottom:19px}.composer-modal .composer-presets button{border-color:#d4e4e9;background:#f7fbfb;color:#607684;font-size:12px;font-weight:750}.composer-modal .composer-presets button[aria-pressed=true]{background:#e3f1f3;border-color:#8ebbc6;color:var(--journal-blue);box-shadow:0 2px 5px rgba(16,42,67,.06)}.composer-modal .composer-writing{padding:15px 16px 8px;border:1px solid #d7e5ea;border-radius:13px;background:#fbfdfd}.composer-modal .composer-writing label{color:var(--journal-navy);font-size:12px}.composer-modal .composer-writing textarea{min-height:145px;background:transparent;color:var(--journal-ink);font-size:15px}.composer-modal .composer-writing:focus-within{border-color:#82b4c3;box-shadow:0 0 0 3px rgba(31,95,139,.09)}.composer-modal .composer-extra{padding:12px 14px;border:1px solid #e1ebee;border-radius:11px;background:#fbfdfd}.composer-modal .composer-drop{padding:17px;margin:14px 0;border-radius:12px;background:#f5fafb}.composer-modal .composer-privacy{padding:10px 0;border-top:1px solid #e7eef1;border-bottom:1px solid #e7eef1}.composer-modal .form-actions{margin-top:18px;padding-top:17px;border-top:1px solid #e1ebee}.composer-modal .form-actions .btn{min-width:96px}.share-editor-page{max-width:820px}.share-editor-heading{margin-bottom:23px}.share-editor-heading h1{color:var(--journal-navy);font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.06em}.editor-lead{margin:8px 0 0;color:var(--journal-muted);font-size:.86rem}.share-editor-heading .back-link{padding:9px 12px;border:1px solid #c9dce4;border-radius:9px;font-size:.75rem;font-weight:800;text-decoration:none}.share-editor-card{padding:28px!important;border:1px solid #c9dce4!important;border-radius:18px!important;box-shadow:0 14px 34px rgba(16,42,67,.07)!important}.share-editor-card .composer-writing{border:1px solid #d7e5ea;border-radius:13px;padding:15px 16px 8px;background:#fbfdfd}.share-editor-card .composer-writing textarea{min-height:210px}.share-editor-card .form-actions{border-top:1px solid #e1ebee;padding-top:18px}
@media(max-width:575px){.mobile-nav{height:72px!important;padding-left:5px!important;padding-right:5px!important}.mobile-nav a{min-width:52px!important;font-size:9px}.mobile-nav .mobile-create{flex-basis:56px!important;width:56px!important;min-width:56px!important;height:56px!important}.composer-modal-header{padding:19px 18px 15px!important}.composer-modal-header .modal-title{font-size:1.25rem!important}.composer-modal .modal-body{padding:16px 15px 20px!important}.composer-modal .composer-writing textarea{min-height:125px}.share-editor-card{padding:17px!important}.share-editor-heading{gap:13px}.share-editor-heading .back-link{align-self:flex-start}.share-editor-card .composer-writing textarea{min-height:170px}}

/* Image presentation: preserve the full frame for both portrait and landscape uploads. */
.image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
  padding: 8px;
  max-height: none;
  overflow: hidden;
  border: 1px solid #e1ebef;
  border-radius: 14px;
  background: #edf3f5;
}
.image-grid.count-1 {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}
.image-grid a {
  display: grid;
  place-items: center;
  min-width: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 9px;
  background: #fff;
}
.image-grid.count-1 a {
  max-height: 620px;
  border: 1px solid #e1ebef;
  border-radius: 14px;
  background: #edf3f5;
}
.image-grid img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}
.profile-entry-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  background: #edf3f5;
  border: 1px solid #e1ebef;
}
.composer-previews {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.composer-preview {
  min-width: 0;
  padding: 6px;
  border-color: #dce8ed;
  border-radius: 10px;
  background: #f5fafb;
}
.composer-preview img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  border-radius: 7px;
  background: #e9f1f3;
}
@media(max-width:575px) {
  .image-grid { gap: 6px; padding: 6px; border-radius: 12px; }
  .image-grid.count-1 { padding: 0; }
  .image-grid.count-1 a { border-radius: 12px; }
  .composer-previews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Focused daily learning cards. */
.five-minute-guide{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:15px 18px;border:1px solid #e1e9df;border-radius:14px;background:#f7faf5}.five-minute-guide-icon{display:grid;place-items:center;min-width:38px;height:38px;border-radius:11px;background:#e4f0e3;color:#4f7b58;font-size:1.05rem}.five-minute-guide h2{margin:2px 0 3px;color:#29443a;font-size:.95rem;font-weight:800}.five-minute-guide p:not(.eyebrow){margin:0;color:#708076;font-size:.73rem;line-height:1.5}.five-minute-guide .btn{margin-left:auto;white-space:nowrap;font-size:.7rem}@media(max-width:575px){.five-minute-guide{align-items:flex-start;flex-wrap:wrap}.five-minute-guide .btn{margin-left:52px}}
/* Final image correction: preserve the complete source frame and use a neutral surface. */
.image-grid,.image-grid.count-1 a,.profile-entry-image{background:#f5f7f8;border-color:#e3e9ed}
.image-grid.count-1{display:block;aspect-ratio:auto;max-height:none}
.image-grid.count-1 a{display:block;aspect-ratio:auto;max-height:min(760px,78vh);overflow:hidden}
.image-grid.count-1 img{width:100%;height:auto!important;max-height:min(760px,78vh)!important;object-fit:contain;object-position:center}
.image-grid:not(.count-1) a{background:#f5f7f8}.image-grid:not(.count-1) img{object-fit:contain}
.profile-entry-image{height:auto;max-height:760px;object-fit:contain}.composer-preview,.composer-preview img{background:#f5f7f8}

/* Unified professional palette for the IELTS workspace. */
:root{--journal-navy:#102a43;--journal-blue:#1f5f8b;--journal-teal:#167d78;--journal-accent:#c9654d;--journal-bg:#f4f7f9;--journal-surface:#fff;--journal-line:#dce6ec}
body{background:var(--journal-bg);color:var(--journal-navy)}
.ielts-hero{background:linear-gradient(120deg,#102a43 0%,#1f5f8b 68%,#3d8c98 100%)!important;box-shadow:0 18px 38px rgba(16,42,67,.16)!important}
.ielts-hero:after{color:rgba(255,255,255,.055)!important}.ielts-hero p,.ielts-hero .ielts-label{color:#d9edf2!important}.ielts-hero .btn-primary{background:#fff!important;border-color:#fff!important;color:#1f5f8b!important}.ielts-hero .btn-outline-light{border-color:rgba(255,255,255,.6)!important;color:#fff!important}
.goal-strip{background:#fff!important;border-color:var(--journal-line)!important;box-shadow:0 5px 16px rgba(16,42,67,.04)}.goal-strip strong{color:var(--journal-blue)!important}.goal-strip a{color:var(--journal-accent)!important}
.resume-card{background:#fff!important;border-color:var(--journal-line)!important;box-shadow:0 9px 24px rgba(16,42,67,.06)!important}.resume-card h2{color:var(--journal-navy)!important}.resume-card p{color:#6b7d8b!important}.resume-card .btn-primary,.learn-word-card .btn{background:var(--journal-blue)!important;border-color:var(--journal-blue)!important;box-shadow:0 6px 14px rgba(31,95,139,.18)}
.metric-grid .ds-card,.dashboard-grid .ds-card,.progress-card,.recommendation-card,.tool-grid a,.study-stat{background:#fff!important;border-color:var(--journal-line)!important;box-shadow:0 6px 18px rgba(16,42,67,.04)}.metric-grid .ds-card strong,.dashboard-grid h2,.card-heading h2{color:var(--journal-navy)!important}.metric-grid .ds-card span,.metric-grid .ds-card p,.muted{color:#718391!important}
.today-focus{background:#edf5f7!important;border-color:#d5e6eb!important}.today-focus-icon{background:#d9edf0!important;color:var(--journal-teal)!important}.today-focus-copy h2{color:var(--journal-navy)!important}.today-focus-copy .eyebrow{color:var(--journal-teal)!important}.today-focus-action{color:var(--journal-accent)!important}
.learn-word-card,.tip-today-card{border-color:var(--journal-line);background:linear-gradient(135deg,#fff 0%,#f1f7f9 100%);box-shadow:0 10px 25px rgba(16,42,67,.06)}.learn-word-card:after{color:rgba(31,95,139,.07)}.learn-word-card h2,.tip-today-card h2{color:var(--journal-navy)}.learn-kicker{color:#69818f}.learn-kicker i{color:var(--journal-accent)}.learn-word-meta span{background:#e7f2f4;color:var(--journal-teal)}.tip-today-card{background:linear-gradient(135deg,#f7fafb,#fff)!important}.tip-icon{background:#fff0e8;color:var(--journal-accent)}.tip-today-card>a,.learn-card-top a{color:var(--journal-blue)}
.five-minute-guide{background:#fff!important;border-color:var(--journal-line)!important;box-shadow:0 5px 16px rgba(16,42,67,.035)}.five-minute-guide-icon{background:#e5f1f3;color:var(--journal-teal)}.five-minute-guide h2{color:var(--journal-navy)}.five-minute-guide .btn{color:var(--journal-blue);border-color:#a9c9d5}
.tool-grid i,.recommendation-icon.text-bg-primary,.recommendation-icon.text-bg-success{background:#e5f1f3!important;color:var(--journal-teal)!important}.skill-progress .progress-bar{background:var(--journal-blue)!important}.cycle-strip>span.today{background:#e5f1f3!important;color:var(--journal-teal)!important}
.vocab-search,.vocab-table,.scan-upload,.scan-result,.flashcard-front,.flashcard-back,.review-complete{background:#fff!important;border-color:var(--journal-line)!important;box-shadow:0 8px 22px rgba(16,42,67,.04)}.vocab-head{background:#f0f5f7!important;color:#6c7f8d!important}.skill-pill{background:#e5f1f3!important;color:var(--journal-teal)!important}.flashcard h1{color:var(--journal-navy)}.flashcard-back h2{color:var(--journal-blue)}.grade-grid button:hover{border-color:#8db9c7;background:#edf6f7}.scan-upload>label{border-color:#a9c9d5;background:#f6fafb}.scan-upload>label i{color:var(--journal-blue)}
@media(max-width:575px){.ielts-hero{border-radius:16px!important}.goal-strip{gap:8px!important}.resume-card{border-radius:14px!important}.metric-grid{gap:9px!important}.learn-word-card,.tip-today-card{border-radius:14px;padding:19px}.five-minute-guide{border-radius:13px}}

/* Compact density: keep the learning dashboard useful without oversized blocks. */
main.container{padding-top:24px!important;padding-bottom:36px!important}
.ielts-hero{padding:30px 34px!important;border-radius:16px!important}.ielts-hero h1{font-size:clamp(1.55rem,3vw,2.05rem)!important;margin:5px 0 8px!important}.ielts-hero p{max-width:520px!important;font-size:.82rem!important;margin-bottom:14px!important}.hero-actions{gap:7px!important}.hero-actions .btn{padding:8px 11px!important;font-size:.74rem!important}
.goal-strip{min-height:48px!important;padding:10px 14px!important;font-size:.72rem!important}.resume-card{padding:17px 20px!important;border-radius:13px!important}.resume-card h2{font-size:1rem!important;margin-bottom:3px!important}.resume-card p{font-size:.73rem!important}.resume-card .btn{padding:8px 11px!important;font-size:.72rem!important}
.metric-grid{gap:11px!important;margin:14px 0!important}.metric-grid .ds-card{min-height:96px!important;padding:13px 15px!important}.metric-grid .ds-card span{font-size:.64rem!important}.metric-grid .ds-card strong{font-size:1.35rem!important}.metric-grid .ds-card p{font-size:.66rem!important;margin-top:4px!important}
.dashboard-grid{gap:16px!important}.dashboard-grid .ds-card{padding:17px!important}.dashboard-grid .ds-card h2{font-size:.95rem!important}.task-link{padding:10px 0!important;font-size:.75rem!important}.task-link small{font-size:.65rem!important}
.learn-today-grid{gap:12px!important;margin-bottom:14px!important}.learn-word-card,.tip-today-card{min-height:196px!important;padding:17px 19px!important;border-radius:14px!important}.learn-word-card h2{font-size:1.3rem!important;margin:15px 0 4px!important}.tip-today-card h2{font-size:1rem!important;margin-top:20px!important}.learn-meaning,.tip-today-card p{font-size:.74rem!important;line-height:1.5!important}.learn-word-card blockquote{margin:9px 0!important;font-size:.69rem!important}.learn-word-meta{margin:9px 0 11px!important;font-size:.59rem!important}.learn-word-card .btn{padding:7px 10px!important;font-size:.68rem!important}.tip-icon{width:32px!important;height:32px!important;right:18px!important;top:17px!important;font-size:.9rem!important}
.five-minute-guide{gap:11px!important;margin-bottom:14px!important;padding:12px 14px!important}.five-minute-guide-icon{min-width:32px!important;height:32px!important;font-size:.9rem!important}.five-minute-guide h2{font-size:.82rem!important}.five-minute-guide p:not(.eyebrow){font-size:.65rem!important}.five-minute-guide .btn{padding:6px 8px!important;font-size:.64rem!important}
.ielts-page-head{margin-bottom:16px!important}.ielts-page-head h1{font-size:1.5rem!important}.ielts-page-head p{font-size:.74rem!important}.vocab-row{padding:10px 13px!important;font-size:.7rem!important}.scan-upload,.scan-result,.flashcard-front,.flashcard-back{padding:16px!important}.review-shell{max-width:680px!important}.flashcard{height:430px!important}.flashcard h1{font-size:2rem!important}
@media(max-width:575px){main.container{padding-top:17px!important;padding-left:11px!important;padding-right:11px!important}.ielts-hero{padding:22px 20px!important}.ielts-hero h1{font-size:1.45rem!important}.goal-strip{font-size:.66rem!important;line-height:1.4}.resume-card{padding:14px 15px!important}.resume-card .btn{margin-top:8px}.metric-grid .ds-card{min-height:82px!important;padding:10px 11px!important}.metric-grid .ds-card strong{font-size:1.12rem!important}.learn-word-card,.tip-today-card{min-height:0!important;padding:15px 16px!important}.five-minute-guide{padding:11px 12px!important}}

/* Premium UI pass: stronger hierarchy, calmer surfaces, compact information density. */
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f7fafb 0%,#f2f6f8 100%);letter-spacing:-.005em}
.app-nav{min-height:68px!important;background:rgba(255,255,255,.88)!important;border-bottom:1px solid rgba(220,230,236,.9)!important;box-shadow:0 5px 20px rgba(16,42,67,.045)!important}
.navbar-brand{font-size:1.18rem!important;color:#102a43!important}.brand-mark{width:29px!important;height:29px!important;border-radius:9px!important;background:linear-gradient(145deg,#102a43,#1f5f8b)!important}.nav-link{font-size:.78rem!important;padding:8px 10px!important}.nav-link i{font-size:.9rem!important}.nav-link:hover,.nav-link:focus{background:#edf5f7!important;color:#1f5f8b!important}
.page-top{margin-bottom:17px!important}.page-top h1{font-size:clamp(1.45rem,2.6vw,2rem)!important;letter-spacing:-.055em!important;color:#102a43!important}.page-top p:not(.eyebrow){font-size:.78rem!important;color:#718391!important}.eyebrow{font-size:.59rem!important;color:#167d78!important;letter-spacing:.15em!important}
.goal-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:11px!important;color:#6e7f8c!important}.goal-strip a{font-size:.68rem!important;font-weight:800;text-decoration:none}
.resume-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;min-height:106px!important;border-radius:15px!important;position:relative;overflow:hidden}.resume-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#167d78,#1f5f8b)}.resume-card>div{min-width:0}.resume-card .btn{white-space:nowrap;border-radius:8px!important}
.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.metric-grid .ds-card{border-radius:13px!important;position:relative;overflow:hidden}.metric-grid .ds-card:after{content:"";position:absolute;right:-18px;bottom:-28px;width:76px;height:76px;border-radius:50%;background:#edf5f7}.metric-grid .ds-card:nth-child(2):after{background:#fff0e8}.metric-grid .ds-card:nth-child(3):after{background:#eef1fa}
.dashboard-grid{align-items:start!important}.dashboard-grid>div,.dashboard-grid>aside{display:grid;gap:15px}.dashboard-grid .ds-card{border-radius:14px!important}.card-heading{align-items:center!important}.card-heading a{font-size:.68rem!important;font-weight:800;text-decoration:none;color:#1f5f8b!important}.status-pill{border-radius:99px!important;background:#edf5f7!important;color:#167d78!important;font-size:.58rem!important}
.task-link{border-radius:9px!important;transition:background .16s ease,transform .16s ease}.task-link:hover{background:#f1f7f8;transform:translateX(2px)}.task-link>i:first-child{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#edf5f7;color:#167d78!important}
.week-grid>div{border-radius:9px!important;background:#f4f7f8!important;border:1px solid #e5ecef}.week-grid>div.is-today{background:#e6f2f4!important;border-color:#b9d8df!important}.week-grid strong{color:#102a43!important}
.learn-today-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr)!important}.learn-word-card,.tip-today-card{border-radius:15px!important}.learn-word-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#167d78,#1f5f8b,#c9654d)}.tip-today-card{border-left:3px solid #c9654d!important}
.vocab-search{height:43px!important;border-radius:10px!important}.vocab-search i{color:#167d78}.vocab-table{border-radius:13px!important}.vocab-row{min-height:52px}.vocab-row strong{color:#102a43}.vocab-row:hover{background:#f8fbfc}.skill-pill{font-size:.58rem!important}
.flashcard{height:420px!important}.flashcard-front,.flashcard-back{border-radius:17px!important}.flashcard-front:before,.flashcard-back:before{content:"IELTS · HỌC CHỦ ĐỘNG";position:absolute;top:22px;color:#167d78;font-size:.57rem;font-weight:900;letter-spacing:.14em}.flashcard h1{letter-spacing:-.06em!important}.grade-grid button{border-radius:9px!important}.review-top{margin-bottom:17px!important}
.form-control,.form-select{border-radius:8px!important}.btn{border-radius:8px!important;font-weight:750!important}.btn-primary{background:#1f5f8b!important;border-color:#1f5f8b!important}.btn-primary:hover{background:#16486a!important;border-color:#16486a!important}
@media(max-width:767px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.metric-grid .ds-card{min-width:0}.metric-grid .ds-card span{display:block;min-height:26px}.resume-card{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}.resume-card .btn{align-self:flex-start}.learn-today-grid{grid-template-columns:1fr!important}}
@media(max-width:575px){.app-nav{min-height:62px!important}.navbar-brand{font-size:1.05rem!important}.metric-grid{gap:7px!important}.metric-grid .ds-card{padding:9px 8px!important}.metric-grid .ds-card span{font-size:.56rem!important}.metric-grid .ds-card strong{font-size:1rem!important}.metric-grid .ds-card p{font-size:.56rem!important}.page-top h1{font-size:1.45rem!important}.page-top{margin-bottom:12px!important}.flashcard{height:390px!important}.flashcard-front,.flashcard-back{padding:22px 15px!important}}

/* Luna visual identity: a lightweight, content-safe skin shared by every Entry. */
.entry-card,.journal-entry,.detail-card{--luna-ink:#17324d;--luna-line:#dbe7ee;position:relative;overflow:hidden}
.entry-card:before,.journal-entry:before,.detail-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#3b8ea5 0%,#6f75c9 48%,#d38a57 100%);opacity:.9}
.entry-card:after,.journal-entry:after,.detail-card:after{content:"✦";position:absolute;top:13px;right:18px;color:rgba(90,112,183,.12);font-size:58px;line-height:1;pointer-events:none;transform:rotate(12deg)}
.entry-card .type-badge{display:inline-flex;align-items:center;gap:5px;position:relative;z-index:1;padding:5px 9px;border:1px solid #d2e3ea;border-radius:999px;background:linear-gradient(135deg,#eef8f7,#f1f2fb);color:#315d78;font-weight:800;letter-spacing:.01em}
.entry-card .type-badge:before{content:"☾";display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#dce9f6;color:#4563a1;font-size:12px;line-height:1}
.entry-card:has(.type-badge) .entry-content,.journal-entry p,.detail-card .detail-content{max-width:72ch}
.detail-card{padding-top:28px!important;border-color:var(--luna-line)!important;box-shadow:0 16px 38px rgba(24,57,80,.08)!important}
.detail-card h1{position:relative;z-index:1;margin-top:18px;color:var(--luna-ink);font-size:clamp(1.65rem,3.2vw,2.35rem);letter-spacing:-.045em;line-height:1.18}
.detail-card .detail-content{position:relative;z-index:1;color:#344f63;font-size:1.02rem;line-height:1.9;overflow-wrap:anywhere}
.detail-card .detail-content p{margin:0 0 1.15em}.detail-card .detail-content p:last-child{margin-bottom:0}
.detail-card .post-identity-banner{position:relative;z-index:1;margin-top:14px}
.journal-entry{border-color:var(--luna-line)!important;box-shadow:0 8px 22px rgba(24,57,80,.05)!important}
.journal-entry>header{position:relative;z-index:1}.journal-entry h3{position:relative;z-index:1;color:var(--luna-ink);letter-spacing:-.025em}
.journal-entry p{position:relative;z-index:1;color:#435d70;line-height:1.8}
.entry-luna-identity{display:inline-flex;align-items:center;gap:8px;position:relative;z-index:2;margin:12px 0 1px;padding:6px 10px 6px 6px;border:1px solid #dbe6ef;border-radius:999px;background:linear-gradient(135deg,#f8fcfd,#f4f2fb);box-shadow:0 3px 10px rgba(48,77,111,.07)}
.entry-luna-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e5eef9;color:#4563a1}.entry-luna-copy{display:grid;line-height:1.1}.entry-luna-copy strong{font-size:.68rem;color:#315d78}.entry-luna-copy small{margin-top:3px;color:#7890a0;font-size:.55rem;letter-spacing:.03em}.entry-luna-orbit{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#a46a9a;font-size:.66rem}
.entry-luna-ielts .entry-luna-icon{background:#dff3f0;color:#167d78}.entry-luna-ielts .entry-luna-copy strong{color:#167d78}.entry-luna-ielts .entry-luna-orbit{color:#d07855}.entry-luna-lesson .entry-luna-icon{background:#fff0de;color:#b76a2d}.entry-luna-lesson .entry-luna-copy strong{color:#9d5a27}.entry-luna-journal .entry-luna-icon{background:#e8e8fa;color:#5864a4}.entry-luna-journal .entry-luna-copy strong{color:#5864a4}
@media(max-width:575px){.entry-card:after,.journal-entry:after,.detail-card:after{top:11px;right:12px;font-size:44px}.entry-luna-identity{margin-top:10px;padding-right:8px}.entry-luna-copy small{font-size:.52rem}.detail-card{padding-top:23px!important}.detail-card .detail-content{font-size:1rem;line-height:1.82}}
.learn-today-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin:0 0 18px}
.ielts-post-stream{margin:22px 0 0;padding:20px;border:1px solid var(--journal-line,#dce6ec);border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(16,42,67,.04)}.ielts-post-stream .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:13px}.ielts-post-stream .section-heading h2{margin:3px 0 0;color:var(--journal-navy,#102a43);font-size:1.05rem}.ielts-post-stream .section-heading>a{flex:none;color:var(--journal-blue,#1f5f8b);font-size:.76rem;font-weight:800;text-decoration:none}.ielts-post-stream__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ielts-post-stream__card{display:grid;gap:6px;min-width:0;padding:13px 14px;border:1px solid #e2ebef;border-radius:11px;background:#fbfdfe;color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.ielts-post-stream__card:hover{border-color:#a9c9d5;box-shadow:0 7px 16px rgba(16,42,67,.07);transform:translateY(-1px)}.ielts-post-stream__card span{color:#167d78;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ielts-post-stream__card strong{overflow-wrap:anywhere;color:#102a43;font-size:.82rem;line-height:1.42}.ielts-post-stream__card small{overflow-wrap:anywhere;color:#718391;font-size:.65rem;line-height:1.35}@media(max-width:575px){.ielts-post-stream{margin-top:16px;padding:14px}.ielts-post-stream .section-heading{align-items:center;margin-bottom:10px}.ielts-post-stream .section-heading h2{font-size:.92rem}.ielts-post-stream__grid{grid-template-columns:1fr;gap:8px}.ielts-post-stream__card{padding:11px 12px}}
.learn-word-card,.tip-today-card{position:relative;min-height:238px;padding:22px 24px;border:1px solid #dce8df;border-radius:17px;overflow:hidden;background:#fffefa;box-shadow:0 9px 24px rgba(34,59,50,.055)}
.learn-word-card{background:linear-gradient(135deg,#fffefa 0%,#f3f8f0 100%)}
.learn-word-card:after{content:'Aa';position:absolute;right:20px;bottom:-30px;color:rgba(82,121,88,.08);font-size:150px;font-weight:900;line-height:1}
.learn-card-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px}.learn-card-top a,.tip-today-card>a{color:#a84730;font-size:.7rem;font-weight:800;text-decoration:none}.learn-kicker{position:relative;z-index:1;color:#6f8977;font-size:.63rem;font-weight:900;letter-spacing:.12em}.learn-kicker i{color:#c85b3d;margin-right:4px}.learn-word-card h2,.tip-today-card h2{position:relative;z-index:1;margin:21px 0 5px;color:#29443a;font-size:1.55rem;font-weight:850;letter-spacing:-.04em}.learn-meaning{position:relative;z-index:1;margin:0;color:#617568;font-size:.85rem}.learn-word-card blockquote{position:relative;z-index:1;margin:14px 0 12px;padding:9px 12px;border-left:3px solid #c85b3d;color:#63746a;font-size:.75rem;font-style:italic}.learn-word-meta{position:relative;z-index:1;display:flex;gap:8px;margin:12px 0 15px;color:#789081;font-size:.64rem}.learn-word-meta span{padding:4px 8px;border-radius:99px;background:#e6f0e5}.learn-word-card .btn{position:relative;z-index:1;font-size:.72rem;background:#c85b3d!important;border-color:#c85b3d!important}.tip-today-card{background:linear-gradient(135deg,#f7f3ec,#fffefa)}.tip-icon{position:absolute;right:24px;top:20px;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f9e7d8;color:#b55a3d;font-size:1.05rem}.tip-today-card h2{max-width:80%;font-size:1.13rem;line-height:1.3;margin-top:26px}.tip-today-card p{position:relative;z-index:1;color:#697a70;font-size:.8rem;line-height:1.65;margin:0 0 17px}.tip-today-card>a{position:relative;z-index:1}.tip-today-card>a i{margin-left:4px}@media(max-width:767px){.learn-today-grid{grid-template-columns:1fr}.learn-word-card,.tip-today-card{min-height:0}.learn-word-card h2{font-size:1.4rem}}
