/* Stable shared header: its geometry does not depend on the current page. */
html{scrollbar-gutter:stable}.site-header,.session-page .site-header{height:76px;min-height:76px;max-height:76px;margin:0;padding:0;flex-shrink:0;border-bottom:1px solid var(--line);gap:16px}.site-header .wordmark,.session-page .site-header .wordmark{font-size:23px;line-height:1.15;letter-spacing:-.6px;max-width:55%;padding:0}.header-actions{gap:8px;flex-shrink:0}.session-options summary{list-style:none;cursor:pointer}.session-options summary::-webkit-details-marker{display:none}.session-options>div{position:absolute;z-index:40;inset-inline-end:0;top:calc(100% + 9px);width:240px;max-width:calc(100vw - 36px);padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:0 12px 32px #28351d20}.session-options>div a,.session-options>div button{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;padding:11px 13px;text-align:start;font:400 14px/1.5 var(--sans);border:0;border-radius:7px;background:transparent;color:var(--ink)}.session-options>div a:hover,.session-options>div button:hover{background:#e9eddf}.quiet-nav{display:none}
.deck-description-short{display:none}.eyebrow{font-size:12px;letter-spacing:1.3px}.deck-tile p{font-size:13px}.deck-meta{font-size:12px;line-height:1.5}.home-note{font-size:13px}.collection-title span{font-size:12px}.site-footer{font-size:12px}.site-footer .creator-links a{font-size:13px}.back-link{font-size:14px}.text-button{font-size:13px}
/* Practice gets a dedicated card viewport; the controls stay outside its scroll area. */
.session-page .app-shell{height:100svh;height:var(--practice-height,100svh);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.session-page #main{min-height:0;flex:1;display:flex}.session-page .site-footer{display:none}.session-view{display:flex;flex-direction:column;width:100%;max-width:690px;margin:0 auto;min-height:0;flex:1;padding:0 0 7px}.session-top{width:100%;max-width:none;min-height:44px;margin:4px 0;flex-shrink:0}.session-top .back-link{font-size:13px;min-height:44px}.session-options{position:relative}.session-options summary{font-size:25px;border:0;width:44px;height:44px}.session-options>div{width:220px}.session-heading{flex-shrink:0;max-width:none;width:100%;margin:0 0 8px;text-align:center}.session-heading h1{font-size:24px;line-height:1.25;margin:0;letter-spacing:-.4px}.session-heading p{display:none}.session-card-area{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 13px 14px;scrollbar-width:thin;scrollbar-color:#c0c9b4 transparent}.card-stage,.finished-panel{width:min(300px,100%);margin:auto}.card-progress{flex-shrink:0;font-size:12px;line-height:1.5;letter-spacing:0;margin:7px 0;min-height:20px;gap:7px}.session-controls{width:100%;max-width:340px;margin:0 auto;flex-shrink:0}.session-controls .primary-button{min-height:48px;font-size:14px;padding:11px 16px}.secondary-controls{margin:4px 0 0;gap:10px}.control-button{min-height:44px;font-size:13px;line-height:1.4;padding:9px 10px}.session-hint{height:28px;min-height:28px;display:flex;align-items:center;justify-content:center;margin:0}.session-hint:empty{height:28px;min-height:28px}.session-hint svg{width:108px;height:34px;fill:none;stroke:#637653;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;animation:gesture-fade 5s both}.gesture-hand{fill:var(--paper)}.gesture-trail{stroke:#adb99c;stroke-dasharray:2 4}.gesture-swipe .gesture-hand{animation:gesture-swipe 1.8s ease-in-out 2}.gesture-tap .gesture-hand{animation:gesture-tap 1.4s ease-in-out 2}.gesture-pulse{animation:gesture-pulse 1.4s ease-out 2;transform-origin:61px 8px;stroke:#95a681}@keyframes gesture-swipe{0%,100%{transform:translateX(0)}30%{transform:translateX(-17px)}70%{transform:translateX(17px)}}@keyframes gesture-tap{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes gesture-pulse{0%{transform:scale(.65);opacity:0}40%{opacity:.8}100%{transform:scale(1.4);opacity:0}}@keyframes gesture-fade{0%,85%{opacity:.8}100%{opacity:0}}
@media(max-width:540px){.app-shell{padding-inline:20px}.site-header,.session-page .site-header{height:64px;min-height:64px;max-height:64px;gap:12px}.site-header .wordmark,.session-page .site-header .wordmark{font-size:20px;line-height:1.12;max-width:calc(100% - 160px)}.header-actions{gap:6px}.icon-button{width:44px;height:44px}.home-intro{margin:21px 0 20px;max-width:none}.home-intro .eyebrow{font-size:11px;line-height:1.5;letter-spacing:1px}.home-intro h1{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin:10px 0 0;max-width:none}.home-intro p{display:none}.collection-title{margin-bottom:10px;gap:6px;align-items:baseline}.collection-title h2{font-size:21px}.collection-title span{font-size:12px}.decks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.deck-tile h3{font-size:17px;line-height:1.35;margin:16px 0 7px}.deck-tile p{font-size:13px;line-height:1.55;min-height:0}.deck-meta{font-size:12px;line-height:1.6}.deck-description{font-size:13px;min-height:44px}.cover-wrap .watercolor-cover .cover-title{font-size:16px;line-height:1.35}.home-note{font-size:13px;line-height:1.7;margin-top:25px;padding-top:19px}.reading-links{margin-block:24px}.reading-links span{font-size:12px}.reading-links h2{font-size:21px}.creator-section p{font-size:14px}.contact-buttons a{font-size:14px}.site-footer{font-size:12px}.session-top{min-height:40px;margin:1px 0 4px}.session-top .back-link{font-size:13px;min-height:40px}.session-options summary{width:40px;height:40px}.session-heading{margin-bottom:6px}.session-heading h1{font-size:22px;line-height:1.25}.session-card-area{padding:7px 12px 13px}.card-stage,.finished-panel{width:min(300px,100%)}.card-progress{font-size:12px;margin:5px 0;min-height:19px}.session-controls{max-width:340px}.session-controls .primary-button{font-size:14px;min-height:47px}.control-button{font-size:13px;min-height:44px}.session-hint{height:27px;min-height:27px}.session-hint:empty{height:27px;min-height:27px}.reading-body p,.reading-body .reading-list li,.reading-body .reading-ending p{text-align:start;text-align-last:auto;hyphens:none;-webkit-hyphens:none}.reading-header .eyebrow,.reading-header .reading-byline{font-size:12px;letter-spacing:0}.reading-header{grid-template-columns:minmax(0,1fr) 90px}.reading-header h1{font-size:29px}}
@media(max-width:350px){.app-shell{padding-inline:18px}.site-header .wordmark,.session-page .site-header .wordmark{font-size:18px;max-width:calc(100% - 154px)}.header-actions{gap:4px}.home-intro{margin-top:17px;margin-bottom:17px}.home-intro h1{font-size:25px}.collection-title h2{font-size:20px}.decks-grid{gap:25px 18px}.deck-tile h3{font-size:16px}.cover-wrap .watercolor-cover .cover-title{font-size:14px}.session-heading h1{font-size:21px}.reading-header{grid-template-columns:minmax(0,1fr) 85px}.reading-header h1{font-size:27px}}
@media(min-width:600px) and (max-height:500px){.session-view{display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-template-rows:40px auto auto 1fr;column-gap:20px;padding-bottom:4px}.session-top{grid-column:1/-1;grid-row:1;margin:0;min-height:40px}.session-heading{grid-column:2;grid-row:2;margin:7px 0 0}.session-heading h1{font-size:20px}.session-card-area{grid-column:1;grid-row:2/5;height:100%;padding:8px 13px 12px}.card-progress{grid-column:2;grid-row:3;margin:8px 0}.session-controls{grid-column:2;grid-row:4;align-self:center}.card-stage{width:min(290px,100%)}.session-hint,.session-hint:empty{height:24px;min-height:24px}}
@media(prefers-reduced-motion:reduce){.session-hint svg,.gesture-hand,.gesture-pulse{animation:none!important}.gesture-pulse{opacity:.5}}
.session-card-area{display:flex;flex-direction:column}.session-card-area .card-stage,.session-card-area .finished-panel{flex:none;margin:auto}
.session-page .update-banner{position:static;inset:auto;flex-shrink:0;width:100%;max-width:520px;margin:5px auto 2px;padding:8px 12px;font-size:12px;line-height:1.5;border-radius:9px;box-shadow:none}.session-page .update-banner button{min-height:36px;padding:6px 12px}

/* Give the five deck covers priority on wider screens. */
@media(min-width:900px){.home-intro{display:flex;flex-direction:column;gap:12px;max-width:none;margin:30px 0 32px}.home-intro h1{font-size:clamp(38px,3.9vw,48px);line-height:1.15;letter-spacing:-1px;margin:0;max-width:none}.home-intro p{align-self:start;margin:0;max-width:none;font-size:14px;line-height:1.8}.collection-title{margin-bottom:20px}.decks-grid{gap:24px}.deck-tile h3{margin-top:17px}.deck-description{font-size:13px}.home-note{margin-top:30px}}

/* Reading is a primary destination, visible without opening the menu. */
.home-note{max-width:none;text-wrap:pretty}
.header-reading{display:flex;align-items:center;gap:24px;margin-inline-start:auto;margin-inline-end:16px;min-width:0}.header-reading a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5;color:var(--green);padding:8px 0}.header-reading a:hover{text-decoration:underline;text-underline-offset:5px}.home-reading{display:none}
@media(max-width:899px){.header-reading{display:none}.home-reading{display:flex;gap:10px;margin:14px 0 0}.home-reading a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#faf9f380;font-size:14px;line-height:1.5;color:var(--green)}.home-reading a:hover{background:#e8ecdf}.home-reading a span{font-size:14px;flex-shrink:0}}

/* Long questions expand the document instead of disappearing inside a card pane. */
.session-page.long-card-page .app-shell{height:auto;min-height:100svh;display:block}.session-page.long-card-page #main{display:block;flex:none}.long-card-page .session-view{display:flex;flex-direction:column;height:auto;min-height:0;flex:none}.long-card-page .session-card-area{height:auto;min-height:0;flex:none;display:block;overflow:visible;overscroll-behavior:auto}.long-card-page .session-card-area .card-stage{margin:0 auto}.long-card-page .session-heading{margin:0 0 8px}.long-card-page .session-controls{max-width:340px}

/* The same text relationships also apply outside the author articles. */
.favorite-header{display:flex;flex-direction:column;gap:var(--space-label);margin:var(--space-text) 0 var(--space-section)}.favorite-header h1,.favorite-header p{margin:0}.favorite-list{gap:var(--space-text)}.empty-favorites{display:flex;flex-direction:column;align-items:center;gap:var(--space-text);padding:48px 0}.empty-favorites h2,.empty-favorites p{margin:0}
.reading-links{margin-block:var(--space-section);gap:var(--space-text)}.reading-links h2{margin-top:var(--space-label)}.creator-section{display:flex;flex-direction:column;gap:var(--space-text);margin-top:var(--space-section);padding-top:24px}.creator-section h2,.creator-section p{margin:0}.site-footer{margin-top:var(--space-section)}
.installation-dialog .install-steps{display:flex;flex-direction:column;gap:var(--space-text)}.installation-dialog .install-steps li{margin:0}.installation-dialog .install-steps p{margin:var(--space-label) 0 0}

/* An accessible, styled language list; the header keeps the same dimensions. */
.header-actions{position:relative}.language-picker{position:static;width:44px;height:44px;flex-shrink:0;border:0;padding:0;background:transparent}.language-picker::after{display:none}#language-button>svg{width:21px;height:21px}#language-button[aria-expanded=true]{background:#e8ecdf}
.language-menu{position:absolute;inset-inline-end:0;top:calc(100% + 14px);z-index:60;width:min(272px,calc(100vw - 40px));padding:8px;border:1px solid #cdd2c2;border-radius:14px;background:var(--paper);box-shadow:0 12px 36px #2f3d2526}.language-title{display:block;padding:9px 12px 10px;font-size:12px;line-height:1.5;color:var(--muted)}.language-menu ul{list-style:none;margin:0;padding:0;max-height:min(440px,calc(100svh - 144px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bdc8b0 transparent}.language-menu li{margin:0;padding:0}.language-menu [role=option]{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:400 15px/1.5 var(--sans);text-align:start}.language-menu [role=option]:hover,.language-menu [role=option]:focus-visible{background:#eef0e6}.language-menu [role=option]:focus-visible{outline:2px solid #82936c;outline-offset:-2px}.language-menu [aria-selected=true]{background:#e3e9d8;font-weight:550;color:var(--green-dark)}.language-menu [role=option] svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;visibility:hidden}.language-menu [aria-selected=true] svg{visibility:visible}

/* Sharing uses the existing paper, typefaces and quiet controls. */
.share-card-control{width:44px;min-width:44px;padding:8px;flex-shrink:0}.share-card-control svg{width:20px;height:20px}.share-card-control[aria-busy=true]{opacity:.4}
.share-dialog{width:min(430px,calc(100% - 32px));padding:22px 24px 26px}.share-dialog .dialog-top{margin-bottom:12px}.share-dialog h2{font-size:27px;margin:0 0 10px}.share-dialog .share-description{font-size:13px;line-height:1.6;margin:0 0 16px;color:var(--muted)}
.share-preview{display:flex;align-items:center;justify-content:center;min-height:180px;margin:0 0 18px;background:#f1efe6;border-radius:12px;padding:12px;overflow:hidden}.share-preview img{width:auto;max-width:100%;height:auto;max-height:min(290px,35svh);object-fit:contain;box-shadow:0 4px 14px #343a3020;border-radius:6px}.share-preview p{font-size:13px;line-height:1.6;margin:0;text-align:center;color:var(--muted)}
.share-actions{display:flex;flex-direction:column;gap:10px}.share-actions button{width:100%;min-height:46px;font:inherit;font-size:14px;line-height:1.5;padding:10px 14px;border-radius:9px}.share-image-button{background:transparent;border:1px solid #c2cbb7;color:var(--green)}.share-image-button:disabled{opacity:.5;cursor:default}.share-copy-button{display:block;text-align:center;min-height:40px;padding:9px;font-size:12px;line-height:1.6;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.share-address-label{display:block;margin:18px 0 8px;font-size:11px;line-height:1.5;color:var(--muted)}.share-address{display:flex;gap:8px;align-items:stretch}.share-address input{min-width:0;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f6f4ec;color:var(--muted);font:400 12px/1.5 var(--sans)}.share-address button{flex-shrink:0;max-width:46%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--green);font:400 12px/1.4 var(--sans)}
.shared-card-missing{max-width:420px;margin:48px auto;text-align:center}.shared-card-missing h1{font:400 30px/1.3 var(--serif)}.shared-card-missing p{font-size:15px;line-height:1.7;color:var(--muted)}.shared-card-missing .primary-button{margin-top:24px}
.share-dialog .share-feedback{margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--green)}
@media(max-width:540px){.share-dialog{padding:18px 18px 22px}.share-dialog h2{font-size:25px}.share-dialog .dialog-top{margin-bottom:8px}.share-preview{padding:10px;margin-bottom:14px}.share-address input{font-size:16px}.share-address button{font-size:11px}.share-address-label{margin-top:14px}.share-actions{gap:8px}}
