:root {
  --ink:#24342c; --muted:#6d786f; --paper:#f7f3e9; --surface:#fffdf8; --line:#e4ddcf;
  --green:#2f7058; --green-dark:#245440; --mint:#dceee4; --yellow:#f5ca62; --red:#9a4837;
  --shadow:0 18px 50px rgba(44,61,51,.12);
  font-family:ui-rounded,"SF Pro Rounded","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  color:var(--ink); background:var(--paper); font-synthesis:none;
}
*{box-sizing:border-box}
html,body,#app{min-width:320px;min-height:100%;margin:0}
body{background:var(--paper)}
button,input,select{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
svg{width:22px;height:22px}
h1,h2,h3,p{margin-top:0}
.app-shell{min-height:100vh}
.page{width:min(100%,920px);min-height:100vh;margin:auto;padding:20px 18px 40px}
.page-with-nav{padding-bottom:108px;animation:page-in .22s ease both}
@keyframes page-in{from{opacity:0;transform:translateY(6px)}}

.topbar{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px}
.topbar-left{display:flex;align-items:center;gap:10px}
.brand-mark,.large-mark{display:grid;place-items:center;background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(47,112,88,.25)}
.brand-mark{width:39px;height:39px;border-radius:13px}
.brand-name{font-weight:900;letter-spacing:.01em}
.parent-entry,.round-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;border:1px solid #c8ded2;background:var(--mint);color:var(--green);font-weight:900}
.parent-entry{gap:6px;padding:0 12px;border-radius:999px;font-size:12px}
.parent-entry svg{width:17px;height:17px}
.round-button{width:40px;padding:0;border-radius:13px}

.primary,.secondary{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 18px;border:0;border-radius:15px;font-weight:900;text-decoration:none}
.primary{background:var(--yellow);color:#493b16;box-shadow:0 8px 18px rgba(0,0,0,.1)}
.primary:disabled{opacity:.5;cursor:not-allowed}
.primary.compact{min-height:42px;padding:0 14px;font-size:12px}
.secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.text-button{padding:7px 0;border:0;background:transparent;color:var(--green);font-weight:900}
.eyebrow{margin:0 0 10px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;opacity:.78}
.mode-chip{display:inline-flex;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:var(--mint);color:var(--green);font-size:11px;font-weight:900}
.mode-chip.light{background:rgba(255,255,255,.14);color:#e6f4ec}

.onboarding-page{display:grid;place-items:center;padding-bottom:20px}
.welcome-card{width:min(100%,600px);padding:38px;border-radius:32px;background:var(--green);color:#fff;box-shadow:var(--shadow)}
.large-mark{width:66px;height:66px;margin-bottom:30px;border-radius:21px;background:#fff;color:var(--green)}
.large-mark svg{width:37px;height:37px}
.welcome-card h1{max-width:480px;margin-bottom:15px;font-size:clamp(38px,8vw,60px);line-height:1.04;letter-spacing:-.045em}
.welcome-card>p:not(.eyebrow){max-width:500px;color:rgba(255,255,255,.78);line-height:1.7}
.onboarding-steps{display:grid;gap:9px;margin:24px 0 0;padding:0;list-style:none}.onboarding-steps li{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:11px;padding:11px 12px;border-radius:15px;background:rgba(255,255,255,.1)}.onboarding-steps li>span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:rgba(255,255,255,.16);font-weight:900}.onboarding-steps li>div{display:grid;gap:2px}.onboarding-steps strong{font-size:13px}.onboarding-steps small{color:rgba(255,255,255,.7);font-size:10px;line-height:1.45}.onboarding-start{width:100%;min-height:52px;margin-top:16px;border:0;border-radius:15px;background:#fff;color:var(--green);font-size:14px;font-weight:900}.local-note{display:block;margin-top:13px;color:rgba(255,255,255,.68);font-size:10px;line-height:1.55}
.local-note{display:block;margin-top:16px;color:rgba(255,255,255,.62);line-height:1.5}
.form-error{min-height:18px;margin:0;color:var(--red);font-size:12px}

.home-hero{position:relative;overflow:hidden;margin-top:20px;padding:32px 26px 25px;border-radius:30px;background:linear-gradient(135deg,var(--green-dark),#43866a);color:#fff;box-shadow:var(--shadow)}
.home-hero:after{content:"";position:absolute;right:-40px;bottom:-70px;width:190px;height:190px;border:32px solid rgba(255,255,255,.08);border-radius:50%}
.home-hero h1{max-width:600px;margin-bottom:28px;font-size:clamp(34px,7vw,52px);line-height:1.06;letter-spacing:-.04em}
.time-summary{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:18px;background:rgba(255,255,255,.08)}
.time-summary>span{display:grid;gap:5px;padding:14px 16px}
.time-summary>span+span{border-left:1px solid rgba(255,255,255,.17)}
.time-summary small{color:rgba(255,255,255,.65)}
.time-summary strong{font-size:18px}
.time-summary.restricted{background:rgba(160,65,45,.25)}
.continue-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;margin-top:14px;padding:17px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 9px 28px rgba(44,61,51,.07)}
.continue-card h2{margin:4px 0 2px;font-size:20px}
.continue-card p,.continue-card small{margin:0;color:var(--muted);font-size:12px}
.library-symbol{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:var(--mint);color:var(--green)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:28px 0 13px}
.section-head h2{margin:0;font-size:21px;letter-spacing:-.02em}
.section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.section-title-link{display:flex;min-width:0;align-items:center;padding:4px 8px 4px 0;border:0;border-radius:10px;background:transparent;text-align:left}.section-title-link>span{display:grid;gap:4px}.section-title-link strong{font-size:21px;letter-spacing:-.02em}.section-title-link small{color:var(--muted);font-size:12px}.section-title-link:hover{color:var(--green)}.section-title-link:focus-visible{outline:3px solid rgba(47,112,88,.28);outline-offset:3px}.section-title-link:after{content:"›";margin-left:8px;color:var(--green);font-size:20px;font-weight:900}
.recent-heading{margin-top:24px}
.recent-collection-card,.saved-link-list{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 7px 22px rgba(44,61,51,.05)}
.recent-collection-row{display:grid;width:100%;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:70px;padding:13px 15px;background:var(--surface);text-align:left}.recent-collection-row+.recent-collection-row{border-top:1px solid var(--line)}
.recent-add-row{grid-template-columns:48px minmax(0,1fr) auto;min-height:86px;padding:17px 18px;border:0;background:linear-gradient(135deg,#f2f8f4,#fffdf8);color:var(--ink)}.recent-add-row>span:nth-child(2){display:grid;min-width:0;gap:5px}.recent-add-row strong{font-size:19px;line-height:1.2;letter-spacing:-.02em}.recent-add-row small{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.recent-add-row b{color:var(--green);font-size:12px;white-space:nowrap}.recent-add-row:disabled{cursor:not-allowed;opacity:.65}
.recent-row-icon,.saved-link-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--mint);color:var(--green)}.recent-row-icon{width:48px;height:48px;border-radius:15px;background:var(--green);color:#fff}.recent-row-icon svg{width:21px;height:21px}.saved-link-icon svg{width:19px;height:19px}
.saved-link-item{background:var(--surface)}
.recent-collection-card .saved-link-item{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;min-height:62px;padding:9px 16px 9px 24px}.recent-collection-card .saved-link-icon{width:34px;height:34px;border-radius:10px}.recent-collection-card .saved-link-icon svg{width:16px;height:16px}
.saved-link-item>a{display:grid;min-width:0;gap:4px;text-decoration:none}.saved-link-item>a strong{overflow:hidden;color:var(--green);font-size:12px;text-decoration:underline;text-overflow:ellipsis;white-space:nowrap}.saved-link-item>a small{color:var(--muted);font-size:10px}
.saved-link-remove{min-width:44px;min-height:44px;padding:8px;border:0;background:transparent;color:#9a4b39;font-size:10px;font-weight:900}
.recent-empty{display:grid;width:100%;grid-template-columns:46px 1fr;align-items:center;gap:12px;padding:15px;border:1px dashed #bfcdbf;border-radius:19px;background:linear-gradient(135deg,#f2f8f4,#fffdf8);text-align:left}.recent-empty>span:first-child{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:var(--mint);color:var(--green)}.recent-empty>span:nth-child(2){display:grid;gap:4px}.recent-empty small{color:var(--muted);line-height:1.45}
.library-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.library-preview :is(button,a){display:grid;justify-items:start;gap:10px;min-height:132px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:inherit;text-align:left;text-decoration:none}
.library-preview :is(button,a)>span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--mint);color:var(--green)}
.library-preview small{align-self:end;color:var(--green);font-weight:900}
.saved-preview{display:grid;width:100%;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-align:left}
.saved-preview>span:first-child,.bookmark-tile{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#fff0c8;color:#85680f}
.saved-preview>span:nth-child(2){display:grid;gap:4px}.saved-preview small{color:var(--muted)}.saved-preview b{color:var(--green);font-size:12px}

.page-title{margin:28px 0 20px}.page-title h1{margin-bottom:8px;font-size:clamp(34px,7vw,50px);letter-spacing:-.04em}.page-title p{color:var(--muted);line-height:1.6}.compact-title{margin-bottom:16px}
.my-libraries-title{margin:12px 0 10px}.my-libraries-title .mode-chip{margin-bottom:5px;padding:4px 8px;font-size:9px}.my-libraries-title h1{margin-bottom:4px;font-size:clamp(27px,5vw,36px)}.my-libraries-title p{margin-bottom:0;font-size:12px;line-height:1.45}
.owned-list,.library-list{display:grid;gap:10px}
.owned-card{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 7px 22px rgba(44,61,51,.05)}
.owned-open{display:grid;min-width:0;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 4px;border:0;background:transparent;color:inherit;text-align:left;text-decoration:none}.owned-open>span:nth-child(2){display:grid;min-width:0;gap:4px}.owned-open small{color:var(--muted)}.owned-open b{color:var(--green);font-size:12px;white-space:nowrap}.owned-open:disabled{opacity:.55;cursor:not-allowed}
.owned-remove{min-width:48px;min-height:42px;padding:0 8px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--red);font-size:10px;font-weight:900}
.info-note{display:flex;gap:10px;margin-top:16px;padding:14px;border:1px solid #e8d6a5;border-radius:16px;background:#fff7dc;color:#705c20;font-size:12px;line-height:1.5}
.info-note svg{flex:0 0 auto;width:18px;height:18px}
.embedded-add{display:block;margin-top:18px;padding-top:6px;border-top:1px solid var(--line);scroll-margin-top:12px}.embedded-add>.page-title{margin-top:24px}.embedded-add>.page-title h1{font-size:clamp(28px,6vw,38px)}
.empty-state{display:grid;justify-items:center;padding:55px 22px;border:1px dashed #cfc7b9;border-radius:24px;color:var(--muted);text-align:center}
.empty-state>span{display:grid;width:66px;height:66px;margin-bottom:16px;place-items:center;border-radius:22px;background:var(--mint);color:var(--green)}
.empty-state .primary{margin-top:8px;background:var(--green);color:#fff}
.empty-state.small{padding:25px}.empty-state.small h2{font-size:17px}.empty-state.small p{margin:0}

.bottom-nav{position:fixed;z-index:30;right:14px;bottom:14px;left:14px;display:grid;grid-template-columns:repeat(3,1fr);width:min(calc(100% - 28px),560px);margin:auto;padding:8px;border:1px solid rgba(218,211,198,.9);border-radius:25px;background:rgba(255,253,248,.94);box-shadow:0 16px 40px rgba(42,55,47,.18);backdrop-filter:blur(18px)}
.nav-item{position:relative;display:grid;min-height:57px;place-items:center;gap:2px;border:0;border-radius:18px;background:transparent;color:var(--muted);font-size:11px;font-weight:900}
.nav-item svg{width:21px;height:21px}.nav-item.active{background:var(--mint);color:var(--green)}
.nav-item:disabled{opacity:.36;cursor:not-allowed}
.nav-item b{position:absolute;top:5px;right:calc(50% - 23px);display:grid;min-width:17px;height:17px;place-items:center;padding:0 4px;border-radius:9px;background:var(--yellow);color:#55440f;font-size:9px}

.browser-page{display:grid;height:100vh;grid-template-rows:auto auto auto 1fr auto auto;background:#eef0ed}
.browser-header{display:grid;grid-template-columns:90px 1fr 90px;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);text-align:center}
.browser-header>div{display:grid;gap:2px}.browser-header small{color:var(--muted);font-size:10px}.browser-close{border:0;background:transparent;color:var(--green);font-weight:900;text-align:left}.browser-time{color:var(--green);font-size:11px;font-weight:900;text-align:right}
.browser-address{display:flex;align-items:center;gap:7px;padding:9px 14px;border-top:1px solid var(--line);background:var(--surface);font-size:10px}.browser-address>span:nth-child(2){overflow:hidden;flex:1;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.browser-address a{color:var(--green);font-weight:900;text-decoration:none}
.demo-browser-note{padding:8px 12px;background:#fff4c9;color:#6d591b;text-align:center;font-size:10px}
.web-frame{width:100%;height:100%;border:0;background:#fff}
.browser-fallback{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 12px;background:#f4f1e9;font-size:10px}.browser-fallback.book-ready{background:#e6f4ec}.browser-fallback p{margin:0;color:var(--muted)}.browser-fallback button{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #b9d6c6;border-radius:9px;background:var(--mint);color:var(--green);font-weight:900}.browser-fallback button svg{width:15px;height:15px}
.browser-toolbar{display:grid;grid-template-columns:1fr 1fr 2.2fr;gap:7px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.browser-toolbar button{display:flex;min-height:48px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:14px;background:#f0ede5;color:var(--muted);font-size:11px;font-weight:900}.browser-toolbar button svg{width:18px}.browser-toolbar .save-current.ready{background:var(--green);color:#fff}.browser-toolbar button:disabled{opacity:.55;cursor:not-allowed}

.parent-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:26px;border-radius:28px;background:var(--green-dark);color:#fff;box-shadow:var(--shadow)}
.parent-hero h1{margin-bottom:7px;font-size:42px}.parent-hero p{margin:0;color:rgba(255,255,255,.72)}
.usage-ring{display:grid;flex:0 0 108px;width:108px;height:108px;place-content:center;border:9px solid rgba(255,255,255,.14);border-top-color:var(--yellow);border-radius:50%;text-align:center}.usage-ring strong{font-size:29px}.usage-ring span{color:rgba(255,255,255,.67);font-size:10px}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.stats-grid article{display:grid;gap:7px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.stats-grid small{color:var(--muted)}.stats-grid strong{font-size:18px}
.add-library-primary{display:grid;width:100%;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;margin-top:12px;padding:15px;border:0;border-radius:19px;background:var(--yellow);color:#4c3d15;text-align:left;box-shadow:0 8px 22px rgba(118,91,19,.13)}.add-library-primary>span:first-child{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:rgba(255,255,255,.48);font-size:25px;font-weight:900}.add-library-primary>span:nth-child(2){display:grid;gap:3px}.add-library-primary small{color:#776321}.add-library-primary b{font-size:12px}
.panel{margin-top:14px;padding:2px 18px 18px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.panel .section-head{margin-top:18px}
.rules-form{display:grid;gap:11px}.rules-form>label,.rules-form>div label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:900}.rules-form>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rules-form input,.rules-form select{min-height:45px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#faf7ef}.rules-form .primary{background:var(--green);color:#fff}
.manage-list{display:grid;gap:8px}.manage-list>div{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:15px;background:#f7f3e9}.manage-list>div>span:nth-child(2){display:grid;gap:3px}.manage-list small{color:var(--muted)}.manage-list button{padding:8px 10px;border:1px solid #e3c6bd;border-radius:9px;background:#fff7f4;color:var(--red);font-size:10px;font-weight:900}

.add-page{padding-bottom:55px}.intent-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.intent-switch button{display:grid;grid-template-columns:36px 1fr;column-gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-align:left}.intent-switch button>span{display:grid;grid-row:span 2;width:36px;height:36px;place-items:center;border-radius:11px;background:#f0ece3;font-weight:900}.intent-switch button strong{align-self:end}.intent-switch button small{margin-top:2px;color:var(--muted)}.intent-switch button.active{border-color:var(--green);box-shadow:0 0 0 2px rgba(47,112,88,.1)}.intent-switch button.active>span{background:var(--mint);color:var(--green)}
.city-picker{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:17px;background:var(--surface);font-weight:900}.city-picker select{min-width:130px;padding:9px 30px 9px 11px;border:1px solid var(--line);border-radius:11px;background:#f3eee4;font-weight:900}
.library-card{overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:0 7px 20px rgba(44,61,51,.05)}.library-card.added{border-color:#b5d3c3}.library-card-main{display:grid;grid-template-columns:47px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px}.library-card-main>span:nth-child(2){display:grid;min-width:0;gap:3px}.library-card-main small{color:var(--muted)}.library-card-state{color:var(--green);font-size:10px;font-weight:900;white-space:nowrap}
.library-details{padding:11px 14px 13px;border-top:1px solid var(--line);background:#faf7ef}.library-details>div:first-child{display:flex;flex-wrap:wrap;gap:5px}.library-details p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.status-badge,.apply-badge{padding:5px 7px;border-radius:7px;background:#ebe6dc;color:#746d63;font-size:9px;font-weight:900}.status-badge.verified,.apply-badge{background:var(--mint);color:var(--green)}
.library-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.library-choice-actions button{min-height:44px;padding:8px 11px;border-radius:11px;font-size:10px;font-weight:900}.method-toggle{border:1px solid #b9d2c5;background:var(--surface);color:var(--green)}.method-toggle[aria-expanded="true"]{background:var(--mint)}.confirm-card{border:0;background:var(--green);color:#fff}.method-panel{margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.method-panel[hidden]{display:none}.method-panel ol{margin:0;padding-left:20px;color:var(--muted);font-size:11px;line-height:1.7}.method-panel li{padding:2px 0}.inline-copy{min-height:26px;margin-left:8px;padding:0 8px;border:1px solid #b9d2c5;border-radius:7px;background:var(--mint);color:var(--green);font-size:9px;font-weight:900;vertical-align:middle}.action-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.action-row button,.action-row a{display:inline-flex;min-height:34px;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--green);font-size:10px;font-weight:900;text-decoration:none}.already-added-note{padding:10px;border-radius:10px;background:var(--mint);color:var(--green)!important;font-weight:800}
.action-row .apply-link{border-color:var(--green);background:var(--green);color:#fff}
.added-library-actions{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:11px}.added-library-actions .method-toggle{min-height:40px;padding:0 12px;border-radius:10px;font-size:10px;font-weight:900}.added-library-actions .already-added-note{margin:0}
.success-card{display:grid;grid-template-columns:47px 1fr;gap:14px;margin-top:18px;padding:19px;border:1px solid #bcd9c9;border-radius:21px;background:#eef8f2}.success-card>span{display:grid;width:47px;height:47px;place-items:center;border-radius:15px;background:var(--green);color:#fff;font-size:22px;font-weight:900}.success-card h2{margin:1px 0 5px}.success-card p{color:var(--muted)}.success-card>div>div{display:flex;flex-wrap:wrap;gap:8px}.success-card .primary{background:var(--green);color:#fff}
.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.pagination button{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--green);font-weight:900}.pagination button:disabled{opacity:.45}.pagination span{color:var(--muted);font-size:11px}

/* Wireframe-aligned product demo */
.page{width:min(100%,680px);padding-right:20px;padding-left:20px}
.topbar{min-height:62px}.brand-mark{width:36px;height:36px;border-radius:12px;box-shadow:none}.brand-name{font-weight:800}.parent-entry{min-height:42px;border:0;font-weight:700}
.home-greeting{margin:21px 0 24px}.home-greeting h1{margin:0;font-size:clamp(32px,7vw,44px);font-weight:800;line-height:1.14;letter-spacing:-.04em}
.continue-reading{display:grid;width:100%;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;padding:18px;border:0;border-radius:20px;background:var(--green);color:#fff;text-align:left;text-decoration:none;box-shadow:0 12px 26px rgba(36,84,64,.18)}.continue-reading:disabled,.continue-reading.disabled{opacity:.55}.continue-reading-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:rgba(255,255,255,.15)}.continue-reading-copy{display:grid;gap:3px;min-width:0}.continue-reading-copy small,.continue-reading-copy span{overflow:hidden;color:rgba(255,255,255,.72);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.continue-reading-copy strong{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.continue-reading>b{align-self:end;font-size:12px}
.lexile-recent-status{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid #d8e4dc;border-radius:14px;background:#f2f7f4}.lexile-mini-mark{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:var(--green-dark);color:#fff;font-family:Georgia,serif;font-size:18px;font-weight:900}.lexile-status-copy{display:grid;min-width:0;gap:2px}.lexile-status-copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.lexile-status-copy small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.lexile-status-actions{display:flex;align-items:center;gap:6px}.lexile-status-actions button,.lexile-status-actions a{display:inline-flex;min-height:32px;align-items:center;padding:0 9px;border:1px solid #b9d2c5;border-radius:9px;background:var(--surface);color:var(--green);font-size:10px;font-weight:900;text-decoration:none;white-space:nowrap}.lexile-status-missing{border-color:#ead9aa;background:#fcf7e9}.lexile-status-missing .lexile-mini-mark{background:#8d7329}.lexile-status-recorded{background:#eef6f1}.lexile-status-recorded .lexile-status-copy strong{color:var(--green-dark)}
.lexile-entry-page{padding-bottom:40px}.lexile-form{display:grid;gap:15px;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.lexile-form label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:900}.lexile-form input{min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:13px;background:#faf7ef;color:var(--ink);font-size:16px}.lexile-form label small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.5}.lexile-form .form-error{min-height:18px;margin:0;color:var(--red);font-size:11px}.lexile-form .primary{min-height:48px;background:var(--green);color:#fff}.lexile-retest-link{display:flex;min-height:42px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;color:var(--green);font-size:11px;font-weight:900;text-decoration:none}
.section-head{margin-top:29px;margin-bottom:9px}.section-head h2{font-size:19px}.recent-heading{margin-top:28px}
.section-actions{display:flex;align-items:center;gap:5px}.section-actions .text-button{white-space:nowrap}
.save-panel-backdrop{position:fixed;z-index:120;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(23,37,30,.42);backdrop-filter:blur(3px)}.save-book-panel{width:min(100%,640px);max-height:calc(100vh - 36px);overflow:auto;padding:10px 22px 22px;border-radius:24px 24px 20px 20px;background:var(--surface);box-shadow:0 24px 70px rgba(22,36,29,.28)}.save-panel-handle{width:42px;height:4px;margin:0 auto 14px;border-radius:999px;background:#c9c4ba}.save-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.save-panel-heading small{color:var(--green);font-size:10px;font-weight:900}.save-panel-heading h2{margin:3px 0 0;font-size:24px}.save-panel-heading>button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:12px;background:#f1ede5;color:var(--muted);font-size:24px}.save-book-panel>p{margin:10px 0 16px;color:var(--muted);font-size:11px;line-height:1.55}.save-book-panel form{display:grid;gap:14px}.save-book-panel label{display:grid;gap:6px;color:var(--ink);font-size:11px;font-weight:900}.save-book-panel input{min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:#faf7ef;color:var(--ink);font-size:13px}.save-book-panel label>small{color:var(--muted);font-size:9px;font-weight:500}.paste-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.paste-row button{padding:0 12px;border:1px solid #b9d2c5;border-radius:11px;background:var(--surface);color:var(--green);font-size:10px;font-weight:900}.save-book-panel .form-error{min-height:17px;margin:0;color:var(--red);font-size:10px}.save-panel-actions{display:grid;grid-template-columns:1fr 2fr;gap:8px}.save-panel-actions button{min-height:46px;border-radius:12px;font-weight:900}.save-panel-actions .primary{background:var(--green);color:#fff}.save-panel-actions .secondary{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.library-preview{display:block;border-top:1px solid var(--line)}.library-preview :is(button,a){display:grid;width:100%;min-height:74px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:11px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:inherit;text-align:left;text-decoration:none}.library-preview :is(button,a)>span:first-child{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--mint);color:var(--green)}.library-preview :is(button,a)>span:nth-child(2){display:grid;width:auto;height:auto;place-items:initial;gap:3px;border-radius:0;background:transparent;color:inherit}.library-preview :is(button,a) small{color:var(--muted);font-weight:500}.library-preview :is(button,a) b{color:var(--green);font-size:12px}
.home-usage{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;margin-top:18px;color:var(--muted);font-size:12px}.home-usage>span:first-child{color:var(--green);font-size:20px}.home-usage strong{color:var(--green)}.home-usage.restricted strong{color:var(--red)}
.page-title{margin-top:22px}.page-title .mode-chip{margin-bottom:7px}.page-title h1{font-size:clamp(32px,7vw,44px)}
.owned-list{gap:0;border-top:1px solid var(--line)}.owned-card{min-height:68px;padding:4px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.owned-card .library-symbol{width:38px;height:38px;border-radius:12px}.owned-open{grid-template-columns:40px minmax(0,1fr) auto;gap:9px;padding:3px}.owned-open strong{font-size:13px}.owned-open small,.owned-open b{font-size:10px}.owned-remove{min-height:36px}
.bottom-nav{right:0;bottom:0;left:0;width:min(100%,680px);padding:7px 12px calc(9px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;background:rgba(255,253,248,.96);box-shadow:0 -8px 26px rgba(42,55,47,.08)}.nav-item{min-height:56px;border-radius:14px;font-weight:700;transition:background-color .18s ease,color .18s ease,transform .18s ease}.nav-item.active{background:var(--green-dark);color:#fff;box-shadow:0 7px 16px rgba(28,77,57,.2);transform:translateY(-1px)}
.parent-promo{padding-bottom:120px}.parent-promo-hero{position:relative;overflow:hidden;margin:22px 0 28px;padding:34px;border-radius:28px;background:var(--green);color:#fff}.parent-promo-hero:after{position:absolute;right:-52px;bottom:-62px;width:190px;height:190px;border:1px solid rgba(255,255,255,.2);border-radius:50%;content:""}.parent-promo-boat{display:grid;width:54px;height:54px;margin-bottom:30px;place-items:center;border-radius:18px;background:rgba(255,255,255,.15)}.parent-promo-boat svg{width:30px;height:30px}.parent-promo-hero h1{max-width:560px;margin:0;font-size:clamp(34px,6vw,50px);line-height:1.1;letter-spacing:-.04em}.parent-promo-hero h1 span{display:block}.parent-promo-hero p{max-width:560px;margin:17px 0 0;color:#dcece4;font-size:16px;line-height:1.7}.parent-promo-points{border-top:1px solid var(--line)}.parent-promo-points>div{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:24px 4px;border-bottom:1px solid var(--line)}.parent-promo-points>div>span{display:grid;width:52px;height:52px;place-items:center;border-radius:17px;background:var(--mint);color:var(--green)}.parent-promo-points svg{width:25px;height:25px}.parent-promo-points h2{margin:1px 0 6px;font-size:19px;letter-spacing:-.02em}.parent-promo-points p{margin:0;color:var(--muted);line-height:1.65}.admin-qr-slot{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:14px;margin-top:18px;padding:14px;border-radius:18px;background:#f3eee4}.admin-qr-slot>span{display:grid;width:72px;height:72px;place-items:center;border:1px dashed #a9a297;border-radius:12px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:800}.admin-qr-slot>div{display:grid;gap:4px}.admin-qr-slot strong{font-size:15px}.admin-qr-slot small{color:var(--muted)}
.add-library-primary{margin-top:0;padding:16px;border-radius:20px;background:#f5e9c8;box-shadow:none}.add-library-primary>span:first-child{background:var(--surface);color:var(--green)}
.parent-library-list{gap:0;border-top:1px solid var(--line)}.parent-library-list>div{min-height:74px;padding:10px 0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.parent-library-list>div>small{color:var(--muted);font-size:10px}
.parent-empty{display:flex;align-items:center;gap:12px;padding:17px;border:1px dashed #bdcbbf;border-radius:18px;background:#f1f7f3}.parent-empty>span{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:13px;background:var(--mint);color:var(--green)}.parent-empty>div{display:grid;gap:4px}.parent-empty small{color:var(--muted);line-height:1.45}
.parent-summary{display:grid;overflow:hidden;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:24px;border-radius:18px;background:var(--line)}.parent-summary>div{display:grid;gap:6px;padding:15px 12px;background:var(--surface)}.parent-summary small{color:var(--muted)}.parent-summary strong{font-size:16px}

.toast{position:fixed;z-index:100;bottom:96px;left:50%;max-width:calc(100% - 30px);padding:11px 16px;border-radius:13px;background:#1f382d;color:#fff;box-shadow:var(--shadow);font-size:12px;font-weight:900;transform:translateX(-50%);animation:toast 2.2s ease both}@keyframes toast{0%,100%{opacity:0;transform:translate(-50%,8px)}12%,88%{opacity:1;transform:translate(-50%,0)}}

@media(max-width:680px){
  .page{padding:12px 16px 34px}.page-with-nav{padding-bottom:105px}.parent-entry{padding:0 10px}.welcome-card{padding:27px 21px}.onboarding-steps li{grid-template-columns:32px 1fr;padding:10px}.onboarding-steps li>span{width:32px;height:32px}.home-greeting{margin-top:16px}.continue-reading{grid-template-columns:44px 1fr;padding:16px}.continue-reading-icon{width:44px;height:44px}.continue-reading>b{grid-column:2}.lexile-recent-status{grid-template-columns:32px minmax(0,1fr);padding:10px}.lexile-status-actions{grid-column:2;flex-wrap:wrap}.lexile-status-copy strong,.lexile-status-copy small{white-space:normal}.section-actions{align-items:flex-end;flex-direction:column;gap:0}.recent-collection-row{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;min-height:66px;padding:11px}.recent-add-row{grid-template-columns:44px minmax(0,1fr) auto;min-height:80px;padding:14px}.recent-add-row strong{font-size:17px}.recent-add-row small{font-size:11px}.recent-row-icon{width:44px;height:44px}.saved-link-icon{width:38px;height:38px}.recent-collection-card .saved-link-item{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;min-height:58px;padding:8px 11px 8px 18px}.recent-collection-card .saved-link-icon{width:32px;height:32px}.recent-empty{grid-template-columns:42px 1fr}.library-preview :is(button,a){grid-template-columns:40px 1fr auto}.owned-open{grid-template-columns:40px minmax(0,1fr)}.owned-open b{grid-column:2}.parent-promo-hero{padding:26px 22px;border-radius:24px}.parent-promo-boat{margin-bottom:24px}.parent-promo-hero h1{font-size:36px}.parent-promo-hero p{font-size:14px}.parent-promo-points>div{grid-template-columns:44px 1fr;gap:13px}.parent-promo-points>div>span{width:44px;height:44px}.parent-promo-trust{padding:20px}.save-panel-backdrop{padding:0}.save-book-panel{max-height:92vh;padding:9px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.paste-row{grid-template-columns:1fr}.paste-row button{min-height:40px}.section-head{align-items:center}.library-card-main{grid-template-columns:43px minmax(0,1fr) auto}.library-card-state{font-size:9px}.library-choice-actions{gap:6px}.library-choice-actions button{padding:7px 6px;font-size:9px}.success-card{grid-template-columns:1fr}.success-card>span{width:42px;height:42px}
}
