/* PharmApp 4.1: pearl surfaces and restrained sculpted depth from the original. */
:root{--bg:#eaf2f9;--surface:#f8fbff;--surface2:#dfeaf4;--ink:#18394e;--muted:rgba(24,57,78,.64);--accent:#167dcc;--accent2:#40b9cf;--tint:#d9ecf8;--line:rgba(43,97,135,.13);--glass:rgba(241,248,255,.72);--shade:rgba(27,68,103,.15);--on-accent:#fff;--shine:rgba(255,255,255,.92);--lower:rgba(24,69,104,.13);--gold1:#fff0be;--gold2:#eac36c;--gold3:#b88936;--ease:cubic-bezier(.22,1,.36,1);font-size:16px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none}
[data-theme=dark]{--bg:#101b2a;--surface:#1b2d40;--surface2:#142537;--ink:#e7f3fa;--muted:rgba(217,237,249,.67);--accent:#71c4ef;--accent2:#408ada;--tint:#233f58;--glass:rgba(26,43,61,.76);--line:rgba(163,207,237,.13);--shade:rgba(0,6,16,.38);--shine:rgba(188,225,255,.17);--lower:rgba(0,8,22,.48);--on-accent:#09273e;color-scheme:dark}
[data-theme=pink]{--bg:#f6e9f0;--surface:#fff6fa;--surface2:#eddae6;--ink:#58364e;--muted:rgba(88,54,78,.65);--accent:#b65787;--accent2:#da8cb7;--tint:#f0d3e5;--glass:rgba(255,241,250,.76);--line:rgba(134,77,112,.14);--shade:rgba(111,53,89,.14);--shine:rgba(255,255,255,.94);--lower:rgba(121,64,102,.14)}
[data-font=small]{font-size:14px}[data-font=medium]{font-size:16px}[data-font=large]{font-size:18px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:0.9375rem;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;background:none}button:disabled{opacity:.5;cursor:default}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}a{color:var(--accent);text-decoration:none}button svg,svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;hyphens:none;letter-spacing:-.035em}h1{font-size:2.375rem;line-height:1.08;font-weight:650}h2{font-size:1.5rem;line-height:1.18;font-weight:600}h3{font-size:1.0625rem;line-height:1.3;font-weight:600}p{text-wrap:pretty}small{font-size:0.75rem}input,select,textarea{min-height:48px;max-width:100%;width:100%;padding:12px 14px;border:0;border-radius:14px;background:var(--surface2);font-size:1rem}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--accent);flex-shrink:0}label{display:block;font-size:0.8125rem;font-weight:500}label>input,label>select{margin-top:7px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;margin:0}code{font:inherit;overflow-wrap:anywhere}strong,b{font-weight:600}[hidden]{display:none!important}
.sidebar{width:258px;position:fixed;inset:0 auto 0 0;padding:36px 20px 24px;background:var(--surface);display:flex;flex-direction:column;z-index:15}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:1.5rem;font-weight:600;letter-spacing:-1px;padding:0 10px}.brand-symbol{display:grid;place-items:center;width:40px;height:44px;background:var(--tint);color:var(--accent);border-radius:14px}.brand-symbol svg{width:25px;height:25px}.brand-light{font-weight:400}.brand small{display:block;font-size:0.625rem;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:1px}.sidebar-caption{font-size:0.75rem;color:var(--muted);margin:53px 14px 14px}.side-nav{display:grid;gap:6px}.side-tab{display:flex;align-items:center;gap:14px;padding:15px 16px;border-radius:16px;min-height:54px;text-align:left;color:var(--muted);font-size:0.875rem}.side-tab.active{background:var(--tint);color:var(--accent);font-weight:600}.side-tab.active svg{stroke-width:2.3}.side-tab small{font-size:0.5625rem;margin-left:auto}.sidebar-bottom{margin-top:auto}.side-pro{display:flex;align-items:flex-start;gap:10px;background:var(--surface2);border-radius:20px;padding:17px 14px;width:100%;text-align:left;font-size:0.8125rem;font-weight:600}.side-pro>svg:first-child{color:var(--accent);width:19px}.side-pro>svg:last-child{width:15px;margin-top:3px}.side-pro small{display:block;color:var(--muted);font-size:0.6875rem;line-height:1.5;font-weight:400;margin-top:5px}.sidebar-footer{display:flex;justify-content:space-between;font-size:0.625rem;color:var(--muted);padding:17px 9px 0}.sidebar-footer button{font-size:0.625rem;min-height:44px;padding:0}.sidebar-footer>span{display:flex;align-items:center}.workspace{margin-left:258px;min-height:var(--app-height,100dvh)}.topbar{height:92px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.desktop-context{font-size:0.8125rem;color:var(--muted)}.header-actions{display:flex;gap:12px;align-items:center}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;min-width:44px;border-radius:50%;background:var(--surface2)}.account-button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:999px;background:var(--surface);font-size:0.8125rem}.account-button svg{width:19px}.mobile-brand{display:none}#main{max-width:1180px;margin:auto;padding:36px 48px 20px;min-height:calc(var(--app-height,100dvh) - 176px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.page-heading p{color:var(--muted);font-size:0.875rem;margin-top:12px}.page-heading>.heading-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:21px;background:var(--surface);color:var(--accent)}.heading-icon svg{width:26px;height:26px}.stats-inline{display:flex;align-items:center;gap:16px;margin-top:18px;font-size:0.75rem;color:var(--muted)}.stats-inline span+span{padding-left:16px;border-left:1px solid var(--line)}.stats-inline b{color:var(--ink);font-weight:600;margin-right:4px}.search-field{display:flex;align-items:center;gap:12px;background:var(--surface);padding:3px 16px;border-radius:18px;min-height:54px;margin-bottom:22px}.search-field svg{color:var(--muted);width:21px}.search-field input{background:transparent;padding-left:0;border:0;outline:none;margin:0;min-width:0}.search-field:focus-within{box-shadow:0 0 0 2px var(--accent)}.search-field button{color:var(--muted);min-height:44px}.focus-banner{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:23px 26px;margin:0 0 30px;background:var(--tint);border-radius:24px}.focus-banner .subtle{font-size:0.75rem;margin-bottom:8px}.focus-banner h3{font-size:1.3125rem;line-height:1.3}.focus-banner p{font-size:0.8125rem;color:var(--muted);margin-top:7px}.focus-banner .icon-button{background:var(--surface);color:var(--accent)}.banner-symbol{display:grid;place-items:center;flex-shrink:0;width:58px;height:58px;border-radius:20px;color:var(--accent);background:var(--surface)}.banner-symbol svg{width:28px;height:28px}.focus-copy{flex:1;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;gap:12px}.section-heading h2{font-size:1.25rem}.subtle{color:var(--muted);font-size:0.8125rem}.pill{font-size:0.6875rem;display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--surface2);padding:5px 9px;color:var(--muted);white-space:nowrap}.pill svg{width:12px;height:12px}.pill.accent{background:var(--tint);color:var(--accent)}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topic{padding:21px;min-height:99px;display:flex;align-items:center;gap:15px;text-align:left;background:var(--surface);border-radius:22px;transition:transform .45s var(--ease),box-shadow .6s var(--ease)}.topic:hover{transform:translateY(-3px);box-shadow:0 10px 26px var(--shade)}.topic-icon{display:grid;place-items:center;width:47px;height:47px;flex-shrink:0;border-radius:16px;background:var(--surface2);color:var(--muted)}.topic-icon.featured{color:var(--accent);background:var(--tint)}.topic-copy{flex:1;min-width:0}.topic-name{font-size:0.9375rem;line-height:1.35;display:block;font-weight:500;text-wrap:pretty;letter-spacing:-.02em}.topic-meta{display:block;color:var(--muted);font-size:0.6875rem;margin-top:7px}.topic>svg{color:var(--muted);width:16px;height:16px}.topic-pro{font-size:0.5625rem;letter-spacing:.03em;color:var(--muted);margin-left:5px}.page-footer{max-width:1180px;padding:20px 48px 32px;margin:auto;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;color:var(--muted);font-size:0.6875rem}.page-footer>span{margin-right:auto}.page-footer button{font-size:0.6875rem;min-height:44px;padding:0}.dock{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 20px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:0.875rem;font-weight:500;text-align:center;transition:transform .4s var(--ease),box-shadow .6s var(--ease)}.btn:hover{transform:translateY(-2px);box-shadow:0 7px 20px var(--shade)}.btn svg{width:19px;height:19px}.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.soft{background:var(--tint);color:var(--accent)}.full{width:100%}.text-button{min-height:44px;color:var(--accent);font-size:0.8125rem;display:inline-flex;gap:8px;align-items:center;padding:4px 0}.text-button svg{width:17px;height:17px}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar .text-button{margin-right:auto}.chip{min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;font-size:0.75rem}.chip.selected{background:var(--accent);border:0;color:var(--on-accent)}.group{background:var(--surface);border-radius:24px;margin-bottom:14px;overflow:hidden}.group summary{list-style:none;display:flex;gap:14px;align-items:center;cursor:pointer;padding:21px 23px;min-height:65px;font-weight:500;font-size:1rem;letter-spacing:-.02em}.group summary::-webkit-details-marker{display:none}.group summary>span{flex:1}.group summary small{font-size:0.6875rem;color:var(--muted)}.group summary svg{width:17px;transition:transform .4s var(--ease)}.group[open] summary svg{transform:rotate(180deg)}.group-note{font-size:0.8125rem;color:var(--muted);padding:0 23px 19px;max-width:75ch}.drug-list{padding:0 9px 9px}.drug-row{width:100%;min-height:61px;display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:16px;text-align:left;border-top:1px solid var(--line)}.drug-row:hover{background:var(--surface2)}.drug-row>span{flex:1;min-width:0;font-size:0.875rem}.drug-row small{display:block;color:var(--muted);font-size:0.6875rem;margin-top:4px}.drug-row>svg{width:18px;color:var(--muted)}.drug-row>svg:first-child{color:var(--accent)}.drug-row:first-child{border-top:0}.empty{padding:55px 24px;text-align:center;color:var(--muted)}.empty>svg{width:38px;height:38px;margin-bottom:20px;color:var(--accent)}.empty h2{font-size:1.375rem;color:var(--ink);margin-bottom:12px}.empty p{max-width:38ch;margin:auto;font-size:0.875rem}.empty .btn{margin-top:24px}.loading-state{display:grid;justify-items:center;gap:15px;padding:80px 20px;color:var(--muted)}.loading-dot{width:14px;height:14px;background:var(--accent);border-radius:50%;animation:breathe 1s var(--ease) infinite alternate}.enter{animation:enter .6s var(--ease) both}.topic:nth-child(2){animation-delay:30ms}.topic:nth-child(3){animation-delay:60ms}.topic:nth-child(4){animation-delay:90ms}.topic:nth-child(5){animation-delay:120ms}.topic:nth-child(6){animation-delay:150ms}@keyframes enter{from{opacity:0;transform:translateY(12px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes breathe{to{opacity:.3;transform:scale(.65)}}
dialog{padding:0;border:0;outline:none;background:var(--surface);color:var(--ink);border-radius:30px;width:min(640px,calc(100% - 40px));max-height:88dvh;max-height:88vh;box-shadow:0 35px 100px rgba(0,0,0,.22);overflow:auto;overscroll-behavior:contain}dialog[open]{animation:sheet-in .42s var(--ease)}dialog::backdrop{background:rgba(18,22,30,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@keyframes sheet-in{from{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:none}}.sheet-handle{display:none}.modal-header{position:sticky;top:0;z-index:2;background:var(--glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);display:flex;gap:10px;align-items:center;padding:20px 24px 16px}.modal-header h2{font-size:1.1875rem;flex:1;overflow-wrap:anywhere}.modal-header .icon-button{width:36px;height:36px;min-width:44px;min-height:44px}.modal-header .icon-button svg{width:18px}.modal-body{padding:4px 28px 30px}.modal-subtitle{color:var(--muted);font-size:0.75rem;margin-bottom:20px}.drug-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 22px}.drug-title h2{font-size:1.875rem;line-height:1.1;overflow-wrap:anywhere}.field-block{padding:19px 0;border-top:1px solid var(--line)}.field-heading{display:flex;align-items:center;gap:9px;font-size:0.8125rem;font-weight:600;margin-bottom:10px}.field-heading svg{width:17px;height:17px;color:var(--accent)}.field-block p{font-size:0.875rem;line-height:1.75;max-width:62ch}.notice{font-size:0.75rem;color:var(--muted);background:var(--surface2);border-radius:16px;padding:14px 16px;margin-top:20px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.actions>.btn{flex:1}.form{display:grid;gap:18px;margin-top:18px}.check-label{display:flex;gap:10px;font-size:0.75rem;font-weight:400;align-items:flex-start;color:var(--muted)}.check-label input{margin-top:2px}.check-label button{color:var(--accent);padding:0;text-align:left}.form-status{font-size:0.8125rem;color:var(--accent);min-height:0}.auth-tabs,.segmented{display:flex;background:var(--surface2);border-radius:999px;padding:4px;gap:4px}.auth-tabs button,.segmented button{flex:1;min-height:38px;border-radius:999px;font-size:0.8125rem}.auth-tabs .selected,.segmented .selected{background:var(--surface);box-shadow:0 2px 7px var(--shade)}.theme-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}.theme-choice{text-align:center;padding:0;min-height:110px;font-size:0.75rem}.theme-preview{height:80px;width:100%;border-radius:15px;padding:10px;display:flex;gap:6px;position:relative;margin-bottom:9px;box-shadow:inset 0 0 0 1px rgba(127,127,127,.14);background:#f4f5f7}.theme-preview::before{content:'';width:21%;height:100%;border-radius:5px;background:#fff}.theme-preview::after{content:'';position:absolute;bottom:12px;right:12px;width:48%;height:13px;border-radius:6px;background:#087efa}.preview-dark{background:#15161a}.preview-dark::before{background:#2c2e36}.preview-dark::after{background:#5aa9ff}.preview-pink{background:#f7ecf2}.preview-pink::before{background:#fffafb}.preview-pink::after{background:#b63d74}.preview-system{background:linear-gradient(90deg,#f4f5f7 50%,#15161a 50%)}.theme-choice.selected .theme-preview{box-shadow:0 0 0 2px var(--accent)}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-top:1px solid var(--line);font-size:0.8125rem}.settings-row span{flex:1}.settings-row small{display:block;color:var(--muted);margin-top:5px}.settings-row input{width:auto;margin:0}.profile-head{display:flex;gap:15px;align-items:center;margin:12px 0 22px}.avatar{display:grid;place-items:center;width:64px;height:64px;background:var(--tint);color:var(--accent);border-radius:24px;font-size:1.5rem}.profile-head h3{font-size:1.375rem}.profile-head p{font-size:0.8125rem;color:var(--muted);overflow-wrap:anywhere}.profile-options{background:var(--surface2);border-radius:22px;padding:7px}.profile-options button{display:flex;align-items:center;gap:12px;min-height:54px;text-align:left;width:100%;padding:10px 14px;font-size:0.875rem}.profile-options button>span{flex:1}.profile-options svg{width:19px;color:var(--accent)}.plan-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:23px}.plan{padding:17px 10px;border:1px solid var(--line);border-radius:19px;text-align:left;min-height:120px}.plan.selected{background:var(--tint);border:1px solid transparent;box-shadow:inset 0 0 0 2px var(--accent)}.plan b{display:block;font-size:1.4375rem;margin:9px 0 4px;letter-spacing:-.05em}.plan span{font-size:0.75rem}.plan small{display:block;font-size:0.625rem;color:var(--muted)}.pro-intro{padding:19px 0 0}.pro-intro>svg{color:var(--accent);width:35px;height:35px;margin-bottom:16px}.pro-intro h2{font-size:1.875rem;margin-bottom:12px}.pro-intro p{color:var(--muted);font-size:0.875rem;max-width:47ch}.benefits{display:grid;gap:12px;margin:25px 0}.benefits>div{display:flex;gap:10px;align-items:center;font-size:0.8125rem}.benefits svg{color:var(--accent);width:18px}.payment-details{padding:19px;background:var(--surface2);border-radius:20px;margin:18px 0}.payment-details h3{font-size:1.3125rem}.payment-details p{font-size:0.8125rem;margin-top:8px}.contact-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:19px 0}.contact-buttons .btn{padding:10px 13px}.order-item{padding:16px;background:var(--surface2);border-radius:17px;margin-top:10px}.order-item p{font-size:0.75rem;color:var(--muted);margin-top:7px}.order-item button{margin-top:10px}.legal-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:20px}.legal-tabs button{white-space:nowrap}.legal h3{font-size:1rem;margin:24px 0 10px}.legal p{font-size:0.8125rem;line-height:1.8;margin:10px 0}.legal .legal-date{font-size:0.6875rem;color:var(--muted)}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recipe-card{background:var(--surface);border-radius:23px;padding:23px;text-align:left;transition:transform .45s var(--ease)}.recipe-card:hover{transform:translateY(-3px)}.recipe-card .recipe-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.rx{font:500 25px ui-serif,Georgia,serif;color:var(--accent);letter-spacing:-2px}.recipe-card h3{font-size:1rem}.recipe-card p{font-size:0.75rem;color:var(--muted);margin-top:9px;line-height:1.6}.recipe-formula{padding:22px;background:var(--surface2);border-radius:19px;margin:20px 0}.select-row{display:flex;gap:14px;align-items:center;margin-bottom:22px}.select-row select{background:var(--surface);flex:1;min-width:0;font-size:0.875rem}.select-row>span{font-size:0.75rem;color:var(--muted)}.study-layout{max-width:680px;margin:0 auto}.study-progress{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--muted);margin:23px 0 12px}.progress-track{height:4px;background:var(--surface2);border-radius:9px;overflow:hidden;margin-bottom:25px}.progress-fill{height:100%;background:var(--accent);border-radius:9px;transition:width .4s var(--ease)}.study-actions{display:flex;gap:12px;margin-top:25px}.study-actions>.btn{flex:1}.study-footnote{text-align:center;color:var(--muted);font-size:0.75rem;margin-top:24px}.coming{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.coming-icon{width:95px;height:110px;border-radius:27px;background:var(--surface);box-shadow:0 18px 35px var(--shade);display:grid;place-items:center;transform:rotate(-7deg);margin-bottom:35px;color:var(--accent)}.coming-icon svg{width:39px;height:39px}.coming h2{font-size:2rem;margin-bottom:13px}.coming p{font-size:0.875rem;color:var(--muted);max-width:35ch;margin-bottom:23px}.coming .pill{padding:8px 16px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.admin-stat{background:var(--surface);border-radius:21px;padding:20px}.admin-stat b{display:block;font-size:1.875rem;letter-spacing:-.05em}.admin-stat span{font-size:0.75rem;color:var(--muted)}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:0.8125rem}.admin-table th,.admin-table td{padding:16px;text-align:left;border-bottom:1px solid var(--line)}.admin-table th{color:var(--muted);font-weight:400;font-size:0.6875rem}.admin-table td small{display:block;color:var(--muted);max-width:240px;overflow-wrap:anywhere}.table-wrap{overflow:auto;border-radius:22px;margin-bottom:28px}.admin-order{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--surface);padding:20px;border-radius:20px;margin-bottom:10px}.admin-order p{color:var(--muted);font-size:0.75rem;margin-top:5px}.admin-order .actions{margin:0}.plan-edit{background:var(--surface2);padding:18px;border-radius:18px;display:grid;gap:12px}.plan-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-edit input,.plan-edit select{background:var(--surface)}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);opacity:0;z-index:100;background:var(--ink);color:var(--bg);padding:13px 21px;border-radius:18px;box-shadow:0 9px 25px var(--shade);font-size:0.8125rem;max-width:calc(100% - 40px);pointer-events:none;transition:opacity .25s var(--ease),transform .4s var(--ease)}#toast.visible{opacity:1;transform:translate(-50%,0)}.offline-badge{display:inline-flex;gap:5px;align-items:center;font-size:0.6875rem;color:var(--muted)}
@media(min-width:1500px){.sidebar{width:280px}.workspace{margin-left:280px}.topbar{padding:0 65px}}
@media(max-width:1150px) and (min-width:761px){.sidebar{width:220px;padding:30px 14px}.workspace{margin-left:220px}.brand{font-size:1.375rem;padding:0 4px}.brand small{font-size:0.5625rem}.side-tab{padding:13px 12px;gap:10px}#main{padding:30px}.topbar{padding:0 30px}.topic{padding:17px;gap:10px}.topic-icon{width:40px;height:40px;border-radius:13px}.page-footer{padding-left:30px;padding-right:30px}.topic-name{font-size:0.875rem}}
@media(max-width:760px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:calc(68px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 21px 0}.mobile-brand{display:flex;gap:9px;align-items:center;font-weight:600;font-size:1.25rem;letter-spacing:-.7px;color:var(--ink)}.mobile-brand svg{color:var(--accent);width:23px;height:23px}.desktop-context{display:none}.header-actions{gap:9px}.account-button{padding:0;display:grid;place-items:center;width:40px;min-height:40px;background:var(--surface)}.account-label{display:none}.header-actions .icon-button{background:transparent;width:38px;min-width:44px}.header-actions svg{width:21px}#main{padding:27px 20px 15px;min-height:calc(var(--app-height,100dvh) - 250px)}h1{font-size:2rem;letter-spacing:-.045em}.page-heading{margin-bottom:23px}.page-heading p{font-size:0.8125rem;margin-top:10px}.heading-icon{display:none!important}.stats-inline{gap:13px;margin-top:16px;font-size:0.6875rem}.stats-inline span+span{padding-left:13px}.search-field{min-height:52px;border-radius:17px;margin-bottom:19px;padding:1px 14px}.search-field input{font-size:1rem}.focus-banner{padding:18px;gap:13px;border-radius:23px;margin-bottom:27px}.banner-symbol{display:none}.focus-banner h3{font-size:1.1875rem}.focus-banner p{font-size:0.75rem;max-width:23ch}.focus-banner .subtle{font-size:0.6875rem;margin-bottom:6px}.focus-banner .icon-button{width:42px;height:42px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:1.1875rem}.section-heading .subtle{font-size:0.6875rem}.topic-grid{grid-template-columns:1fr;gap:9px}.topic{min-height:86px;padding:16px;gap:13px;border-radius:21px}.topic-icon{width:45px;height:45px;border-radius:15px}.topic-name{font-size:0.875rem;line-height:1.35}.topic-meta{font-size:0.6875rem;margin-top:5px}.topic>svg{width:15px}.page-footer{padding:16px 23px calc(112px + env(safe-area-inset-bottom));gap:0 14px;font-size:0.625rem}.page-footer>span{width:100%;margin-bottom:0}.page-footer button{font-size:0.625rem}dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:calc(var(--app-height,100dvh) - env(safe-area-inset-top) - 15px);border-radius:30px 30px 0 0;padding-bottom:env(safe-area-inset-bottom)}.sheet-handle{display:block;height:5px;width:34px;border-radius:5px;background:var(--line);margin:10px auto 0}.modal-header{padding:12px 20px 15px}.modal-header h2{font-size:1.0625rem}.modal-body{padding:3px 23px 28px}.drug-title h2{font-size:1.8125rem}.drug-title{margin-bottom:18px}.field-block{padding:17px 0}.field-block p{font-size:0.875rem}.modal-body .btn{font-size:0.8125rem}.group{border-radius:22px}.group summary{padding:19px 18px;font-size:0.9375rem}.group-note{padding:0 18px 18px}.drug-list{padding:0 5px 6px}.drug-row{padding:13px;min-height:60px}.recipe-grid{grid-template-columns:1fr;gap:11px}.recipe-card{padding:20px}.recipe-card .recipe-top{margin-bottom:11px}.select-row{gap:9px}.select-row select{font-size:0.8125rem}.select-row>span{font-size:0.6875rem}.study-actions{gap:9px}.study-actions .btn{font-size:0.8125rem;padding:12px 14px}.coming{min-height:52vh}.coming h2{font-size:1.875rem}.admin-stats{gap:8px}.admin-stat{padding:13px;border-radius:17px}.admin-stat b{font-size:1.5625rem}.admin-stat span{font-size:0.625rem}.admin-order{display:block;padding:17px}.admin-order .actions{margin-top:13px}.admin-table th,.admin-table td{padding:13px;white-space:nowrap}.admin-table td small{white-space:normal}.theme-choices{gap:8px}.theme-preview{height:73px}.theme-choice{font-size:0.6875rem}.plan b{font-size:1.3125rem}#toast{bottom:calc(100px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 40px);text-align:center}.toolbar{gap:7px}.chip{font-size:0.6875rem;padding:9px 12px}}
@media(max-width:360px){#main{padding-left:16px;padding-right:16px}.dock{left:8px;right:8px}.dock-tab{font-size:0.5rem}.topic-name{font-size:0.8125rem}.plan-list{gap:6px}.plan{padding:13px 8px}.contact-buttons{grid-template-columns:1fr}.modal-body{padding-left:18px;padding-right:18px}}

.search-results-heading,.admin-heading,.orders-heading{margin-top:28px}.recipe-description{margin-top:14px}.pro-reassurance{text-align:center;font-size:0.6875rem;color:var(--muted);margin-top:11px}.bookmark-button[aria-pressed=true]{color:var(--accent);background:var(--tint)}.bookmark-button[aria-pressed=true] svg{fill:var(--accent);stroke:var(--accent)}fieldset{border:0;margin:0;min-width:0}.plan-edit>legend{display:none}.admin-heading{margin-bottom:16px}
.theme-notes{padding:0 22px 18px}.theme-notes .field-block:first-child{border-top:0;padding-top:0}

/* Gesture containment: the document only scrolls vertically. */
html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%;width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none;touch-action:pan-y}
body{background:radial-gradient(ellipse at 90% 5%,color-mix(in srgb,var(--accent2) 9%,transparent),transparent 60%),var(--bg);background-attachment:fixed}
.workspace,main,.study-layout,.modal-body,.topic-copy{min-width:0;max-width:100%}dialog{overflow-x:hidden;touch-action:pan-y}button,a,input,select,textarea{touch-action:pan-y}input,select,textarea{font-size:max(16px,1rem)}.table-wrap{overflow-x:clip}.legal-tabs{flex-wrap:wrap;overflow:visible}.legal-tabs button{white-space:normal;flex:1;min-width:88px}
h1{font-size:2rem;letter-spacing:-.035em;font-weight:700}h2,h3{letter-spacing:-.025em}.page-heading{margin-bottom:20px}.page-heading p{font-size:.82rem}.page-heading>.heading-icon{box-shadow:inset 0 1px 1px var(--shine),inset 0 -3px 8px var(--lower),0 8px 16px -9px var(--shade);background:linear-gradient(145deg,var(--surface),var(--surface2))}.stats-inline{margin-top:14px}.stats-inline b{font-variant-numeric:tabular-nums}
.brand-symbol{object-fit:cover;border-radius:12px;padding:0;width:42px;height:42px;box-shadow:0 3px 7px var(--shade)}.mobile-app-icon{border-radius:10px;object-fit:cover;box-shadow:0 2px 6px var(--shade);flex-shrink:0}.topbar{box-shadow:inset 0 -1px 0 var(--shine)}.sidebar{background:linear-gradient(170deg,var(--surface),var(--bg));box-shadow:inset -1px 0 0 var(--shine)}.side-tab.active{background:linear-gradient(145deg,var(--surface),var(--tint));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 5px 14px -10px var(--shade)}
.search-field{background:var(--surface2);box-shadow:inset 2px 3px 6px var(--lower),inset -1px -1px 2px var(--shine),0 1px 0 var(--shine);border-radius:20px}.search-field input{box-shadow:none;background:transparent}.search-field:focus-within{box-shadow:inset 2px 3px 6px var(--lower),0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}input,select,textarea{box-shadow:inset 1px 2px 5px var(--lower),inset -1px -1px 1px var(--shine)}input[type=checkbox]{box-shadow:none}
.icon-button,.account-button{background:linear-gradient(145deg,var(--surface),var(--surface2));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 4px 10px -7px var(--shade);transition:transform .38s var(--ease),box-shadow .3s var(--ease)}.icon-button:active,.account-button:active{transform:scale(.94);box-shadow:inset 1px 2px 4px var(--lower),inset -1px -1px 1px var(--shine)}.account-button.has-pro{color:#996619;box-shadow:inset 0 1px 1px #fff8,0 0 0 1px var(--gold2);background:linear-gradient(145deg,var(--gold1),var(--gold2))}
.library-shortcuts{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:-1px 0 23px}.library-shortcuts .chip{display:flex;align-items:center;gap:7px;font-size:.75rem;min-height:40px}.library-shortcuts .chip svg{width:17px;height:17px}.chip{background:linear-gradient(145deg,var(--surface),var(--surface2));border:0;box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 4px 9px -7px var(--shade)}.chip.selected{background:linear-gradient(140deg,var(--accent),var(--accent2));color:var(--on-accent)}
.pro-chip,.side-pro{background:linear-gradient(145deg,var(--gold1),var(--gold2));color:#674815;box-shadow:inset 0 1px 1px #fff9,inset 0 -2px 4px #7c552d33,0 7px 17px -11px #92704155}.side-pro small{color:#775b2b}.side-pro>svg:first-child{color:#9c6d22}
.topic-grid{gap:13px}.topic{position:relative;min-height:90px;padding:18px 20px;border-radius:22px;background:linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--surface) 86%,var(--tint)));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 6px var(--lower),0 8px 19px -13px var(--shade)}.topic:hover{box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 6px var(--lower),0 10px 20px -11px var(--shade)}.topic:active{transform:scale(.985);box-shadow:inset 1px 3px 6px var(--lower),inset -1px -1px 2px var(--shine)}.topic-icon,.topic-icon.featured{width:44px;height:44px;border-radius:15px;color:var(--accent);background:linear-gradient(145deg,var(--tint),var(--surface2));box-shadow:inset 0 1px 1px var(--shine),inset 0 -3px 6px var(--lower),0 4px 8px -6px var(--shade)}.topic-icon svg{filter:drop-shadow(0 1px 0 var(--shine))}.topic-name{font-size:.94rem;font-weight:600}.topic-meta{font-size:.7rem}.topic-pro{background:linear-gradient(160deg,var(--gold1),var(--gold2));color:#78501b;border-radius:5px;padding:2px 4px;box-shadow:inset 0 1px 0 #fff9,inset 0 -1px 2px #70501444;font-size:.55rem}
.group{box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 5px var(--lower),0 7px 18px -13px var(--shade);background:linear-gradient(160deg,var(--surface),color-mix(in srgb,var(--surface) 84%,var(--bg)));border-radius:23px}.group>summary{background:linear-gradient(130deg,var(--accent),var(--accent2));color:var(--on-accent);font-weight:600;font-size:.95rem;padding:18px 20px;box-shadow:inset 0 1px 1px #fff4,inset 0 -1px 3px #092b461f}.group>summary small{color:inherit;opacity:.8}.group>summary svg{color:inherit}.group[open]>summary{margin-bottom:8px}.drug-cloud{display:flex;flex-wrap:wrap;gap:9px;padding:11px 17px 20px;min-width:0}.drug-tag{max-width:100%;min-height:44px;text-align:left;padding:9px 14px;border-radius:16px;display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:500;overflow-wrap:anywhere;background:linear-gradient(155deg,var(--surface),var(--tint));color:var(--ink);box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 3px 7px -5px var(--shade);transition:transform .32s var(--ease),box-shadow .3s var(--ease)}.drug-tag svg{width:14px;height:14px;color:var(--accent)}.drug-tag:active{transform:scale(.96);box-shadow:inset 1px 2px 5px var(--lower)}.drug-tag.is-known{background:var(--tint)}.mechanism{padding:0 18px}.mechanism>summary{min-height:44px;padding:8px 0;display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--accent);list-style:none;cursor:pointer}.mechanism>summary::-webkit-details-marker{display:none}.mechanism>summary svg{width:16px;height:16px}.mechanism p{font-size:.81rem;line-height:1.7;background:var(--surface2);box-shadow:inset 1px 2px 4px var(--lower),0 1px 0 var(--shine);border-radius:15px;padding:13px 15px;margin:0 0 8px}
.btn{background:linear-gradient(125deg,var(--accent),var(--accent2));box-shadow:inset 0 1px 1px #fff5,inset 0 -3px 6px #06365830,0 9px 18px -12px var(--accent);font-weight:600}.btn:active{transform:scale(.97);box-shadow:inset 0 3px 6px #06365830}.btn.soft{background:linear-gradient(145deg,var(--surface),var(--tint));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower)}.btn.secondary{background:transparent;box-shadow:inset 0 1px 0 var(--shine),0 3px 8px -6px var(--shade)}.segmented,.auth-tabs{box-shadow:inset 1px 2px 5px var(--lower),0 1px 0 var(--shine);padding:5px}.segmented .selected,.auth-tabs .selected{background:linear-gradient(145deg,var(--surface),var(--tint));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 3px var(--lower),0 3px 7px -4px var(--shade);font-weight:600}
dialog{background:linear-gradient(165deg,var(--surface),var(--bg));box-shadow:inset 0 1px 1px var(--shine),0 25px 95px #0004}.modal-header{background:var(--glass)}.drug-title h2{font-size:1.75rem}.field-block{padding:17px 0}.field-heading{color:var(--accent)}.field-heading svg{filter:drop-shadow(0 1px 0 var(--shine))}.field-block p{font-size:.91rem;line-height:1.7}.notice,.recipe-formula,.payment-details{background:linear-gradient(150deg,var(--surface2),color-mix(in srgb,var(--surface2) 75%,var(--surface)));box-shadow:inset 1px 2px 5px var(--lower),inset -1px -1px 2px var(--shine)}.recipe-card{background:linear-gradient(155deg,var(--surface),color-mix(in srgb,var(--tint) 50%,var(--surface)));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 5px var(--lower),0 8px 20px -14px var(--shade)}.rx{color:var(--accent);text-shadow:0 1px 0 var(--shine),0 -1px 0 var(--lower);font-size:1.7rem}.plan{border:0;box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower);background:var(--surface2)}.plan.selected{border:0;background:linear-gradient(145deg,var(--surface),var(--tint));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 0 0 2px var(--accent)}
/* Font controls replace the former animation toggle. */
.font-settings{padding:22px 0 18px;border-top:1px solid var(--line)}.font-settings h3{font-size:.9rem;margin-bottom:16px}.font-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.font-option{min-height:105px;padding:12px 5px;border-radius:18px;background:var(--surface2);display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:inset 1px 2px 4px var(--lower),inset -1px -1px 1px var(--shine);font-size:.7rem}.font-option.selected{background:linear-gradient(145deg,var(--surface),var(--tint));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 0 0 2px var(--accent);color:var(--accent)}.font-sample{display:grid;place-items:center;height:33px;font-family:Georgia,serif;line-height:1}.sample-small{font-size:19px}.sample-medium{font-size:25px}.sample-large{font-size:31px}.font-option small{font-size:.53rem;opacity:.8}.font-preview{padding:14px 3px 0;font-size:.86rem;color:var(--muted)}.preview-dark{background:#101b2a}.preview-dark::before{background:#29425d}.preview-dark::after{background:#71c4ef}.preview-pink{background:#f6e9f0}.preview-pink::after{background:#b65787}.preview-system{background:linear-gradient(90deg,#eaf2f9 50%,#101b2a 50%)}
/* Two real faces stay mounted; the inner object rotates in 3D. */
.study-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.study-selects label{min-width:0;font-size:.69rem;color:var(--muted)}.study-selects select{margin-top:7px;font-size:16px;background:var(--surface);padding-right:25px}.study-modes button{font-size:.75rem}.study-progress{align-items:center;margin:17px 0 9px}.study-progress>div{display:flex;gap:7px}.study-progress .icon-button{width:36px;min-width:44px;height:36px;box-shadow:none;background:transparent}.study-progress .icon-button svg{width:18px;height:18px}.progress-track{height:6px;box-shadow:inset 0 2px 3px var(--lower);margin-bottom:19px}.progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:inset 0 1px 1px #fff6}
.flashcard{position:relative;width:100%;height:clamp(370px,51dvh,470px);min-height:370px;padding:0;border:0;background:none;box-shadow:none;border-radius:28px;perspective:1400px;cursor:pointer;text-align:left;touch-action:pan-y;outline-offset:7px}.flash-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s var(--ease);will-change:transform}.flashcard.is-flipped .flash-inner{transform:rotateY(180deg)}.flash-face{position:absolute;inset:0;border-radius:28px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 0 2px 2px var(--shine),inset 0 -5px 11px var(--lower),0 18px 32px -20px var(--shade),0 2px 7px -3px var(--shade)}.flash-front{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:20px;padding:32px 24px;background:radial-gradient(ellipse at 10% 0%,var(--shine),transparent 70%),linear-gradient(145deg,var(--surface),var(--tint));transform:translateZ(.1px)}.flash-front::before{content:'';position:absolute;inset:13px;border-radius:19px;box-shadow:inset 0 1px 0 var(--lower),0 1px 0 var(--shine);border:1px solid var(--line);pointer-events:none}.flash-category{font-size:.64rem;max-width:95%;padding:5px 12px;border-radius:999px;background:var(--surface2);color:var(--accent);box-shadow:inset 0 1px 3px var(--lower),0 1px 0 var(--shine);line-height:1.4}.flash-stamp{width:67px;height:67px;border-radius:23px;display:grid;place-items:center;background:linear-gradient(145deg,var(--tint),var(--surface2));color:var(--accent);box-shadow:inset 2px 3px 5px var(--lower),inset -1px -1px 3px var(--shine)}.flash-stamp svg{width:35px;height:35px;filter:drop-shadow(0 1px 0 var(--shine));stroke-width:1.3}.flash-front h2{font-size:1.85rem;line-height:1.13;overflow-wrap:anywhere;max-width:100%;text-shadow:0 1px 0 var(--shine)}.flash-hint{font-size:.68rem;color:var(--muted);text-align:center;max-width:28ch;line-height:1.6}.flash-corner{position:absolute;bottom:23px;right:24px;color:var(--accent);opacity:.65}.flash-corner svg{width:17px;height:17px}.flash-back{background:linear-gradient(155deg,var(--surface),var(--bg));transform:rotateY(180deg) translateZ(.1px);padding:0;overflow:hidden}.flash-answer-scroll{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding:25px 25px 24px;touch-action:pan-y}.flash-back .flash-category{display:inline-block;margin-bottom:12px}.flash-back h3{font-size:1.35rem;margin-bottom:17px;color:var(--accent)}.flash-answer-section{padding:13px 0;border-top:1px solid var(--line)}.flash-answer-section h4{font-size:.78rem;margin:0 0 8px;color:var(--accent);font-weight:600}.flash-answer-section p{font-size:.85rem;line-height:1.7;overflow-wrap:anywhere}.flash-back .flash-hint{margin:15px auto 0}.card-arrive{animation:card-arrive .45s var(--ease)}@keyframes card-arrive{from{transform:translateY(12px) scale(.98)}to{transform:none}}.study-actions{align-items:center;margin-top:22px}.study-actions>.icon-button{flex:0 0 44px;height:44px}.study-actions>.btn{flex:1}.study-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:22px}.rate-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:67px;border-radius:19px;padding:10px 5px;box-shadow:inset 0 1px 1px var(--shine),inset 0 -3px 5px var(--lower),0 6px 12px -9px var(--shade);transition:transform .25s var(--ease)}.rate-btn:active{transform:scale(.94)}.rate-btn b{font-size:.86rem}.rate-btn small{font-size:.55rem;line-height:1.4}.rate-hard{color:#944c5f;background:linear-gradient(145deg,#ffe8ed,#f2cfda)}.rate-good{color:var(--ink);background:linear-gradient(145deg,var(--surface),var(--surface2))}.rate-easy{color:var(--on-accent);background:linear-gradient(135deg,var(--accent),var(--accent2))}[data-theme=dark] .rate-hard{background:linear-gradient(145deg,#553848,#352c3e);color:#e4afbe}.study-footnote{margin-top:14px}.study-complete{text-align:center;padding:45px 15px}.study-complete h2{margin:24px 0 12px}.study-complete p{font-size:.88rem;color:var(--muted)}.complete-medal{margin:auto;width:78px;height:78px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(145deg,var(--surface),var(--tint));color:var(--accent);box-shadow:inset 0 2px 2px var(--shine),inset 0 -3px 6px var(--lower),0 13px 28px -15px var(--shade)}.complete-medal svg{width:36px;height:36px}.deck-list .drug-row .pill{flex:0 0 auto;font-size:.6rem}.deck-list .drug-row>span:first-child{flex:1}
/* Compact lens: enlarges on touch, with a subtle chromatic rim and rounded refraction. */
@media(max-width:760px){
 .topbar{padding-left:18px;padding-right:18px;height:calc(66px + env(safe-area-inset-top))}.mobile-brand{font-size:1.17rem;gap:10px}.header-actions .icon-button{background:linear-gradient(145deg,var(--surface),var(--surface2))}.header-actions{gap:8px}#main{padding:23px 18px 18px}h1{font-size:1.8rem}.page-heading p{font-size:.76rem;line-height:1.55}.stats-inline{font-size:.66rem}.topic{padding:15px 16px;min-height:82px}.topic-name{font-size:.87rem}.topic-meta{font-size:.67rem}.topic-icon{width:42px;height:42px}.library-shortcuts{margin-bottom:22px}.group summary{font-size:.88rem}.drug-cloud{gap:8px;padding:10px 15px 17px}.drug-tag{font-size:.79rem;padding:8px 12px}.modal-body{padding-left:21px;padding-right:21px}.drug-title h2{font-size:1.58rem}.page-footer{padding-bottom:calc(102px + env(safe-area-inset-bottom))}.study-selects{grid-template-columns:1fr;gap:10px}.study-selects label{display:flex;align-items:center;gap:10px}.study-selects select{margin:0;flex:1;min-width:0}.study-selects label{font-size:.68rem}.flashcard{height:clamp(370px,49dvh,440px)}.flash-front{padding:25px 23px;gap:19px}.flash-front h2{font-size:1.65rem}.flash-answer-scroll{padding:22px}.study-ratings{gap:8px}.coming h2{font-size:1.75rem}
 .dock{display:flex;position:fixed;left:50%;right:auto;bottom:calc(11px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(326px,calc(100% - 28px));height:58px;padding:5px;gap:2px;border-radius:999px;z-index:20;background:linear-gradient(140deg,color-mix(in srgb,var(--glass) 80%,var(--shine)),var(--glass));backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -1px 2px var(--lower),0 7px 25px var(--shade);isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overflow:visible}
 .dock::before{content:none}.dock-tab{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;flex:0 1 48px;min-width:40px;min-height:48px;padding:0 10px;border-radius:999px;color:var(--muted);white-space:nowrap;transition:flex-basis .48s var(--ease),flex-grow .48s var(--ease),color .24s var(--ease),transform .32s var(--ease);touch-action:none}
 .dock-tab svg{width:22px;height:22px;transition:transform .32s var(--ease),filter .32s var(--ease);flex-shrink:0}.dock-tab>span{font-size:11px;max-width:0;overflow:hidden;opacity:0;transition:max-width .48s var(--ease),opacity .2s var(--ease),margin-left .4s var(--ease)}.dock-tab.active{flex:1 1 142px;color:var(--accent);font-weight:600}.dock-tab.active>span{max-width:110px;opacity:1;margin-left:7px}.dock-tab.active svg{stroke-width:2.25}
 .dock-indicator{position:absolute;left:0;top:5px;height:48px;width:var(--lens-width,142px);transform:translateX(var(--lens-x,5px));border-radius:999px;z-index:-1;background:radial-gradient(ellipse at 50% 0%,var(--shine),transparent 80%),linear-gradient(160deg,color-mix(in srgb,var(--surface) 75%,transparent),color-mix(in srgb,var(--tint) 65%,transparent));box-shadow:inset 0 1px 1px var(--shine),inset 0 -1px 3px var(--lower),0 3px 8px var(--shade);transform-origin:center;transition:transform .18s var(--ease),width .18s var(--ease),box-shadow .3s var(--ease);pointer-events:none;backdrop-filter:blur(6px) saturate(170%);-webkit-backdrop-filter:blur(6px) saturate(170%)}
 .dock.touching .dock-indicator{transform:translateX(var(--lens-x,5px)) scale(1.065,1.16);box-shadow:inset 0 2px 3px var(--shine),inset 0 -2px 5px var(--lower),0 7px 20px var(--shade);background:radial-gradient(ellipse at var(--glass-touch,50%) 0%,var(--shine),transparent 55%),linear-gradient(150deg,var(--glass),color-mix(in srgb,var(--surface) 38%,transparent))}.dock.dragging .dock-indicator{transition:width .16s var(--ease),box-shadow .3s var(--ease)}
 .dock-indicator::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.1px;background:conic-gradient(from 35deg at var(--glass-touch,50%) 50%,#fff9,#8ce6ff75,#d6adf455,#fff9,#ffc2d24d,#86deeb70,#fff9);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;opacity:.35;transition:opacity .28s var(--ease)}.dock.touching .dock-indicator::after{opacity:1;padding:1.4px}.dock.touching .dock-tab.active svg,.dock-preview svg{transform:scale(1.11);filter:drop-shadow(.5px 0 .1px #e59db455) drop-shadow(-.5px 0 .1px #6de6ff66)}.dock.touching .dock-tab.active>span{text-shadow:.4px 0 #ef98c540,-.4px 0 #64d6f740}.dock .dock-preview{color:var(--accent)}#toast{bottom:calc(86px + env(safe-area-inset-bottom))}
 .admin-table{display:block}.admin-table thead{display:none}.admin-table tbody{display:block}.admin-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px 13px;border-bottom:1px solid var(--line)}.admin-table td{white-space:normal;border:0;padding:4px 0;min-width:0}.admin-table td:first-child{grid-column:1/-1}.admin-table td:nth-child(2){color:var(--muted);font-size:.72rem;align-self:center}.admin-table td small{max-width:100%;overflow-wrap:anywhere}.admin-table td:nth-child(3){text-align:right}.plan-edit-grid{min-width:0}
}
@media(max-width:360px){.dock{left:50%;right:auto;width:calc(100% - 22px)}.dock-tab{flex-basis:43px;padding:0 8px}.dock-tab.active{flex-basis:132px}.dock-tab>span{font-size:10px}.dock-tab.active>span{margin-left:5px}.mobile-brand{font-size:1.06rem}.mobile-app-icon{width:28px;height:28px}.font-options{gap:7px}}
/* PRO unlock: a sculpted gold seal, concentric light and finite particles. */
dialog.pro-celebration{position:fixed;inset:0;margin:auto;width:min(410px,calc(100% - 32px));max-height:calc(100dvh - 40px);border-radius:34px;padding:48px 28px 28px;text-align:center;overflow-x:hidden;overflow-y:auto;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--gold2) 24%,var(--surface)),transparent 65%),var(--surface);box-shadow:inset 0 1.5px 1px var(--shine),0 28px 100px #0005}.pro-celebration::backdrop{background:#08121d99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pro-celebration[open]{animation:pro-reveal .65s var(--ease)}.celebration-close{position:absolute;right:14px;top:14px;z-index:5;width:38px;min-width:44px;height:44px}.celebration-close svg{width:18px}.pro-medal{position:relative;margin:4px auto 34px;width:118px;height:132px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border-radius:37px;background:linear-gradient(150deg,#fff7d7 3%,#ebc977 37%,#ba8832 78%,#f5d786);color:#72501b;box-shadow:inset 0 3px 3px #fff9,inset 0 -5px 9px #66461977,inset 0 0 0 2px #fbe7bdaa,0 15px 32px -10px #ad762c66;transform:rotate(-7deg);animation:medal-arrive 1.1s var(--ease);z-index:2}.pro-medal::after{content:'';position:absolute;inset:8px;border-radius:30px;box-shadow:inset 0 1px 2px #775b3766,0 1px 1px #fff8;pointer-events:none}.pro-medal svg{width:43px;height:43px;stroke-width:1.6;filter:drop-shadow(0 1px 0 #ffefc7)}.pro-medal>span{font-size:1.25rem;font-weight:800;text-shadow:0 1px 0 #fff6,0 -1px 1px #724d2244}.pro-reveal-copy{position:relative;z-index:3;animation:copy-reveal .8s var(--ease) .22s both}.celebration-eyebrow{color:var(--muted);font-size:.75rem;margin-bottom:10px}.pro-reveal-copy h2{font-size:1.9rem;line-height:1.13;margin-bottom:14px}.pro-reveal-copy>p:not(.celebration-eyebrow){font-size:.88rem;color:var(--muted);line-height:1.7}.pro-until{display:inline-block;margin:20px 0 25px;padding:7px 13px;border-radius:999px;background:var(--surface2);box-shadow:inset 0 1px 3px var(--lower),0 1px 0 var(--shine);font-size:.7rem}.pro-reveal-copy .btn{background:linear-gradient(130deg,#f1d492,#d3a447);color:#60451c;box-shadow:inset 0 1px 1px #fff9,inset 0 -2px 5px #91662b55,0 8px 17px -11px #94672155}.pro-orbit{position:absolute;left:50%;top:118px;pointer-events:none}.pro-orbit span{position:absolute;left:0;top:0;width:120px;height:120px;margin:-60px;border:1px solid #e3bd6970;border-radius:50%;animation:pro-ring 2.3s var(--ease) both}.pro-orbit span:nth-child(2){animation-delay:.2s}.pro-orbit span:nth-child(3){animation-delay:.4s}.pro-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}.pro-particle{position:absolute;left:var(--px);top:12%;width:var(--ps);height:var(--ps);border-radius:2px;background:var(--pc);animation:pro-particle 2.6s var(--ease) var(--pd) both;opacity:0}@keyframes pro-reveal{from{opacity:0;transform:translateY(25px) scale(.92)}to{opacity:1;transform:none}}@keyframes medal-arrive{0%{opacity:0;transform:perspective(650px) rotateY(-90deg) rotate(-14deg) scale(.65)}65%{opacity:1;transform:perspective(650px) rotateY(12deg) rotate(-4deg) scale(1.04)}100%{opacity:1;transform:perspective(650px) rotateY(0) rotate(-7deg) scale(1)}}@keyframes copy-reveal{from{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes pro-ring{from{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(3.1)}}@keyframes pro-particle{0%{opacity:0;transform:translateY(-20px) rotate(0)}15%{opacity:1}70%{opacity:.8}100%{opacity:0;transform:translateY(400px) rotate(260deg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.pro-particles,.pro-orbit{display:none}}
.particle-0{--px:1%;--ps:3px;--pd:0.00s;--pc:#e3bf70}
.particle-1{--px:38%;--ps:4px;--pd:0.08s;--pc:#78bdde}
.particle-2{--px:75%;--ps:5px;--pd:0.16s;--pc:#e8cc97}
.particle-3{--px:15%;--ps:6px;--pd:0.24s;--pc:#e3bf70}
.particle-4{--px:52%;--ps:3px;--pd:0.32s;--pc:#78bdde}
.particle-5{--px:89%;--ps:4px;--pd:0.40s;--pc:#e8cc97}
.particle-6{--px:29%;--ps:5px;--pd:0.00s;--pc:#e3bf70}
.particle-7{--px:66%;--ps:6px;--pd:0.08s;--pc:#78bdde}
.particle-8{--px:6%;--ps:3px;--pd:0.16s;--pc:#e8cc97}
.particle-9{--px:43%;--ps:4px;--pd:0.24s;--pc:#e3bf70}
.particle-10{--px:80%;--ps:5px;--pd:0.32s;--pc:#78bdde}
.particle-11{--px:20%;--ps:6px;--pd:0.40s;--pc:#e8cc97}
.particle-12{--px:57%;--ps:3px;--pd:0.00s;--pc:#e3bf70}
.particle-13{--px:94%;--ps:4px;--pd:0.08s;--pc:#78bdde}
.particle-14{--px:34%;--ps:5px;--pd:0.16s;--pc:#e8cc97}
.particle-15{--px:71%;--ps:6px;--pd:0.24s;--pc:#e3bf70}
.particle-16{--px:11%;--ps:3px;--pd:0.32s;--pc:#78bdde}
.particle-17{--px:48%;--ps:4px;--pd:0.40s;--pc:#e8cc97}
.particle-18{--px:85%;--ps:5px;--pd:0.00s;--pc:#e3bf70}
.particle-19{--px:25%;--ps:6px;--pd:0.08s;--pc:#78bdde}
.particle-20{--px:62%;--ps:3px;--pd:0.16s;--pc:#e8cc97}
.particle-21{--px:2%;--ps:4px;--pd:0.24s;--pc:#e3bf70}
.particle-22{--px:39%;--ps:5px;--pd:0.32s;--pc:#78bdde}
.particle-23{--px:76%;--ps:6px;--pd:0.40s;--pc:#e8cc97}

/* Long names remain readable at every supported text size. */
.flash-front{overflow-y:auto;overscroll-behavior-y:contain}.flash-front>*{flex-shrink:0}[data-font=large] .flashcard{height:clamp(440px,58dvh,540px)}

/* 4.2 / Learning workspace. Color carries state; depth carries interaction. */
:root{--bg:#edf1f5;--surface:#fafcff;--surface2:#e3eaf1;--ink:#23374b;--accent:#157bd6;--accent2:#4daed5;--tint:#ddecf8;--glass:rgba(248,251,255,.79)}
[data-theme=dark]{--bg:#101722;--surface:#1c293a;--surface2:#152130;--ink:#e9f1f8;--accent:#79c6f3;--accent2:#559ddd;--tint:#263e56;--glass:rgba(25,38,55,.82)}
[data-theme=pink]{--bg:#f3eaf0;--surface:#fff8fb;--surface2:#ecdee7;--ink:#583e51;--accent:#af4c7d;--accent2:#cb80a2;--tint:#f1dce7;--glass:rgba(255,246,251,.82)}
.sidebar{background:linear-gradient(160deg,var(--surface),var(--bg));box-shadow:inset -1px 0 var(--shine),5px 0 25px -20px var(--shade)}
.side-tab{transition:background .28s var(--ease),transform .42s var(--ease),box-shadow .42s var(--ease)}.side-tab.active{box-shadow:inset 0 1px 1px var(--shine),inset 0 -1px 3px var(--lower),0 5px 15px -10px var(--shade)}
.topbar{box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--line) 70%,transparent)}
.topic-tail{display:flex;gap:6px;align-items:center;flex-shrink:0}.topic-tail svg{width:17px}.topic-completion{font-size:.64rem;color:var(--accent);font-variant-numeric:tabular-nums}.topic-copy{min-width:0}.topic-name{overflow-wrap:anywhere}.topic{transition:transform .48s var(--ease),box-shadow .5s var(--ease)}
.topic.is-pressed,.btn.is-pressed,.drug-tag.is-pressed,.chip.is-pressed,.icon-button.is-pressed{transform:scale(.97);box-shadow:inset 0 2px 7px var(--lower),0 1px 0 var(--shine)}
.learning-home{margin:8px 0 28px;padding:20px 24px 0;border-radius:28px;overflow:hidden;background:radial-gradient(ellipse at 0% 0%,var(--shine),transparent 60%),linear-gradient(120deg,var(--surface),var(--tint));box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -1px 2px var(--lower),0 15px 30px -25px var(--shade)}
.learning-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.72rem;color:var(--muted)}.learning-heading>.text-button{font-size:.68rem}.learning-heading svg{width:16px;height:16px}
.learning-body{display:flex;gap:30px;align-items:center;padding:21px 0 29px}.learning-copy{flex:1;min-width:0}.learning-copy h2{font-size:1.5rem;line-height:1.16;font-weight:600;max-width:26ch}.learning-copy p{font-size:.8rem;line-height:1.65;max-width:49ch;margin:11px 0 18px;color:var(--muted)}.learning-copy .btn{gap:18px;font-size:.78rem;min-height:44px}.learning-copy .btn svg{width:18px}
.goal-orbit{position:relative;width:116px;height:116px;flex:0 0 116px;filter:drop-shadow(0 1px 0 var(--shine))}.goal-orbit>svg{width:100%;height:100%;transform:rotate(-90deg)}.goal-orbit circle{fill:none;stroke-width:7}.orbit-track{stroke:var(--lower)}.orbit-value{stroke:var(--accent);stroke-linecap:round;animation:orbit-fill 1.2s var(--ease) both}.goal-orbit>span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-orbit b{font-size:2.1rem;line-height:1.15;font-weight:500;letter-spacing:-.07em;color:var(--accent)}.goal-orbit small{font-size:.67rem;color:var(--muted)}
@keyframes orbit-fill{from{stroke-dasharray:0 264}}
.recent-reading{width:calc(100% + 48px);margin-left:-24px;padding:15px 24px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 45%,transparent);text-align:left;color:var(--muted)}.recent-reading>span{flex:1;font-size:.62rem}.recent-reading b{display:block;color:var(--ink);font-weight:500;font-size:.8rem;margin-top:2px;overflow-wrap:anywhere}.recent-reading>svg{width:19px;color:var(--accent)}
.study-session-bar{display:flex;justify-content:space-between;gap:12px;margin:0 0 18px}.study-session-bar .text-button{font-size:.73rem}.study-session-bar svg{width:17px}
.session-size{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.7rem;color:var(--muted);margin:14px 0 23px}.session-size>div{display:flex;padding:3px;border-radius:999px;background:var(--surface2);box-shadow:inset 0 1px 3px var(--lower),0 1px 0 var(--shine)}.session-size button{font-size:.72rem;min-width:44px;min-height:38px;padding:4px 12px;border-radius:999px;transition:background .3s var(--ease),box-shadow .4s var(--ease)}.session-size button.selected{color:var(--accent);background:var(--surface);box-shadow:0 2px 5px var(--shade),inset 0 1px 0 var(--shine)}
.flashcard{height:clamp(450px,58dvh,530px)}.flash-front{gap:16px;background:radial-gradient(ellipse at var(--shine-x,12%) var(--shine-y,0%),var(--shine),transparent 62%),linear-gradient(145deg,var(--surface),var(--tint))}.flash-stamp{width:60px;height:60px;transform:rotate(-7deg)}.flash-stamp>svg{transform:rotate(7deg)}.flash-category{border:0}.flash-front h2{font-size:1.7rem;max-width:25ch}.card-hint-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--accent);font-size:.68rem;box-shadow:inset 0 1px 0 var(--shine)}.card-hint-button svg{width:15px;height:15px}.card-hint-copy{position:relative;max-width:46ch;font-size:.73rem;line-height:1.6;padding:12px 15px;background:var(--surface2);border-radius:14px;animation:hint-in .4s var(--ease)}
@keyframes hint-in{from{opacity:0;transform:translateY(-6px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
.study-progress>b,.study-progress b{font-size:1.12rem;color:var(--ink);font-variant-numeric:tabular-nums}.progress-track{height:5px;border-radius:999px;box-shadow:inset 0 1px 2px var(--lower)}.progress-fill{border-radius:999px;background:linear-gradient(90deg,var(--accent2),var(--accent));transition:width .6s var(--ease)}
.study-receipt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:0;font-size:.67rem;color:var(--muted)}.study-receipt:not(:empty){margin-top:12px;min-height:44px}.study-receipt>span{display:flex;align-items:center;gap:6px;flex:1}.study-receipt svg{width:16px;flex-shrink:0;color:var(--accent)}.study-receipt .text-button{font-size:.7rem}.study-footnote{display:flex;justify-content:center}
.session-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:29px auto 20px;max-width:420px;gap:12px}.session-results>div{display:flex;flex-direction:column;gap:5px}.session-results b{font-size:2.1rem;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}.session-results span{font-size:.72rem;color:var(--muted)}.session-time{font-size:.7rem!important;margin-bottom:24px}.study-complete .complete-medal{animation:seal-pop .8s var(--ease)}@keyframes seal-pop{from{opacity:0;transform:scale(.7) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.drug-index{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.drug-index .chip{font-size:.65rem;min-height:36px;padding:8px 12px}.field-block{scroll-margin-top:90px}.drug-neighbors{display:flex;align-items:center;justify-content:space-between;gap:7px;padding-top:20px;border-top:1px solid var(--line);margin-top:25px}.drug-neighbors .text-button{font-size:.68rem;gap:5px}.drug-neighbors svg{width:15px}.drug-neighbors>span{font-size:.65rem;color:var(--muted);white-space:nowrap}
.insights-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.insights-head h2{font-size:2.5rem;font-weight:500}.insights-head h2 small{font-size:.8rem;letter-spacing:0}.insights-head p{font-size:.77rem;margin-top:8px}.insight-seal,.notification-mark{width:62px;height:62px;border-radius:22px;background:linear-gradient(145deg,var(--surface),var(--tint));display:grid;place-items:center;color:var(--accent);box-shadow:inset 0 2px 1px var(--shine),inset 0 -3px 5px var(--lower),0 8px 18px -12px var(--shade)}
.week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:32px 0 28px}.week-day{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.67rem;color:var(--muted)}.week-day b{font-weight:500}.week-column{width:24px;height:110px}.week-column svg{width:100%;height:100%;overflow:visible}.week-column rect{fill:var(--surface2)}.week-day.today rect{fill:var(--accent)}.week-day.today>span{color:var(--accent);font-weight:600}.week-column{transform-origin:bottom;animation:chart-grow .8s var(--ease) both}.week-day:nth-child(2n) .week-column{animation-delay:.08s}.week-day:nth-child(3n) .week-column{animation-delay:.14s}@keyframes chart-grow{from{transform:scaleY(.05);opacity:.2}to{transform:scaleY(1);opacity:1}}
.insight-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:22px 0;border-top:1px solid var(--line);margin-bottom:16px}.insight-numbers>div{display:flex;flex-direction:column;gap:4px}.insight-numbers b{font-size:1.4rem;font-weight:500}.insight-numbers span{font-size:.67rem;color:var(--muted)}
.study-guide{display:grid;gap:25px;margin:8px 0 28px}.study-guide>div{display:flex;gap:16px}.study-guide>div>span{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:12px;background:var(--tint);color:var(--accent);box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 3px var(--lower)}.study-guide h3{margin:3px 0 8px}.study-guide p{font-size:.84rem;color:var(--muted);line-height:1.7}
.settings-link{width:100%;text-align:left}.notification-mark{margin-bottom:24px;width:74px;height:74px;border-radius:25px;animation:seal-pop .7s var(--ease)}.notification-mark>svg{width:30px;height:30px}.notification-description{font-size:.86rem;line-height:1.7;margin-top:14px}.notification-state{display:flex;align-items:center;gap:10px;padding:17px 0;margin:15px 0;font-size:.8rem}.notification-state>svg{color:var(--accent);width:19px}.install-steps{padding-left:23px;font-size:.87rem;line-height:1.75}.install-steps>li{padding:8px 0 8px 5px}
.sheet-dragging{transform:translateY(var(--sheet-drag,0))!important;transition:none!important}.sheet-handle{touch-action:none;cursor:grab}.sheet-handle:active{cursor:grabbing}
@media(hover:hover){.topic:hover{transform:translateY(-3px);box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 5px var(--lower),0 16px 23px -20px var(--shade)}.topic:hover .topic-tail>svg{transform:translateX(3px)}.topic-tail>svg{transition:transform .52s var(--ease)}.side-tab:hover{transform:translateX(3px)}.drug-tag:hover{transform:translateY(-2px)}.recent-reading:hover{background:var(--surface)}.card-hint-button:hover{box-shadow:inset 0 1px 0 var(--shine),0 5px 12px -8px var(--shade)}}
@media(min-width:1000px){.learning-body{gap:36px}.learning-home{padding-top:22px}.learning-copy h2{font-size:1.75rem;max-width:34ch}.learning-copy p{max-width:65ch}.learning-body .btn{margin-top:2px}.topic-grid{gap:13px 17px}}
@media(max-width:760px){.learning-home{padding:14px 17px 0;margin-bottom:26px;border-radius:24px}.learning-heading{font-size:.65rem}.learning-heading>.text-button{font-size:.62rem;gap:5px}.learning-heading svg{width:14px}.learning-body{gap:16px;padding:17px 0 24px}.goal-orbit{width:76px;height:76px;flex-basis:76px}.goal-orbit b{font-size:1.7rem}.goal-orbit small{font-size:.58rem}.learning-copy h2{font-size:1.17rem;line-height:1.2}.learning-copy p{font-size:.72rem;line-height:1.6;margin:10px 0 14px}.learning-copy .btn{font-size:.71rem;padding:10px 14px;gap:10px}.recent-reading{width:calc(100% + 34px);margin-left:-17px;padding:13px 17px}.flashcard{height:clamp(450px,58dvh,510px)}.flash-front{padding-top:25px;padding-bottom:25px;gap:15px}.flash-front h2{font-size:1.55rem}.flash-stamp{width:53px;height:53px;border-radius:18px}.flash-stamp>svg{width:28px;height:28px}.study-session-bar{margin-bottom:14px}.study-session-bar .text-button{font-size:.67rem}.session-size{margin-top:12px;margin-bottom:17px}.sheet-handle{height:27px;width:100%;margin:0;border-radius:0;background:none;position:relative}.sheet-handle::before{content:'';position:absolute;top:11px;left:calc(50% - 18px);width:36px;height:4px;border-radius:999px;background:var(--lower)}.modal-header{padding-top:0}.week-chart{gap:8px}.drug-index .chip{min-height:44px}.session-size button{min-height:44px}.card-hint-button{min-height:44px}.learning-home + #results{margin-top:8px}}
[data-font=large] .flashcard{height:clamp(530px,65dvh,610px)}
@media(max-width:360px){.learning-body{gap:12px}.goal-orbit{width:62px;height:62px;flex-basis:62px}.learning-copy h2{font-size:1.1rem}.learning-heading{flex-wrap:wrap}.drug-neighbors .text-button{font-size:.61rem}}
@media(prefers-reduced-motion:reduce){.orbit-value,.week-column,.complete-medal,.notification-mark{animation:none!important}}
.setup-main{max-width:720px;margin:0 auto;padding:40px 24px 70px}.setup-brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:1.3rem;font-weight:600;margin-bottom:35px}.setup-brand img{border-radius:14px}.setup-lead{margin-top:20px;color:var(--muted);font-size:.92rem;line-height:1.75}.setup-section{padding:25px;border-radius:24px;background:var(--surface);margin-top:24px;box-shadow:inset 0 1px 1px var(--shine),0 8px 25px -20px var(--shade)}.setup-section h2{font-size:1.25rem;margin-bottom:15px}.setup-section>p{font-size:.87rem;line-height:1.7;color:var(--muted);margin-bottom:18px}.setup-copy{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.setup-copy code{font-size:.8rem;flex:1}.setup-status{margin-top:16px;font-size:.87rem;line-height:1.6}.setup-main>.notice{margin-top:25px}

.flash-front{justify-content:safe center}

.setup-code{margin-top:20px;font-size:.8rem}.setup-code>summary{cursor:pointer;min-height:44px;color:var(--accent)}.setup-code p{margin:12px 0;line-height:1.65}.setup-code input{margin-top:12px;font-size:16px}
/* A quiet launch ritual, with the original icon and the user's palette. */
.launch-screen{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:var(--bg,#eef3f8);isolation:isolate;animation:launchFailsafe .01s 8s forwards;transition:opacity .55s ease,visibility .55s;touch-action:none}
.launch-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;animation:launchArrive .85s cubic-bezier(.16,1,.3,1) both}
.launch-halo{position:absolute;width:min(86vw,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent,#1688ef) 19%,transparent),transparent 67%);animation:launchBreathe 3s ease-in-out infinite;pointer-events:none}
.launch-icon{position:relative;padding:9px;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.06));box-shadow:0 22px 50px color-mix(in srgb,var(--accent,#1688ef) 17%,transparent),inset 0 1px 1px #ffffffb0,inset 0 -2px 4px #183a6420;transform:rotate(-5deg);animation:launchSettle 1.15s cubic-bezier(.16,1,.3,1) both;overflow:hidden}
.launch-icon img{display:block;border-radius:27px;box-shadow:0 5px 12px #12335420}
.launch-icon>span{position:absolute;inset:-60%;background:linear-gradient(110deg,transparent 42%,#ffffff60 49%,transparent 56%);transform:translateX(-65%);animation:launchShine 1.8s .2s ease-in-out both;pointer-events:none}
.launch-wordmark{font-size:clamp(34px,9vw,45px);letter-spacing:-1.8px;line-height:1.2;font-weight:750;margin:30px 0 9px;color:var(--ink,#17283b);text-shadow:0 1px 0 #ffffff50}
.launch-wordmark span{font-weight:400;color:var(--accent,#1688ef)}
.launch-caption{margin:0;font-size:14px;letter-spacing:.1px;color:var(--muted,#6a7c90)}
.launch-progress{margin-top:30px;width:72px;height:3px;overflow:hidden;background:color-mix(in srgb,var(--accent,#1688ef) 12%,transparent);border-radius:4px}
.launch-progress i{display:block;width:45%;height:100%;border-radius:inherit;background:var(--accent,#1688ef);animation:launchProgress 1.1s ease-in-out infinite}
.launch-footnote{position:absolute;bottom:max(40px,env(safe-area-inset-bottom));font-size:12px;letter-spacing:.08em;color:var(--muted,#6a7c90)}
.launch-finished{opacity:0;visibility:hidden;pointer-events:none}.launch-finished .launch-content{transition:transform .55s ease;transform:translateY(-12px) scale(1.035)}
@keyframes launchArrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes launchSettle{from{transform:translateY(12px) rotate(-12deg) scale(.88)}to{transform:translateY(0) rotate(-5deg) scale(1)}}
@keyframes launchShine{to{transform:translateX(65%)}}
@keyframes launchBreathe{50%{transform:scale(1.13);opacity:.7}}
@keyframes launchProgress{from{transform:translateX(-110%)}to{transform:translateX(330%)}}
@keyframes launchFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
.reminder-settings{margin-top:20px;padding:6px 16px 16px;border:1px solid var(--line,#dce4ed);border-radius:22px;background:var(--surface,#ffffff70);box-shadow:inset 0 1px 0 #ffffff50}
.reminder-toggle{border:0;background:none;width:100%;text-align:left;padding:14px 0;gap:16px;color:inherit}.switch-track{flex:0 0 46px;width:46px;height:28px;border-radius:30px;padding:3px;background:#8795a04d;box-shadow:inset 0 1px 3px #00000018;transition:background .25s}.switch-track i{display:block;width:22px;height:22px;background:white;border-radius:50%;box-shadow:0 2px 4px #00000020;transition:transform .28s cubic-bezier(.2,.8,.2,1)}.switch-track.is-on{background:var(--accent,#1688ef)}.switch-track.is-on i{transform:translateX(18px)}
.reminder-time{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.reminder-time select{width:auto;min-width:100px;padding:9px 14px;border-radius:12px;border:1px solid var(--line,#dce4ed);background:var(--surface,#fff);color:inherit;font:inherit;font-size:16px}
@media(prefers-reduced-motion:reduce){.launch-content,.launch-icon,.launch-icon>span,.launch-halo,.launch-progress i{animation:none}.launch-screen,.launch-finished .launch-content,.switch-track,.switch-track i{transition:none}}


/* PharmApp 4.4 — native-feeling iOS chrome, stable rendering and PRO polish. */
:root{--chrome-solid:#edf5fb;--chrome-glass:rgba(237,245,251,.74);--danger:#b63f55}
[data-theme=dark]{--chrome-solid:#18283a;--chrome-glass:rgba(24,40,58,.76);--danger:#ff8093}
[data-theme=pink]{--chrome-solid:#faedf5;--chrome-glass:rgba(250,237,245,.76);--danger:#bd4661}
html{background:var(--chrome-solid)}
body{background-attachment:scroll}
.topbar{background:var(--chrome-glass);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--line) 70%,transparent);transform:translateZ(0);will-change:backdrop-filter}
.brand-title{display:inline-block}
.pro-active .brand-title{background:linear-gradient(105deg,#946425 0%,#e5c36b 24%,#c86a9c 48%,#5db8d0 70%,#e2bd63 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:pro-brand-flow 7s ease-in-out infinite}
.pro-active .mobile-app-icon{box-shadow:0 0 0 1px color-mix(in srgb,var(--gold2) 70%,transparent),0 5px 18px -10px var(--gold3)}
.pro-active .dock{box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -1px 2px var(--lower),0 7px 25px var(--shade),0 0 0 1px color-mix(in srgb,var(--gold2) 28%,transparent)}
.pro-active .dock-indicator::after{opacity:.55}
.side-pro.is-active{background:linear-gradient(135deg,#fff5cf,#e8ca7b 58%,#d7a94f);box-shadow:inset 0 1px 1px #fff9,0 8px 20px -14px #9b6d2a80}
@keyframes pro-brand-flow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}

/* Avoid repeated opacity/blur animations every time data is refreshed. Route motion is handled on the stable main container. */
.enter{animation:none!important;filter:none!important}
.topic:nth-child(n){animation-delay:0!important}

.theme-choice{position:relative}
.theme-label{display:flex;justify-content:center;align-items:center;gap:5px}
.theme-pro-badge{display:inline-flex;align-items:center;padding:2px 5px;border-radius:999px;background:linear-gradient(145deg,var(--gold1),var(--gold2));color:#76501d;font-size:.5rem;font-weight:700;line-height:1.2;box-shadow:inset 0 1px 0 #fff9}
.theme-choice.is-locked .theme-preview{filter:saturate(.76);opacity:.72}
.theme-choice.is-locked::after{content:'PRO';position:absolute;top:7px;right:7px;padding:3px 6px;border-radius:999px;background:linear-gradient(145deg,#fff4ca,#e6c36d);color:#76501d;font-size:.48rem;font-weight:800;letter-spacing:.04em;box-shadow:0 4px 10px -7px #714d1d}

.pro-owned{position:relative;padding-top:12px}
.pro-live-badge{display:inline-flex;margin:0 0 16px;padding:5px 9px;border-radius:999px;background:linear-gradient(145deg,var(--gold1),var(--gold2));color:#704c1c;font-size:.58rem;font-weight:800;letter-spacing:.08em;box-shadow:inset 0 1px 0 #fff9}
.pro-status-card{display:flex;align-items:center;gap:13px;padding:17px 18px;border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--gold1) 58%,var(--surface)),color-mix(in srgb,var(--gold2) 30%,var(--surface)));box-shadow:inset 0 1px 1px #fff8,inset 0 -2px 4px #8b653022;margin:22px 0}
.pro-status-card>svg{color:#9d6b1e}.pro-status-card>div{display:flex;flex-direction:column;gap:4px}.pro-status-card b{font-size:.9rem}.pro-status-card span{font-size:.7rem;color:var(--muted);line-height:1.5}

.admin-user-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:8px}
.manual-access{margin:22px 0;padding:18px;border-radius:22px;background:color-mix(in srgb,var(--surface2) 78%,transparent);box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower)}
.manual-access h3{margin-bottom:13px}.grant-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.grant-presets .chip{padding:8px 7px;min-width:0}
.compact-form{margin-top:16px}.admin-user-actions{margin-top:18px}.profile-options .danger-row{color:var(--danger)}.profile-options .danger-row svg{color:var(--danger)}
.btn.danger{background:var(--danger);color:#fff}.danger-confirm{text-align:center;padding:8px 0 4px}.danger-confirm>svg{width:38px;height:38px;color:var(--danger);margin-bottom:14px}.danger-confirm h2{margin-bottom:10px}.danger-confirm p{color:var(--muted);font-size:.82rem;line-height:1.65}


@media(max-width:760px){
 .workspace{padding-top:calc(68px + env(safe-area-inset-top))}
 .topbar{position:fixed;inset:0 0 auto 0;height:calc(68px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 21px 0;z-index:40;background:var(--chrome-glass);border:0;isolation:isolate}
 .topbar::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,color-mix(in srgb,var(--chrome-solid) 91%,transparent),color-mix(in srgb,var(--chrome-solid) 64%,transparent));pointer-events:none}
 .topbar::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:color-mix(in srgb,var(--line) 82%,transparent);opacity:.8;pointer-events:none}
 .mobile-brand{min-width:0}.mobile-brand .brand-title{white-space:nowrap}
 .dock{width:min(370px,calc(100% - 20px));height:60px;padding:5px;gap:1px;transform:translate3d(-50%,0,0);contain:layout paint style}
 .dock-tab{flex-basis:43px;min-width:38px;padding:0 8px;transition:flex-basis .34s var(--ease),flex-grow .34s var(--ease),color .2s ease,transform .22s var(--ease)}
 .dock-tab.active{flex-basis:126px}.dock-tab.active>span{max-width:92px}.dock-indicator{transition:transform .16s var(--ease),width .16s var(--ease),box-shadow .22s var(--ease)}
 .dock.dragging .dock-indicator{transition:width .12s var(--ease),box-shadow .22s var(--ease)}
 .grant-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){.dock{width:calc(100% - 14px)}.dock-tab{flex-basis:38px;padding:0 6px}.dock-tab.active{flex-basis:110px}.dock-tab.active>span{max-width:76px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.pro-active .brand-title{animation:none}}

/* The standalone status area is part of the header, including on a notched iPhone. */
@media(max-width:760px){
 .topbar::before{inset:0 0 auto;height:env(safe-area-inset-top);background:var(--chrome-solid);z-index:0}
}

/* An explicit fixed-size control: the generic settings-row span rule used to
   stretch the entire switch track across the row. */
.reminder-toggle{min-height:76px;align-items:center}
.reminder-toggle .reminder-copy{flex:1;min-width:0}
.reminder-toggle .reminder-control{flex:none;display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.reminder-toggle .reminder-value{flex:none;min-width:38px;text-align:right;color:var(--muted);font-size:12px;font-weight:600}
.reminder-toggle .switch-track{position:relative;display:block;flex:none;width:48px;height:29px;padding:0;background:var(--surface2);border:1px solid var(--line);box-shadow:inset 0 1px 3px var(--lower);transition:background .23s ease,border-color .23s ease}
.reminder-toggle .switch-track i{position:absolute;left:3px;top:2px;width:23px;height:23px;transition:transform .26s var(--ease);box-shadow:0 1px 4px #0003}
.reminder-toggle[aria-checked="true"] .switch-track{background:var(--accent);border-color:transparent}
.reminder-toggle[aria-checked="true"] .switch-track i{transform:translateX(18px)}
.reminder-toggle[aria-checked="true"] .reminder-value{color:var(--accent)}
.reminder-toggle:focus-visible{border-radius:12px;outline:2px solid var(--accent)}


/* iOS standalone back affordance: only this tiny layer follows the finger.
   The document itself never moves, avoiding WebKit blur/sticky-header compositing stalls. */
.edge-back-hint{display:none;position:fixed;left:max(5px,env(safe-area-inset-left));top:50%;z-index:90;width:42px;height:58px;margin-top:-29px;pointer-events:none;opacity:0;transform:translate3d(calc(-34px + var(--edge-p,0)*28px),0,0) scale(calc(.86 + var(--edge-p,0)*.14));transition:opacity .11s ease,transform .11s cubic-bezier(.22,1,.36,1);will-change:transform,opacity;contain:layout paint style}
.edge-back-hint span{position:absolute;inset:7px 0 7px 0;border-radius:999px;background:color-mix(in srgb,var(--chrome-solid) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:inset 0 1px 1px var(--shine),0 8px 22px -12px var(--shade)}
.edge-back-hint span::after{content:'';position:absolute;left:17px;top:18px;width:10px;height:10px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .12s ease}
.edge-back-hint.visible{display:block;opacity:calc(.45 + var(--edge-p,0)*.55)}
.edge-back-hint.ready span::after{transform:translateX(-3px) rotate(45deg)}
.edge-back-hint.committed{opacity:0;transform:translate3d(18px,0,0) scale(1.04)}
@media(prefers-reduced-motion:reduce){.edge-back-hint,.edge-back-hint span::after{transition:none}}

/* PharmApp 4.4.2 — tactile tariff slider */
.plan-slider{position:relative;isolation:isolate;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}
.plan-slider.touching{cursor:grabbing}
.plan-slider-lens{position:absolute;z-index:0;left:0;top:0;height:100%;width:calc((100% - 18px)/3);border-radius:19px;transform:translate3d(var(--plan-x,0px),0,0);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,var(--gold1)),color-mix(in srgb,var(--tint) 78%,var(--gold2)));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 5px var(--lower),0 0 0 2px var(--accent),0 9px 22px -18px var(--accent);transition:transform .34s cubic-bezier(.22,1,.36,1),width .34s cubic-bezier(.22,1,.36,1),box-shadow .25s ease;pointer-events:none;will-change:transform}
.plan-slider.dragging .plan-slider-lens{transition:box-shadow .18s ease;box-shadow:inset 0 1px 2px var(--shine),inset 0 -3px 6px var(--lower),0 0 0 2px color-mix(in srgb,var(--accent) 88%,white),0 13px 30px -18px var(--accent)}
.plan-slider .plan{position:relative;z-index:1;transition:transform .28s cubic-bezier(.22,1,.36,1),color .2s ease,opacity .2s ease,box-shadow .25s ease;background:var(--surface2)}
.plan-slider .plan.selected{background:transparent;box-shadow:none;transform:translate3d(0,-1px,0)}
.plan-slider.dragging .plan{transform:scale(.985)}
.plan-slider.dragging .plan.selected{transform:scale(1.015)}
.plan-swipe-hint{text-align:center;margin:9px 0 -7px;color:var(--muted);font-size:.62rem;letter-spacing:.01em}
@media(prefers-reduced-motion:reduce){.plan-slider-lens,.plan-slider .plan{transition:none}}

/* PharmApp 5.0.0 — clearer account management */
.admin-users-help{margin:12px 0 14px;color:var(--muted);font-size:.9rem;line-height:1.45}
.admin-profile-edit{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface) 88%,transparent)}
.admin-profile-edit h3,.manual-access h3{margin:0 0 12px}
.admin-table .text-button{white-space:nowrap}
.profile-options button:disabled{opacity:.45;pointer-events:none}
@media(max-width:720px){
 .admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}
 .admin-table tr{padding:16px 18px;border-bottom:1px solid var(--line)}
 .admin-table td{padding:3px 0;border:0}.admin-table td:last-child{padding-top:10px}
 .admin-table .text-button{min-height:42px;padding:8px 0;font-weight:750}
}

/* 5.0.0.2: one sheet animation, an independent scrolling body and stable headers. */
#modal{overflow:hidden;max-height:calc(var(--app-height,100dvh) - env(safe-area-inset-top) - 16px)}
#modal[open]{display:flex;flex-direction:column;animation:pharm-sheet-in .3s cubic-bezier(.22,1,.36,1) both}
#modal .sheet-handle,#modal .modal-header{flex:none}
#modal .modal-header{position:relative;top:auto;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}
#modal .modal-body{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch}
#modal::backdrop{background:rgba(8,18,29,.42);-webkit-backdrop-filter:none;backdrop-filter:none;animation:pharm-dim-in .3s ease both}
#modal.is-closing{pointer-events:none;animation:pharm-sheet-out .28s cubic-bezier(.4,0,.6,1) both}
#modal.is-closing::backdrop{animation:pharm-dim-out .28s ease both}
#modal .legal-reader-head{position:sticky;top:-4px;z-index:3;padding:6px 0 14px;background:var(--surface);border-bottom:1px solid var(--line)}
#modal .legal-reader-head h2{font-size:1.08rem;line-height:1.35;letter-spacing:-.02em;margin:12px 0 0;text-wrap:wrap}
#modal .legal-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;overflow:visible}
#modal .legal-tabs button{min-width:0;min-height:42px;padding:8px 5px;font-size:.73rem;white-space:normal;overflow-wrap:anywhere}
#modal .sheet-handle::before{transform:translateY(var(--sheet-pull,0px));transition:transform .12s ease}
@keyframes pharm-sheet-in{from{opacity:0;transform:translate3d(0,32px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes pharm-sheet-out{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(0,40px,0)}}
@keyframes pharm-dim-in{from{opacity:0}to{opacity:1}}
@keyframes pharm-dim-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){#modal[open],#modal.is-closing,#modal::backdrop,#modal.is-closing::backdrop{animation:none}#modal .sheet-handle::before{transition:none}}

@media(max-width:760px){#modal{height:calc(var(--app-height,100dvh) - env(safe-area-inset-top) - 16px)}#modal .modal-body{flex:1 1 auto}}

/* 5.0.0.3: a single opaque chrome surface. iOS may sample html/body at launch;
   the workspace owns the decorative page background, not the browser canvas. */
html,body{background:var(--chrome-solid);background-image:none}
.workspace{background:radial-gradient(ellipse at 90% 5%,color-mix(in srgb,var(--accent2) 9%,transparent),transparent 60%),var(--bg)}
.launch-screen{background:var(--chrome-solid)}
.topbar{background:var(--chrome-solid);-webkit-backdrop-filter:none;backdrop-filter:none;will-change:auto;transform:none;box-shadow:none}
@media(max-width:760px){
 .topbar{background:var(--chrome-solid)}
 .topbar::before{content:none}
 /* Blur is confined to the lower edge; no separate tint behind the clock. */
 .topbar::after{bottom:-12px;height:12px;opacity:1;background:linear-gradient(var(--chrome-solid),transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
}

/* 5.0.0: crisp header edge + iOS-safe modal chrome.
   Do not chase the system status bar with dynamic theme-color changes: installed iOS PWAs can ignore them.
   Instead the modal backdrop leaves the whole native top-chrome zone transparent, so the visible area
   around the sheet is the exact same opaque surface that already sits behind the clock and indicators. */
html,body{background:var(--chrome-solid)}
.topbar{transition:none}
@media(max-width:760px){
 .topbar::after{bottom:0;height:1px;background:var(--line);opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none}
 #modal::backdrop{background:linear-gradient(to bottom,transparent 0 calc(env(safe-area-inset-top) + 68px),rgba(8,18,29,.42) calc(env(safe-area-inset-top) + 68px) 100%)}
 .pro-celebration::backdrop{background:linear-gradient(to bottom,transparent 0 calc(env(safe-area-inset-top) + 68px),rgba(8,18,29,.60) calc(env(safe-area-inset-top) + 68px) 100%);-webkit-backdrop-filter:none;backdrop-filter:none}
}
