.writing-tour-guide {
  position: fixed; z-index: 1050; top: 1rem; right: 1rem;
  width: min(31rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem);
  overflow-y: auto; padding: 1rem; border: 1px solid #d8dfed;
  border-top: 4px solid #d3a123; border-radius: .9rem; background: #fff;
  box-shadow: 0 18px 48px rgba(31, 43, 80, .18);
  color: #183f69;
}
.writing-tour-guide-topline { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.writing-tour-guide-topline h2 { color: #147a73; font-size: 1rem; font-weight: 750; margin: 0; }
.writing-tour-guide-toggle { flex-shrink: 0; padding: .35rem .65rem; border: 1px solid #bed2e4; border-radius: .45rem; color: #183f69 !important; background: #edf4fb; font-size: .8rem; text-decoration: none; }
.writing-tour-guide-toggle:hover { background: #e6f3ef; }
.writing-tour-guide a:focus-visible { outline: 3px solid #d3a123; outline-offset: 3px; }
.writing-tour-guide-copy { margin-top: .8rem; padding-top: .75rem; border-top: 1px solid #e3e7f0; }
.writing-tour-guide h3 { font-size: 1.1rem; font-weight: 700; margin: .25rem 0 .5rem; }
.writing-tour-guide-copy > p:last-child { font-size: .9rem; line-height: 1.5; }
.writing-tour-guide #writing-tour-guide-details[hidden] { display: none; }
.writing-tour-guide:has(#writing-tour-guide-details[hidden]) { width: min(24rem, calc(100vw - 2rem)); }
.writing-tour-guide p { margin: 0; }
.writing-tour-eyebrow { color: #147a73; font-weight: 750; font-size: .75rem; letter-spacing: .055em; text-transform: uppercase; margin-bottom: .35rem !important; }
.writing-tour-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .85rem; }
.writing-tour-explore { margin: .9rem 0 .75rem; padding-top: .75rem; border-top: 1px solid #e3e7f0; font-size: .85rem; }
.writing-classroom-tour .writing-tour-controls .btn-outline-secondary,
.writing-classroom-tour .writing-tour-comment .btn-outline-secondary {
  color: #183f69 !important; background: #fff !important; border: 1px solid #9ebbd2; font-weight: 650;
}
.writing-classroom-tour .writing-tour-controls .btn-outline-secondary:hover,
.writing-classroom-tour .writing-tour-comment .btn-outline-secondary:hover {
  color: #fff !important; background: #147a73 !important; border-color: #147a73;
}
.writing-tour-explore, .writing-tour-disclosure { grid-column: 1 / -1; }
.writing-tour-explore summary { font-weight: 650; color: #183f69; cursor: pointer; }
.writing-tour-disclosure { font-size: .78rem; color: #53667b; }
.writing-tour-assignment-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .6rem; margin-top: .75rem; }
.writing-tour-assignment-grid a { display: grid; padding: .65rem; border: 1px solid #bfd2e2; border-radius: 10px; background: white; color: #183f69; text-decoration: none; }
.writing-tour-assignment-grid a:hover, .writing-tour-assignment-grid a[aria-current] { border-color: #147a73; background: #e6f3ef; }
.writing-tour-assignment-grid span { color: #53667b; font-size: .75rem; margin-bottom: .2rem; }
.writing-tour-footer { display: flex; justify-content: center; gap: 1.5rem; padding: 1.5rem; }
.writing-classroom-tour .workspace-sidebar .workspace-shell__collapse-button,
.writing-classroom-tour .workspace-sidebar .workspace-shell__drawer-close { display: none; }
.writing-classroom-tour .tour-static-writing #richWritingToolbar button { width: auto !important; min-width: 30px; height:auto; min-height:30px; padding:4px 8px; white-space:nowrap; }
.writing-classroom-tour .tour-static-writing #richWritingToolbar { display:flex; flex-wrap:wrap; align-items:center; gap:4px; padding:8px; }
.writing-classroom-tour .tour-static-writing .tour-writing-canvas .ql-editor { min-height:20rem; font-size:1rem; line-height:1.7; padding:1.2rem; }
.writing-classroom-tour .tour-writing-canvas .ql-editor { white-space: normal; }
.writing-classroom-tour .tour-writing-canvas .writing-document-paragraph { margin-bottom: 1em; }
.writing-classroom-tour.writing-tour-form-poetry .writing-document-paragraph { margin-bottom: 0; }
.writing-classroom-tour .writing-tour-comment { width: min(430px, calc(100% - 2rem)); padding: 1.2rem; border: 1px solid #bed2e4; border-left: 5px solid #d3a123; border-radius: 14px; color: #183f69; background: white; }
.writing-tour-comment::backdrop { background: rgb(20 32 51 / .15); }
.writing-tour-comment blockquote { background: #fff7dc; padding: .65rem; border-radius: 8px; }
.writing-classroom-tour .writing-tour-origin-highlight { background: #dcecf9; color: #183f69; }
.writing-classroom-tour .writing-tour-origin-link { text-decoration: none; border-bottom: 1px solid #7daccb; }
.writing-classroom-tour .writing-tour-origin-dialog { border-left-color: #507fa6; }
.writing-classroom-tour .writing-tour-origin-dialog blockquote { background: #edf4fb; }
.writing-tour-comment h2 { font-size: 1.15rem; font-weight: 750; }
.writing-tour-comment .btn { margin-top: .5rem; }
.writing-classroom-tour .writing-tour-comparison { width: min(1100px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; }
.writing-tour-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.writing-tour-comparison-grid section { border: 1px solid #bed2e4; border-radius: 10px; padding: 1rem; }
.writing-tour-comparison h3 { font-size: 1rem; font-weight: 700; }
.writing-tour-comparison-text { white-space: pre-wrap; line-height: 1.65; margin-top: .75rem; }
.writing-tour-added { background: #e2f3df; color: #214b2a; }
.writing-tour-removed { background: #eceff2; color: #465364; }
.writing-tour-comparison-feedback { background: #eaf4f1; padding: 1rem; border-radius: 10px; margin-top: 1rem; }
.writing-classroom-tour .teacher-inline-comment-store { display: block !important; }
.writing-classroom-tour .tour-static-writing #coachCardOuter:not([hidden]) { display: block !important; }
.writing-classroom-tour .tour-static-writing #essayMobileCoachBar { display: none !important; }
@media (max-width: 700px) {
  .writing-tour-comparison-grid { grid-template-columns: 1fr; }
  .writing-tour-guide { position: sticky; top: .5rem; right: auto; margin: .5rem; width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); padding: .85rem; }
  .writing-tour-controls { justify-content: flex-end; }
}
.writing-tour-trial { display: block; margin-top: .8rem; padding: .7rem .6rem; text-align: center; background: #183f69; color: white !important; border-top: 3px solid #d3a123; border-radius: .55rem; text-decoration: none; font-size: 1rem; font-weight: 650; }
.writing-tour-trial:hover { background: #147a73; }
.writing-tour-guide .writing-tour-trial-note { font-size: .73rem; text-align: center; margin: .2rem 0 .5rem; }
.writing-tour-transcript, .writing-tour-stop-menu { font-size: .82rem; margin-top: .6rem; }
.writing-tour-transcript > p { margin-top: .75rem; line-height: 1.6; }
.writing-tour-transcript[open] { max-height: 40vh; overflow-y: auto; }
.writing-tour-stop-menu li { margin: .5rem 0; }
.writing-tour-resume { display: block; margin-top: .75rem; color: #147a73; font-weight: 700; }
.writing-tour-narrated .writing-tour-guide-copy h3 { font-size: 1.1rem; }
.writing-tour-narrated #tour-read-only { padding: 1rem; }
.tour-feature-example { background: #fff9e6; border: 1px solid #e6d09a; border-left: 4px solid #d3a123; padding: 1rem; border-radius: .8rem; margin: 1rem 0; }
.tour-feature-example blockquote { margin: .75rem 0; font-weight: 650; }
.tour-preserved-comment { border-top: 1px solid #bfd2e2; padding: 1rem 0; }
.tour-preserved-comment blockquote { background: #fff5d7; padding: .5rem; }
.tour-revision-observations { margin-top: 1rem; padding: 1rem; }
.tour-revision-observations summary { color: #183f69; font-weight: 700; cursor: pointer; }
.tour-revision-observations li { margin: .75rem 0; }
.tour-genre-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.tour-genre-links a { background: #edf4fb; border: 1px solid #bfd2e2; border-radius: 2rem; padding: .5rem .8rem; color: #183f69; text-decoration: none; }
.tour-poetry-question { background: #e6f3ef; border-left: 4px solid #d3a123; margin: 1rem 0; padding: 1rem; border-radius: .65rem; }
.tour-setting-example { margin-top: 1rem; }
.writing-tour-narrated .review-panel h2 { font-size: 1.35rem; }

.writing-tour-focus { display:block; font-weight:600; color:#126f69; margin:.75rem 0; }
.writing-tour-narrated .tour-trial-promise { color:#126f69; font-size:1.4rem; }
.writing-tour-narrated .review-grade-section { align-items:start; }

/* Compact floating guide, with a header-only collapsed state for exploration. */
.writing-tour-narrated .writing-tour-guide {
  position:fixed; inset:1rem 1rem auto auto; width:min(27rem,calc(100vw - 2rem));
  margin:0; padding:0 18px 12px; max-height:calc(100dvh - 2rem);
  background:#fff; border:1px solid #c8d9e5; border-top:3px solid #d3a123;
  border-radius:16px; box-shadow:0 16px 44px #173f6b24,0 2px 5px #173f6b0a;
}
.writing-tour-narrated .writing-tour-guide:has(#writing-tour-guide-details[hidden]) { width:min(27rem,calc(100vw - 2rem)); padding-bottom:0; }
.writing-tour-narrated .writing-tour-guide:has(#writing-tour-guide-details[hidden]) .writing-tour-guide-topline { margin-bottom:0; border-bottom:0; }
.writing-tour-narrated .writing-tour-guide:has(#writing-tour-guide-details[hidden]) :is(.writing-tour-trial,.writing-tour-trial-note,.writing-tour-home) { display:none; }
.writing-tour-guide-topline { background:#edf4fa; margin:0 -18px 10px; padding:10px 18px; border-bottom:1px solid #dce6ed; }
.writing-tour-guide-topline h2 { color:#183f69; font-size:1.15rem; font-weight:500; }
.writing-tour-guide-toggle { border:1px solid #9ebbd2; background:#fff; font-size:.78rem; font-weight:650; color:#183f69 !important; padding:7px 10px; border-radius:7px; box-shadow:0 1px 3px #183f6910; }
.writing-tour-guide-toggle::after { content:'⌃'; margin-left:5px; }
.writing-tour-guide-toggle[aria-expanded="false"]::after { content:'⌄'; }
.writing-tour-guide-copy { margin:10px 0 8px; padding:0 0 0 12px; border:0; border-left:3px solid #d3a123; }
.writing-tour-narrated .writing-tour-guide-copy h3 { font-size:1.22rem; font-weight:450; line-height:1.25; margin:5px 0 7px; color:#183f69; }
.writing-tour-guide-copy .writing-tour-eyebrow { font-size:.66rem; letter-spacing:.08em; color:#147a73; }
.writing-tour-guide-copy > p:last-child { font-size:.84rem; line-height:1.5; color:#536b7b; }
.writing-tour-progress { display:flex; gap:4px; }
.writing-tour-progress span { height:3px; flex:1; border-radius:2px; background:#e5edf1; }
.writing-tour-progress .is-complete { background:#147a73; }
.writing-tour-toolbar { display:grid; grid-template-columns:1fr; gap:8px; margin-top:10px; padding:10px 0; border-top:1px solid #e6edf1; border-bottom:1px solid #e6edf1; }
.writing-tour-toolbar .writing-tour-controls { margin:0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:7px; }
.writing-tour-toolbar .writing-tour-controls .btn:only-child { margin-left:auto; }
.writing-tour-toolbar .btn, .writing-tour-audio-controls button { font-size:.75rem; min-height:36px; padding:7px 9px; border-radius:8px; }
.writing-tour-toolbar .btn-primary { background:#147a73; border-color:#147a73; color:#fff; box-shadow:0 2px 4px #147a7315; font-weight:600; }
.writing-tour-toolbar .btn-primary:hover { background:#105e59; border-color:#105e59; }
.writing-tour-audio-controls { display:flex; align-items:center; justify-content:center; gap:3px; }
.writing-tour-audio-controls button { border:2px solid #789bb8; background:#edf4fa; color:#183f69; font-weight:650; }
.writing-tour-audio-controls button:last-child { border-color:#789bb8; background:#edf4fa; padding-inline:9px; }
.writing-tour-utilities { margin:6px 0; }
.writing-tour-utilities details { margin:0; padding:0; border:0; }
.writing-tour-utilities summary { cursor:pointer; font-size:.75rem; font-weight:500; color:#147a73; }
.writing-tour-guide .writing-tour-disclosure { font-size:.65rem; text-align:center; margin:6px 0 0; color:#6b7e8e; }
.writing-tour-trial { margin-top:8px; padding:9px 10px; font-size:.9rem; border-top:0; border-radius:9px; background:#183f69; box-shadow:0 2px 4px #183f6910; font-weight:600; }
.writing-tour-guide .writing-tour-trial-note { margin:4px 0 0; font-size:.7rem; color:#6b7e8e; }
.writing-tour-guide a:focus-visible, .writing-tour-guide summary:focus-visible { outline:3px solid #d3a123; outline-offset:3px; }
@media (pointer:coarse) { .writing-tour-toolbar .btn, .writing-tour-audio-controls button, .writing-tour-guide-toggle { min-height:44px; } }

/* Both directions are clearly labeled, equally prominent navigation buttons. */
.writing-classroom-tour .writing-tour-toolbar .writing-tour-controls .btn { background:#147a73 !important; color:#fff !important; border:1px solid #147a73 !important; font-weight:750; box-shadow:0 2px 4px #147a7315; }
.writing-classroom-tour .writing-tour-toolbar .writing-tour-controls .btn:hover { background:#105e59 !important; border-color:#105e59 !important; }

.writing-tour-audio-timeline { display:flex; align-items:center; gap:8px; color:#536b7b; font-size:.68rem; font-variant-numeric:tabular-nums; }
.writing-tour-audio-timeline input { flex:1; min-width:0; accent-color:#147a73; height:14px; cursor:pointer; }
#writingTourAudioStatus:empty { display:none; }
.writing-tour-guide #writingTourAudioStatus { text-align:center; font-size:.76rem; color:#183f69; background:#fff6db; border-radius:6px; padding:6px; }
.writing-tour-audio-credit { font-size:.68rem; color:#536b7b; }
.writing-tour-audio-controls button:not(:disabled):hover { background:#dceaf5; border-color:#183f69; }

/* A welcoming class identity, scoped to the public tour's dashboard. */
.writing-classroom-tour .app-header.writing-tour-class-header {
  margin:1rem 1rem 1.25rem; padding:.35rem .6rem;
  background:linear-gradient(115deg, #e6f0f9, #f4f8fc) !important;
  border:1px solid #bad0e2 !important; border-left:5px solid #d3a123 !important;
  border-radius:16px; box-shadow:0 5px 16px #183f6908;
}
.writing-tour-class-header .app-title {
  max-width:36rem; margin:0 0 .65rem !important; color:#183f69;
  font-size:clamp(1.6rem, 2.3vw, 2.15rem); font-weight:400;
  line-height:1.2; letter-spacing:-.025em;
}
.writing-tour-class-invitation {
  max-width:36rem; padding:.65rem .9rem;
  border:1px solid #e8c76c; border-radius:9px; background:#fff4cd;
  color:#183f69; font-size:.9rem; font-weight:400; line-height:1.5;
}
.writing-tour-class-invitation strong { font-weight:750; }

@media(max-width:600px) {
  .writing-classroom-tour .app-header.writing-tour-class-header { margin:.75rem .65rem 1rem; padding:.15rem .25rem; }
}

.writing-classroom-tour .writing-tour-class-header .container-xl { padding-top:1rem !important; padding-bottom:1rem !important; }

.writing-tour-home { display:block; margin-top:9px; padding:7px 12px; text-align:center; border:1px solid #e8c76c; border-radius:8px; background:#fff4cd; color:#183f69 !important; font-size:.82rem; font-weight:650; text-decoration:none; }
.writing-tour-home:hover { background:#ffedb0; border-color:#c99422; }

/* A clear invitation only while browser permission is needed. */
.writing-tour-audio-controls button.is-start-required {
  background:#183f69; color:#fff; border:2px solid #183f69;
  border-top:4px solid #d49a22; padding:12px 18px;
  min-height:48px; font-size:1rem; font-weight:700;
  box-shadow:0 3px 10px rgba(24,63,105,.18);
}
.writing-tour-audio-controls button.is-start-required:not(:disabled):hover {
  background:#245780; color:#fff;
}
.writing-tour-audio-controls button:focus-visible {
  outline:3px solid #d49a22; outline-offset:3px;
}

/* The read-only classroom sidebar has no mobile drawer controls. */
@media (max-width: 700px) {
  .writing-classroom-tour .workspace-sidebar { display:none; }
  .writing-classroom-tour .workspace-shell__main { margin-left:0; width:100%; }
}
