@charset "UTF-8";
:root{--ink:#243833;--muted:#67736f;--green:#315b4d;--green-dark:#264b40;--line:rgba(62,85,74,.13);--glass:rgba(255,255,255,.65);--serif:"Times New Roman",Times,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow:0 12px 45px rgba(43,65,49,.045),inset 0 1px 0 rgba(255,255,255,.95)}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:#f3f4ee;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #4a806d;outline-offset:4px}button{border:0;background:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}button,input,textarea,select{max-width:100%}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;padding:12px;background:white;border-radius:10px}.skip-link:focus{top:20px}.ambient{position:fixed;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(90px)}.ambient-one{width:750px;height:700px;top:-350px;left:16%;background:rgba(189,210,183,.35)}.ambient-two{width:560px;height:650px;right:-230px;top:140px;background:rgba(229,219,197,.36)}
.shell{max-width:1800px;margin:auto;display:grid;grid-template-columns:247px minmax(0,1fr);min-height:100vh}.sidebar{padding:38px 23px 22px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;border-right:1px solid var(--line);background:rgba(255,255,255,.3);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:15;overflow-y:auto}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;padding:0 5px 35px}.brand img{width:41px;height:41px;object-fit:contain}.brand-name{font-family:var(--serif);font-size:23px;white-space:nowrap;letter-spacing:-.6px}.brand-caption{display:block;font-size:9px;font-family:var(--sans);letter-spacing:2.2px;text-transform:uppercase;margin-top:1px;color:var(--muted)}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:#79827b;font-weight:600;margin:26px 13px 12px}.nav-button{display:flex;align-items:center;gap:12px;min-height:46px;width:100%;text-align:left;padding:11px 13px;border-radius:11px;color:#63706a;font-size:13px;margin:3px 0;transition:background .2s}.nav-button.active{background:rgba(255,255,255,.85);box-shadow:0 3px 13px #3c493509,inset 0 0 0 1px white;color:var(--green);font-weight:600}.nav-button .count{margin-left:auto;font-size:11px;color:#77827b}.category-nav .nav-button svg{width:17px;height:17px}.child-nav{margin:1px 0 9px 23px;padding-left:15px;border-left:1px solid #cbd3c8}.child-button{display:block;font-size:12px;text-align:left;min-height:38px;padding:8px;color:var(--muted);width:100%;border-radius:8px}.child-button.active{color:var(--green);font-weight:600;background:#fff7}.sidebar-bottom{margin-top:auto;padding-top:45px}.sidebar-note{padding:18px 13px;color:var(--muted);font-size:11px;display:flex;align-items:flex-start;gap:9px}.sidebar-note svg{width:15px;height:15px;margin-top:1px}.sidebar-note span{display:block;font-size:10px;color:#7c8780;margin-top:3px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:20px 7px 0;width:100%;text-align:left}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e2e8dc;color:#527047;font-family:var(--serif);font-size:15px}.profile-name{font-size:12px;font-weight:600}.profile-role{display:block;font-size:10px;color:var(--muted);font-weight:400}.profile>svg{margin-left:auto;width:16px}.workspace{padding:0 42px;min-width:0}.topbar{min-height:100px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted);white-space:nowrap}.breadcrumb span:last-child{color:var(--ink)}.breadcrumb svg{width:12px;height:12px;color:#9aa398}.top-actions{margin-left:auto;display:flex;gap:16px;align-items:center}.search{position:relative;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.9);border-radius:10px;background:rgba(255,255,255,.5);padding:0 12px;min-width:200px;width:245px;height:39px;color:#7c867d}.search svg{width:16px;height:16px}.search input{border:0;background:none;outline:none;width:100%;font-size:11px;color:var(--ink);min-width:0}.search:focus-within{outline:2px solid #6f9381;outline-offset:2px}.search input:focus-visible{outline:none}.search kbd{font-family:inherit;font-size:10px;white-space:nowrap;color:#7d857d;border:1px solid #e0e4db;border-radius:4px;padding:0 4px}.language-switch{padding:3px;display:flex;align-items:center;background:#e3e8df80;border:1px solid #d9e0d460;border-radius:9px}.language-switch button{font-size:10px;min-width:32px;min-height:29px;padding:4px 7px;color:#748071;border-radius:6px}.language-switch button.active{background:#fff;box-shadow:0 1px 5px #233d3410;color:var(--ink)}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;width:38px;height:38px;flex-shrink:0}.icon-button svg{width:17px;height:17px}.icon-button.is-saved{color:var(--green);background:#e7eee1}.icon-button.is-saved svg{fill:#cdddc7}.menu-button{display:none}.page-intro{display:flex;align-items:flex-end;gap:20px;justify-content:space-between;padding:37px 0 27px}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:600;text-transform:uppercase;color:#7b887c;display:flex;align-items:center;gap:7px}.eyebrow .dot{height:5px;width:5px;background:#779169;border-radius:50%}.page-intro h1{font-family:var(--serif);font-size:42px;font-weight:400;letter-spacing:-1.5px;line-height:1.2;margin:9px 0 9px}.page-intro p{font-size:12px;color:var(--muted)}.subtle-button{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted);padding:10px 0;white-space:nowrap}.subtle-button svg{width:15px;height:15px}.view-tabs{position:relative;isolation:isolate;display:flex;gap:26px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:24px}.view-tab{position:relative;display:flex;gap:7px;align-items:center;min-height:44px;font-size:11px;color:var(--muted);border-bottom:2px solid transparent;padding:0 0 13px;margin-bottom:-1px}.view-tab.active{color:var(--green);border-color:transparent;font-weight:600}.tab-indicator{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--green);transform-origin:left center;pointer-events:none}.tab-count{font-size:9px;background:#dde5d6a6;border-radius:5px;padding:0 5px;min-width:17px;text-align:center}.reading-grid{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:23px;align-items:start}.glass{background:var(--glass);border:1px solid #fff;border-radius:18px;box-shadow:var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.rule-card{overflow:hidden}.rule-header{padding:23px 28px 0;display:flex;align-items:center;gap:8px}.rule-number{font-size:9px;letter-spacing:1.5px;color:#6a796b;font-weight:600}.pill{font-size:9px;display:inline-flex;gap:5px;align-items:center;padding:4px 9px;border-radius:6px;background:#ecf0e6;color:#607553}.rule-header .pill{margin-left:8px}.rule-header .icon-button{margin-left:auto;width:32px;height:32px;border-color:#dce3d4}.rule-hero{text-align:center;padding:31px 25px 34px;position:relative}.rule-area-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 16px;color:#718968}.rule-area-icon>svg{display:block;width:100%;height:100%}.rule-title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(38px,3.8vw,61px);line-height:1.06;letter-spacing:-1.6px;max-width:590px;margin:0 auto 20px;text-wrap:balance}.ornament{display:flex;align-items:center;justify-content:center;gap:10px;color:#96a187;margin:0 auto 18px}.ornament:before,.ornament:after{content:"";width:30px;height:1px;background:#cbd5c2}.ornament svg{height:11px;width:11px;stroke-width:1.2}.rule-translation{font-size:15px;letter-spacing:.05px;color:#66745e;line-height:1.5;font-weight:400}.rule-copy{margin:0 29px;padding:25px 0 23px;border-top:1px solid var(--line)}.rule-copy h3{font-family:var(--serif);font-size:21px;letter-spacing:-.3px;font-weight:400;margin-bottom:12px}.rule-copy p{color:#627064;font-size:13px;line-height:1.95;margin-top:12px;max-width:65ch}.rule-footnote{display:flex;gap:8px;align-items:center;color:#85907f;font-size:9px;margin-top:21px}.rule-footnote svg{height:12px;width:12px}.rule-navigation{padding:15px 28px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);background:#f4f6f045}.rule-navigation button{display:flex;align-items:center;gap:9px;font-size:10px;min-height:32px}.rule-navigation button svg{width:15px;height:15px}.rule-navigation span{font-size:9px;color:#9aa38f}.reading-under{display:flex;justify-content:space-between;align-items:center;padding:14px 2px;gap:12px}.read-action{font-size:11px;color:var(--green);display:flex;gap:8px;align-items:center;min-height:38px}.read-action svg{height:15px;width:15px}.reading-under>span{font-size:9px;color:#83907f}.side-card{padding:22px;margin-bottom:17px}.side-card h2{font-family:var(--serif);font-size:21px;font-weight:400;margin:10px 0 12px;letter-spacing:-.3px}.side-card .eyebrow{font-size:8px;letter-spacing:1.6px}.side-card p{font-size:11px;line-height:1.8;color:var(--muted)}.vocabulary{margin-top:21px}.vocabulary-row{padding:11px 0;border-top:1px solid var(--line)}.vocabulary-row strong{font-family:var(--serif);font-size:17px;font-weight:400;display:block}.vocabulary-row span{font-size:10px;color:#82907b;display:block;margin-top:2px}.learning-hint{display:flex;gap:8px;border-radius:8px;background:#e9eee580;padding:10px;margin-top:12px}.learning-hint svg{width:13px;height:13px;color:#758867;margin-top:2px}.learning-hint p{font-size:9px;line-height:1.7}.progress-card{background:rgba(226,234,216,.43);border-color:#fafff5}.progress-top{display:flex;justify-content:space-between;align-items:center}.progress-top svg{width:16px;height:16px;color:#849471}.progress-numbers{margin-top:15px;display:flex;align-items:baseline;gap:6px}.progress-numbers strong{font-family:var(--serif);font-weight:400;font-size:29px}.progress-numbers span{font-size:10px;color:#7d8873}.progress-track{height:4px;background:#dbe2d1;border-radius:5px;overflow:hidden;margin:12px 0}.progress-track progress{display:block;width:100%;height:4px;border:0;appearance:none;background:#dbe2d1}.progress-track progress::-webkit-progress-bar{background:#dbe2d1}.progress-track progress::-webkit-progress-value{background:#869f72}.progress-track progress::-moz-progress-bar{background:#869f72}.progress-card>p{font-size:10px}.quote{padding:13px 8px;text-align:center;color:#8b9585}.quote p{font-family:var(--serif);font-size:17px;font-style:italic;line-height:1.5}.quote span{display:block;font-size:8px;margin-top:8px;letter-spacing:1px;text-transform:uppercase}.page-footer{display:flex;gap:15px;align-items:center;justify-content:space-between;margin:19px 0 0;padding:18px 0 21px;border-top:1px solid var(--line);color:#85907f;font-size:9px}.page-footer button{font-size:9px;color:#73806c;text-align:right;min-height:30px}.preview-dot{display:inline-block;width:5px;height:5px;background:#9aa587;border-radius:50%;margin-right:5px}.mobile-shade{display:none}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100vw - 32px);width:max-content;padding:14px 23px;color:white;background:#304f43;border:1px solid #668374;border-radius:12px;box-shadow:0 6px 30px #22382f26;font-size:12px}.library-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.library-top h2{font-family:var(--serif);font-size:27px;font-weight:400}.library-top p{font-size:11px;color:var(--muted);margin-top:4px}.library-top select{font-size:11px;padding:10px;border:1px solid #d5ddce;border-radius:9px;background:#fffa;color:var(--ink)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 24px}.category-card{text-align:left;padding:18px 15px;transition:transform .2s,background .2s;min-width:0}.category-card>svg{width:19px;height:19px;color:#65855c;margin-bottom:15px}.category-card strong{display:block;font-family:var(--serif);font-size:19px;font-weight:400;overflow-wrap:anywhere}.category-card span{font-size:10px;color:var(--muted);display:block;margin-top:5px}.rules-list{overflow:hidden}.rule-list-row{width:100%;text-align:left;display:flex;gap:22px;padding:22px 25px;align-items:center;border-bottom:1px solid var(--line)}.rule-list-row:last-child{border:0}.row-number{font-size:10px;color:#97a18b;letter-spacing:1px}.row-copy{flex:1;min-width:0}.row-copy strong{font-family:var(--serif);font-size:24px;font-style:italic;line-height:1.2;font-weight:400;display:block}.row-copy p{font-size:11px;color:var(--muted);margin-top:5px}.row-copy small{display:block;margin-top:9px;font-size:9px;color:#8a957e}.rule-list-row>svg{width:17px;color:#89997e}.empty-state{text-align:center;padding:60px 22px}.empty-state svg{width:30px;height:30px;margin-bottom:16px;color:#8c9b80}.empty-state h2{font-family:var(--serif);font-weight:400;font-size:28px}.empty-state p{color:var(--muted);font-size:12px;max-width:380px;margin:10px auto 22px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:9px;font-size:12px;padding:11px 17px}.primary-button{background:var(--green);color:#fff}.secondary-button{border:1px solid #ccd6c5;background:#ffffff65}.primary-button svg,.secondary-button svg{width:16px;height:16px}.section-heading{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:26px 0 12px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-row{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:18px 22px}.admin-row:last-child{border-bottom:0}.admin-row .row-copy strong{font-size:22px}.admin-row>.icon-button{margin-left:auto}.member-row{display:flex;align-items:center;padding:18px;gap:12px}.member-row p{font-size:11px;color:var(--muted)}.member-row .pill{margin-left:auto}.admin-info{padding:15px 18px;background:#e8ede2;border:1px solid #d9e3cf;border-radius:12px;font-size:11px;color:#617354;margin-bottom:25px;line-height:1.8}
dialog{border:1px solid #fff;border-radius:21px;background:#f8faf5;box-shadow:0 25px 100px #13281f2b;color:var(--ink);width:470px;max-width:calc(100vw - 32px);max-height:90dvh;padding:28px;overflow-y:auto}dialog::backdrop{background:rgba(36,51,40,.26);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dialog-header{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:14px}.dialog-header h2{font-family:var(--serif);font-size:29px;font-weight:400}.dialog-header .icon-button{width:32px;height:32px}.dialog-intro{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:22px}.field{display:block;margin:16px 0}.field>span{display:block;font-size:11px;margin-bottom:7px;color:#687760}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #d4dfcd;background:#fff9;border-radius:8px;padding:11px 12px;color:var(--ink);min-height:43px}.field textarea{min-height:100px;resize:vertical}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.form-actions>*{flex:1}.form-note{font-size:10px;color:#839078;line-height:1.7;margin-top:18px}.dialog-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:13px}.dialog-links button{font-size:11px;padding:8px 0;text-decoration:underline;text-underline-offset:3px;color:#5a7650}.auth-tabs{display:flex;gap:8px;margin-bottom:22px;padding-bottom:13px;border-bottom:1px solid var(--line)}.auth-tabs button{padding:8px 12px;font-size:12px;border-radius:7px}.auth-tabs button.active{background:#e6eddf}.form-error{font-size:12px;color:#934b39;margin-top:10px}.dialog-copy p{font-size:12px;line-height:1.85;margin:15px 0;color:var(--muted)}.no-script{margin:80px auto;max-width:600px;padding:30px}.focus-mode .shell{grid-template-columns:1fr;max-width:1100px}.focus-mode .sidebar,.focus-mode .learning-rail,.focus-mode .breadcrumb,.focus-mode .view-tabs{display:none}.focus-mode .reading-grid{display:block;max-width:800px;margin:auto}.focus-mode .topbar{min-height:75px}.focus-mode .rule-title{font-size:clamp(36px,5.7vw,64px);line-height:1.1;letter-spacing:-1.1px;max-width:680px}.focus-mode .rule-hero{padding:40px 30px}.focus-mode .rule-area-icon{width:59px;height:59px;margin-bottom:20px}.focus-mode .rule-copy{padding:30px}.focus-mode .page-footer{max-width:800px;margin:20px auto 0}
.focus-intro{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;max-width:800px;width:100%;margin:0 auto;padding:28px 0 30px;column-gap:16px}.focus-intro .focus-brand{grid-column:2;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding:0;text-align:center}.focus-intro .focus-brand img{width:68px;height:68px}.focus-intro .focus-brand .brand-name{font-size:30px;line-height:1.15;letter-spacing:-.7px}.focus-intro .focus-brand .brand-caption{font-size:9px;line-height:1.3;letter-spacing:2.2px;margin-top:7px}.focus-exit{grid-column:3;justify-self:end;align-self:start;justify-content:flex-end;max-width:100%;min-height:44px;padding:10px 0 10px 10px;white-space:normal;text-align:right;line-height:1.5}.focus-exit svg{flex-shrink:0}
@media(min-width:1550px){.workspace{padding:0 65px}.reading-grid{grid-template-columns:minmax(0,1fr) 260px;gap:30px}.rule-hero{padding:48px 30px}.rule-copy{padding:30px 0 32px}.rule-copy p{font-size:13px}.rule-title{font-size:67px}.side-card{padding:25px}.page-intro{padding-top:45px;padding-bottom:35px}.rule-copy{margin:0 40px}.rule-header{padding:26px 40px 0}}
@media(max-width:1190px){.shell{grid-template-columns:216px minmax(0,1fr)}.sidebar{padding:32px 15px 20px}.brand-name{font-size:21px}.brand{gap:8px}.brand img{width:35px;height:35px}.workspace{padding:0 27px}.reading-grid{grid-template-columns:minmax(0,1fr) 207px;gap:17px}.side-card{padding:18px}.top-actions{gap:10px}.search{width:210px;min-width:150px}.page-intro h1{font-size:38px}.rule-title{font-size:46px}.rule-copy{margin:0 23px}.rule-header{padding:20px 23px 0}.rule-translation{font-size:13px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:990px){.breadcrumb{display:none}.topbar{min-height:85px}.top-actions{width:100%}.search{width:100%;flex:1}.reading-grid{grid-template-columns:minmax(0,1fr)}.learning-rail{display:grid;grid-template-columns:1fr 1fr;gap:17px}.side-card{margin:0}.quote{display:none}.vocabulary{display:flex;gap:16px;margin-top:12px}.vocabulary-row{flex:1}.learning-hint{display:none}.learning-rail .side-card:first-child{grid-column:1/-1}.learning-rail .progress-card{grid-column:1/-1}.progress-card .progress-numbers{margin-top:15px}.rule-title{font-size:58px;max-width:530px}.page-intro h1{font-size:36px}.page-intro{padding-top:30px}.page-footer{margin-top:25px}.rule-hero{padding-top:32px}.sidebar-note{font-size:10px}}
@media(max-width:740px){.shell{display:block}.sidebar{position:fixed;left:0;top:0;width:265px;transform:translateX(-105%);transition:transform 220ms cubic-bezier(.22,1,.36,1);background:#f3f6f0f5;z-index:50;padding:30px 23px 23px}.sidebar.open{transform:translateX(0)}.mobile-shade{display:block;position:fixed;inset:0;background:#1e322344;backdrop-filter:blur(4px);z-index:40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 180ms ease,visibility 0s linear 180ms}.sidebar.open+.mobile-shade{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.menu-button{display:inline-flex;border:0;width:32px;height:40px;flex-shrink:0}.workspace{padding:0 21px}.topbar{min-height:79px;gap:12px}.top-actions{gap:11px}.search{min-width:0;height:40px;padding:0 10px}.search input{font-size:12px}.search kbd{display:none}.top-actions>.icon-button{display:none}.language-switch button{min-height:32px;min-width:31px}.page-intro{padding:26px 0 22px;align-items:flex-start}.page-intro h1{font-size:36px;letter-spacing:-1.4px;margin-top:12px}.page-intro p{font-size:11px;line-height:1.8;max-width:270px}.page-intro .subtle-button{font-size:0;padding:9px 0;margin-top:24px}.page-intro .subtle-button svg{width:19px;height:19px}.eyebrow{font-size:8px;letter-spacing:1.5px}.view-tabs{gap:24px;margin-bottom:20px}.view-tab{font-size:11px;min-height:45px;padding-bottom:12px}.rule-header{padding:19px 20px 0}.rule-header .pill{font-size:8px;margin-left:2px}.rule-header .icon-button{width:35px;height:35px}.rule-hero{padding:30px 20px}.rule-area-icon,.focus-mode .rule-area-icon{width:48px;height:48px;margin-bottom:14px}.rule-title{font-size:46px;letter-spacing:-1.5px;line-height:1.1;margin:0 auto 22px;max-width:410px}.rule-translation{font-size:13px;max-width:290px;margin:auto;line-height:1.6}.rule-copy{margin:0 22px;padding-top:25px}.rule-copy h3{font-size:23px}.rule-copy p{font-size:14px;line-height:1.9}.rule-footnote{font-size:8px}.rule-navigation{padding:12px 20px}.rule-navigation button{min-height:40px;font-size:10px}.reading-under{flex-wrap:wrap;padding:10px 2px 0}.reading-under>span{font-size:8px}.reading-grid{gap:23px}.side-card{padding:22px}.vocabulary{gap:14px}.vocabulary-row strong{font-size:18px}.vocabulary-row span{font-size:11px}.page-footer{font-size:8px;padding:14px 0 22px;gap:10px}.page-footer button{font-size:8px}.category-card{padding:18px}.library-top{align-items:flex-start}.library-top h2{font-size:25px}.library-top select{max-width:150px}.rule-list-row{padding:22px 18px;gap:14px}.row-copy strong{font-size:24px}.row-number{font-size:8px}.category-grid{gap:12px}.admin-row{padding:18px 15px;gap:10px}.admin-row .row-copy strong{font-size:21px}.focus-mode .workspace{padding:0 19px}.focus-mode .menu-button{display:none}.focus-mode .rule-title{font-size:clamp(36px,8vw,46px);letter-spacing:-.7px}.focus-mode .rule-copy{padding:25px 0}.focus-mode .rule-hero{padding:30px 20px}.focus-intro{grid-template-columns:minmax(0,1fr);padding:14px 0 24px;row-gap:16px}.focus-intro .focus-brand{grid-column:1;grid-row:2;gap:12px}.focus-intro .focus-brand img{width:58px;height:58px}.focus-intro .focus-brand .brand-name{font-size:26px}.focus-exit{grid-column:1;grid-row:1;justify-self:end}dialog{padding:24px}.dialog-header h2{font-size:28px}}
@media(max-width:370px){.workspace{padding:0 14px}.topbar{gap:7px}.top-actions{gap:7px}.search input{font-size:10px}.page-intro h1{font-size:32px}.rule-title{font-size:42px}.view-tabs{gap:17px}.rule-navigation{padding:10px 15px}.vocabulary{flex-wrap:wrap}.vocabulary-row{min-width:85px}.reading-under>span{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.sidebar,.topbar,.page-intro,.view-tabs,.learning-rail,.page-footer,.rule-navigation,.reading-under,.icon-button,.ambient,.toast{display:none!important}.shell,.reading-grid{display:block}.workspace{padding:0}.glass{box-shadow:none;border:0;background:white}.rule-title{font-size:45px}body{background:white;color:#000}}

/* Robust wrapping and keyboard navigation for user-created content. */
.menu-open{overflow:hidden}.drawer-close{display:none}.rule-title,.rule-translation,.row-copy,.profile-name{overflow-wrap:anywhere}.profile-name{min-width:0}.rule-title{hyphens:auto}.page-footer button{display:flex;align-items:center;justify-content:flex-end;gap:5px}.page-footer button svg{width:12px;height:12px}.page-footer .preview-dot{flex-shrink:0;margin-right:0}.progress-numbers strong small{font-size:19px;color:#6e7e64}
@media(max-width:740px){.drawer-close{display:flex;position:absolute;right:10px;top:9px;width:28px;height:28px;border:0}.drawer-close svg{width:15px;height:15px}.sidebar .brand{padding-top:9px}.side-card p{font-size:12px}.learning-rail .eyebrow{font-size:9px}}

/* Account screens share the existing typography, spacing and glass treatment. */
.loading-page{min-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:var(--muted)}.loading-page img{width:60px;height:60px}.auth-layout{max-width:1120px;min-height:100dvh;margin:0 auto;padding:0 40px;display:flex;flex-direction:column}.auth-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:32px 0}.auth-header .brand{padding:0}.auth-main{width:100%;flex:1;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:70px;padding:55px 0}.auth-welcome h1{font-family:var(--serif);font-size:58px;line-height:1.08;letter-spacing:-2px;font-weight:400;margin:22px 0}.auth-welcome>p{font-size:14px;line-height:1.9;color:var(--muted);max-width:330px}.auth-card{padding:30px}.auth-card h2{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.6px;margin-bottom:20px}.auth-card .primary-button{min-height:46px}.auth-card .field input{min-height:46px}.auth-card .dialog-links{font-size:11px}.auth-card .dialog-intro{font-size:12px}.auth-layout>.page-footer{margin-top:0}.invited-email{padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--green);overflow-wrap:anywhere}.checkbox-field{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);margin:25px 0 10px;cursor:pointer}.checkbox-field input{width:17px;height:17px;flex-shrink:0;accent-color:var(--green)}.secret-value{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.3px}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 12px}.section-toolbar .section-heading{margin:0}.member-copy{min-width:0;overflow-wrap:anywhere}.category-card>.icon-button{float:right;margin-top:-4px;width:28px;height:28px}.child-edit{display:flex;align-items:center;gap:6px;min-height:30px;text-align:left;padding:3px 0;font-size:10px}.child-edit svg{width:11px;height:11px}.form-error{padding:10px 0;overflow-wrap:anywhere}.auth-card .form-error{padding:6px 0}.member-row .icon-button{width:32px;height:32px}.member-row .pill{white-space:nowrap}.member-row .avatar{flex-shrink:0}
@media(max-width:850px){.auth-layout{padding:0 26px}.auth-main{grid-template-columns:1fr;gap:30px;padding:35px 0;max-width:470px;margin:0 auto}.auth-welcome{text-align:center}.auth-welcome .eyebrow{justify-content:center}.auth-welcome h1{font-size:43px;letter-spacing:-1.6px;margin:15px 0}.auth-welcome>p{margin:auto;font-size:12px}.auth-card{padding:27px}.auth-header{padding:24px 0}}
@media(max-width:440px){.auth-layout{padding:0 20px}.auth-welcome h1{font-size:39px}.auth-welcome .eyebrow{font-size:8px}.auth-card{padding:24px 22px}.auth-card h2{font-size:27px}.auth-header .brand-name{font-size:22px}.auth-card .field input{font-size:16px}.auth-main{padding-top:30px}.member-row{flex-wrap:wrap}.member-copy{flex:1}.member-row p{font-size:10px}.section-toolbar{align-items:flex-start}.section-toolbar .section-heading{padding-top:12px}.section-toolbar .secondary-button{font-size:10px;padding-inline:10px}}

/* Private category icon selection: native radios, responsive targets, no remote fonts. */
dialog.category-dialog{width:650px;overflow:hidden}
.category-form-body{max-height:calc(90dvh - 190px);overflow-y:auto;overscroll-behavior:contain;padding:0 3px 2px 1px}
.category-dialog .form-actions{padding:12px 0 0;margin-top:6px;border-top:1px solid var(--line);background:#f8faf5}
.category-icon-field{border:0;padding:0;margin:22px 0 0;min-width:0}
.category-icon-field>legend{font-size:11px;color:var(--muted);padding:0;margin-bottom:8px}
.icon-picker{border:1px solid var(--line);border-radius:12px;background:#ffffff80;overflow:hidden}
.icon-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:12px 15px;cursor:pointer;list-style:none}
.icon-picker>summary::-webkit-details-marker{display:none}
#category-icon-preview{display:flex;align-items:center;gap:12px;font-size:13px;min-width:0}
#category-icon-preview>svg{width:26px;height:26px;flex-shrink:0;color:var(--green)}
.icon-picker-toggle{display:flex;align-items:center;gap:5px;flex-shrink:0;font-size:10px;color:var(--green)}
.icon-picker-toggle>svg{width:14px;height:14px;transition:transform .15s}
.icon-picker[open] .icon-picker-toggle>svg{transform:rotate(90deg)}
.icon-picker-panel{padding:0 14px 12px;border-top:1px solid var(--line)}
.icon-picker-controls{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:12px}
.icon-picker-controls .field{margin:12px 0;min-width:0}
.icon-picker-controls input,.icon-picker-controls select{font-size:12px;min-width:0;padding:10px}
.icon-groups{max-height:340px;max-height:min(340px,42dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 6px 3px 2px}
.icon-group{margin:0 0 18px}
.icon-group:last-child{margin-bottom:0}
.icon-group h3{font-size:10px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin:4px 0 10px}
.icon-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:7px}
.icon-choice{position:relative;min-width:0;cursor:pointer}
.icon-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.icon-tile{min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 4px;border:1px solid transparent;border-radius:10px;background:#fff9;color:var(--muted);text-align:center;transition:background .15s,border-color .15s}
.icon-tile>svg{width:25px;height:25px;flex-shrink:0}
.icon-tile>span{font-size:9px;line-height:1.35;overflow-wrap:anywhere}

.icon-choice input:checked+.icon-tile{background:#e4eddf;color:var(--green-dark);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.icon-choice input:focus-visible+.icon-tile{outline:3px solid #7c9e8c;outline-offset:2px}
.icon-choice[hidden],.icon-group[hidden]{display:none}
.icon-result-count{font-size:10px;line-height:1.5;color:var(--muted);margin:12px 0 0;min-height:15px}
.child-button{display:flex;align-items:center;gap:9px}
.child-button>svg{width:14px;height:14px;flex-shrink:0}
.child-edit>svg:first-child{width:16px;height:16px;flex-shrink:0}
@media(max-width:480px){.icon-picker-controls{grid-template-columns:minmax(0,1fr);gap:0}.icon-picker-controls .field:last-child{margin-top:0}.icon-picker-panel{padding:0 10px 10px}.icon-options{grid-template-columns:repeat(3,minmax(0,1fr))}.icon-picker>summary{padding:12px 10px;gap:8px}.icon-picker-toggle{font-size:9px}.icon-tile{min-height:80px}.icon-groups{max-height:260px}}
@media(prefers-reduced-motion:reduce){.icon-tile,.icon-picker-toggle>svg{transition:none}}

/* Rule history: shared with Subs only when both visibility settings allow it. */
.rule-header{gap:10px}.rule-header .pill{min-width:0;overflow-wrap:anywhere}.rule-header>.icon-button{flex-shrink:0}.rule-header>.icon-button+.icon-button{margin-left:0}
.rule-dates{display:flex;flex-direction:column;gap:5px;line-height:1.6}.rule-history-button{margin-top:18px;min-height:44px}.rule-footnote{align-items:flex-start}
.history-settings{padding:24px;margin-bottom:28px}.history-settings h2{font-size:19px;margin:0 0 10px}.history-settings p{font-size:14px;line-height:1.7;color:var(--muted)}.history-settings form{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.history-settings .checkbox-field{margin:0;flex:1;min-width:200px}.history-settings .form-error{flex-basis:100%}
dialog.history-dialog{width:min(1000px,calc(100vw - 28px));padding:0;overflow:hidden;max-height:90dvh}dialog.history-dialog .dialog-header{padding:22px 26px;margin:0;border-bottom:1px solid rgba(80,84,90,.12)}
.history-body{padding:20px 26px 28px;max-height:calc(90dvh - 88px);overflow:auto;overscroll-behavior:contain}.history-rule-title{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:24px;line-height:1.4;margin:0 0 16px;overflow-wrap:anywhere}.history-rule-settings{border-bottom:1px solid rgba(80,84,90,.12);padding-bottom:20px;margin-bottom:24px}.history-rule-settings .checkbox-field{margin:0 0 12px}
#history-browser .field{margin-bottom:8px}#history-browser select{width:100%;min-width:0;text-overflow:ellipsis}#history-detail{margin-top:24px}.history-snapshot>header h3{font-size:16px;line-height:1.6;margin:0 0 8px}.history-snapshot .rule-dates{font-size:12px;color:var(--muted)}.history-languages{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:24px}.history-language>h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}.history-language+.history-language{border-left:1px solid rgba(80,84,90,.12);padding-left:28px}.history-field{margin:0 0 20px;min-width:0}.history-field h4{font-size:12px;color:var(--muted);font-weight:500;margin:0 0 8px}.history-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.85;font-weight:400}.history-text del,.diff-legend del{color:#83434a;background:#f6e8e9;text-decoration:line-through;text-decoration-thickness:1.5px}.history-text strong,.diff-legend strong{font-weight:750;color:#244f42;background:#e4f1e8}.diff-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.diff-legend>*{padding:4px 8px;border-radius:5px}
@media(max-width:600px){.history-languages{grid-template-columns:minmax(0,1fr);gap:20px}.history-language+.history-language{padding:20px 0 0;border-left:0;border-top:1px solid rgba(80,84,90,.12)}.history-body{padding:16px}.history-settings{padding:18px}.history-settings form{align-items:flex-start}.history-settings button{width:100%}dialog.history-dialog .dialog-header{padding:18px 16px}.rule-header{flex-wrap:wrap}.rule-header .pill{flex:1}.rule-header>.icon-button{width:40px;height:40px}.history-rule-settings .checkbox-field{align-items:flex-start}}

.history-text del+strong,.history-text strong+del{margin-inline-start:.2em}

/* Tactile feedback stays separate from the selective WAAPI content transitions. */
.nav-button,.child-button,.icon-button,.primary-button,.secondary-button,.category-card,.rule-list-row,.view-tab,.subtle-button,.read-action,.icon-picker-toggle,.language-switch button,.rule-navigation button,.dialog-links button{transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease,box-shadow 160ms ease,scale 120ms cubic-bezier(.2,.8,.2,1);touch-action:manipulation}
.nav-button:active:not(:disabled),.child-button:active:not(:disabled),.icon-button:active:not(:disabled),.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.view-tab:active:not(:disabled),.subtle-button:active:not(:disabled),.read-action:active:not(:disabled),.icon-picker-toggle:active:not(:disabled),.language-switch button:active:not(:disabled),.rule-navigation button:active:not(:disabled),.dialog-links button:active:not(:disabled){scale:.98}
button.category-card:active:not(:disabled),button.rule-list-row:active:not(:disabled){scale:.992}
.nav-button:active:not(:disabled),.child-button:active:not(:disabled){background:#e5ece2;color:var(--green-dark)}
.primary-button:active:not(:disabled){background:#224237}
@media(hover:hover) and (pointer:fine){.nav-button:hover:not(.active):not(:disabled){background:rgba(255,255,255,.6);color:var(--ink)}.icon-button:hover:not(.is-saved):not(:disabled){background:#fff9}button.category-card:hover:not(:disabled){background:#fff;box-shadow:0 12px 40px rgba(43,65,49,.08),inset 0 1px 0 rgba(255,255,255,.95)}.rule-list-row:hover:not(:disabled){background:#fff9}.primary-button:hover:not(:disabled){background:#224237}.view-tab:hover:not(:disabled){color:var(--green)}.icon-choice:hover .icon-tile{background:#ecf1e8;border-color:#ccd9c6}}
dialog[open]::backdrop{animation:dialog-backdrop-in 150ms ease-out}
@keyframes dialog-backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){button:active{scale:none!important}dialog[open]::backdrop{animation:none}}

/* Bilingual rule editing and the deliberately limited explanation format. */
dialog.rule-editor-dialog{width:min(1120px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:90dvh;padding:0;overflow:hidden}
dialog.rule-editor-dialog[open]{display:flex;flex-direction:column}
.rule-editor-dialog .dialog-header{flex:0 0 auto;padding:24px;margin:0;border-bottom:1px solid var(--line);min-width:0}
.rule-editor-dialog .dialog-header h2{min-width:0;line-height:1.25;overflow-wrap:anywhere}
.rule-editor-dialog .dialog-header .icon-button{width:44px;height:44px}
.rule-editor-dialog .dialog-content{flex:1 1 auto;min-height:0;max-height:calc(90dvh - 88px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.rule-editor-form{padding:24px;min-width:0}
.rule-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.rule-editor-column{min-width:0}
.rule-editor-column+.rule-editor-column{padding-left:28px;border-left:1px solid var(--line)}
.editor-language{display:block;font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--green);margin:0 0 18px}
.rule-editor-column .field:first-of-type{margin-top:0}
.rule-editor-column .field input,.rule-editor-column .field textarea{min-width:0;font-size:14px;line-height:1.7}
.rule-editor-column .field textarea{min-height:290px;tab-size:2;resize:vertical}
.markdown-help{display:block;font-size:11px;line-height:1.8;color:var(--muted);margin:10px 0 16px;overflow-wrap:anywhere}
.markdown-preview{padding:20px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.45);min-width:0}
.markdown-preview>h3,.markdown-preview>h4{font-family:var(--sans);font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.markdown-body{min-width:0;color:#627064;font-size:13px;font-weight:400;font-style:normal;line-height:1.95;overflow-wrap:anywhere}
.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-family:var(--serif);font-weight:400;font-style:normal;line-height:1.35;letter-spacing:-.25px;color:var(--ink);margin:1.2em 0 .5em}
.markdown-body h3{font-size:23px}.markdown-body h4{font-size:21px}.markdown-body h5{font-size:19px}.markdown-body h6{font-size:17px}
.markdown-body p{font-size:inherit;font-weight:400;font-style:normal;line-height:inherit;max-width:65ch;margin:12px 0 0;color:inherit}
.markdown-body ol{padding-left:1.85em;margin:12px 0 0;font-weight:400;font-style:normal}
.markdown-body li{padding-left:.35em;margin:.45em 0;line-height:inherit;font-weight:400;font-style:normal}
.markdown-body li::marker{color:var(--green)}
.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}
.rule-copy>.markdown-body{font-size:13px;line-height:1.95}
.rule-editor-shared{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin-top:28px;padding-top:12px;border-top:1px solid var(--line);min-width:0}
.rule-editor-shared>*{min-width:0}.rule-editor-shared .editor-full,.rule-editor-shared .form-actions,.rule-editor-shared .form-error{grid-column:1/-1}
.rule-editor-form .form-actions{padding-top:18px;border-top:1px solid var(--line);margin-top:24px}
.rule-editor-form .form-actions button{min-height:44px}

/* The view switch remains a distinct, comfortably sized top-bar control. */
.mode-switch{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:82px;min-height:44px;flex-shrink:0;padding:10px 13px;border:1px solid #b8cbbb;border-radius:10px;background:#e8efe4;color:var(--green-dark);font-size:10px;font-weight:600;letter-spacing:.1em;white-space:nowrap;touch-action:manipulation;transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease,scale 120ms cubic-bezier(.2,.8,.2,1)}
.mode-switch.is-sub{border-color:#d8ded3;background:rgba(255,255,255,.55);color:var(--muted);letter-spacing:.04em;font-weight:500}
.mode-switch svg{width:15px;height:15px}.mode-switch:active:not(:disabled){scale:.98}

/* Analytics uses the same quiet glass surfaces as the reading view. */
.analytics-toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:0 0 20px;min-width:0}
.analytics-toolbar label{display:flex;flex:1 1 180px;flex-direction:column;gap:7px;min-width:0;color:var(--muted);font-size:11px}
.analytics-toolbar select,.analytics-rule-filters input,.analytics-rule-filters select{width:100%;min-width:0;min-height:44px;border:1px solid #d4dfcd;border-radius:9px;background:#ffffff9c;padding:10px 12px;color:var(--ink);font-size:12px;text-overflow:ellipsis}
.analytics-toolbar>button{min-height:44px;flex:0 0 auto}
.analytics-notice{padding:15px 18px;border:1px solid #d8e3d1;border-radius:12px;background:#e8eee3a8;color:#617354;font-size:12px;line-height:1.8;margin:0 0 22px;overflow-wrap:anywhere}
.analytics-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.metric-card{min-width:0;padding:23px;overflow-wrap:anywhere}
.metric-card>span{display:block;font-size:10px;line-height:1.6;color:var(--muted);letter-spacing:.06em}
.metric-card>strong{display:block;font-family:var(--serif);font-size:38px;line-height:1.2;font-weight:400;letter-spacing:-.8px;color:var(--green-dark);margin:12px 0 8px}
.metric-card>small{display:block;font-size:10px;line-height:1.65;color:var(--muted)}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.analytics-panel{min-width:0;max-width:100%;padding:24px;overflow:hidden}
.analytics-panel h2{font-family:var(--serif);font-size:25px;line-height:1.3;font-weight:400;letter-spacing:-.4px;margin:0 0 20px;overflow-wrap:anywhere}
.analytics-wide{grid-column:1/-1}
.analytics-chart{display:block;width:100%;height:180px;color:#829c75}
.analytics-chart svg{display:block;width:100%;height:100%;overflow:visible}
.analytics-chart rect{fill:currentColor;stroke:none;rx:3px}
.analytics-chart text{fill:var(--muted);stroke:none;font-family:var(--sans);font-size:10px}
.analytics-chart line{stroke:var(--line);stroke-width:1}
.analytics-table-wrap{width:100%;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.analytics-table{width:100%;min-width:560px;border-collapse:collapse;text-align:left;font-size:12px;line-height:1.6}
.analytics-table th{padding:12px 10px;border-bottom:1px solid #d6dfd1;color:var(--muted);font-size:10px;font-weight:500;vertical-align:bottom}
.analytics-table td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
.analytics-table th:first-child,.analytics-table td:first-child{padding-left:0}.analytics-table th:last-child,.analytics-table td:last-child{padding-right:0}.analytics-table tbody tr:last-child td{border-bottom:0}
.analytics-table .rule-link{display:inline-block;max-width:100%;padding:2px 0;text-align:left;line-height:1.6;font-size:12px;font-weight:400;color:var(--green);text-decoration:underline;text-decoration-color:#b8cdb9;text-underline-offset:4px;overflow-wrap:anywhere}
.analytics-bars{display:grid;gap:19px}
.analytics-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:7px 14px;min-width:0}
.analytics-bar-row>span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.analytics-bar-row>strong,.analytics-bar-row>span:nth-child(2){font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}
.analytics-bar-row progress{grid-column:1/-1;display:block;width:100%;height:6px;overflow:hidden;border:0;border-radius:6px;appearance:none;background:#e1e7db;accent-color:#849d76}
.analytics-bar-row progress::-webkit-progress-bar{border-radius:6px;background:#e1e7db}.analytics-bar-row progress::-webkit-progress-value{border-radius:6px;background:#849d76}.analytics-bar-row progress::-moz-progress-bar{border-radius:6px;background:#849d76}
.analytics-empty{padding:24px 0;color:var(--muted);font-size:12px;line-height:1.8;text-align:center;overflow-wrap:anywhere}
.analytics-privacy-note{margin:18px 0 0;font-size:10px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}
.analytics-rule-filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px;min-width:0}
.analytics-rule-filters input{flex:2 1 180px}.analytics-rule-filters select{flex:1 1 180px}
.analytics-rule-filters label{flex:1 1 180px;min-width:0;font-size:11px;color:var(--muted)}
.analytics-rule-filters label>span{display:block;margin-bottom:7px}

@media(max-width:1100px){.topbar .breadcrumb{display:none}.top-actions{width:100%;min-width:0}.top-actions .search{flex:1;min-width:0}}
@media(max-width:850px){.analytics-grid{grid-template-columns:minmax(0,1fr)}.metric-card{padding:19px}.analytics-panel{padding:21px}}
@media(max-width:740px){
  .topbar{position:relative;min-height:130px;padding:12px 0;align-items:flex-start}
  .topbar .menu-button{position:absolute;top:16px;left:0;width:44px;height:44px;padding:0}
  .top-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:0;width:100%}
  .top-actions .mode-switch{grid-column:1;grid-row:1;justify-self:start;margin-left:54px}
  .top-actions .language-switch{grid-column:2;grid-row:1;justify-self:end}
  .top-actions .language-switch button{min-width:38px;min-height:44px}
  .top-actions .search{grid-column:1/-1;grid-row:2;width:100%;height:44px;min-width:0}
  .top-actions .search input{font-size:12px}.top-actions>.icon-button{display:none}
  .focus-mode .topbar{min-height:130px}.focus-mode .top-actions .mode-switch{margin-left:0}
  .rule-copy>.markdown-body{font-size:14px;line-height:1.9}
  .analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .analytics-toolbar{gap:12px}.analytics-toolbar label{flex-basis:calc(50% - 6px)}
  .analytics-toolbar>button{width:100%}.analytics-table th,.analytics-table td{padding-block:12px}
}
@media(max-width:700px){
  .rule-editor-dialog .dialog-header{padding:18px 16px}.rule-editor-dialog .dialog-header h2{font-size:27px}
  .rule-editor-dialog .dialog-content{max-height:calc(90dvh - 80px)}
  .rule-editor-form{padding:20px 16px 24px}.rule-editor-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .rule-editor-column+.rule-editor-column{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}
  .rule-editor-column .field input,.rule-editor-column .field textarea{font-size:16px}
  .rule-editor-column .field textarea{min-height:270px}.markdown-preview{padding:16px}
  .rule-editor-shared{grid-template-columns:minmax(0,1fr);margin-top:24px;column-gap:0}
  .rule-editor-shared .field input,.rule-editor-shared .field select,.rule-editor-shared .field textarea{font-size:16px}
  .rule-editor-form .form-actions{gap:9px}.rule-editor-form .form-actions>*{flex-basis:100%}
}
@media(max-width:440px){
  .metric-card{padding:17px 14px}.metric-card>strong{font-size:32px}.metric-card>span{font-size:10px;letter-spacing:0}
  .analytics-panel{padding:20px 16px}.analytics-panel h2{font-size:24px}.analytics-grid{gap:16px}
  .analytics-toolbar label{flex-basis:100%}.analytics-rule-filters input,.analytics-rule-filters select{flex-basis:100%}
  .analytics-toolbar select,.analytics-rule-filters input,.analytics-rule-filters select{font-size:16px}
  .analytics-notice{padding:14px 15px}.analytics-privacy-note{font-size:10px}
}
@media(hover:hover) and (pointer:fine){.mode-switch:hover:not(:disabled){border-color:#96b29c;background:#e0eadb}.mode-switch.is-sub:hover:not(:disabled){background:#fff9}.analytics-table .rule-link:hover{color:var(--green-dark);text-decoration-color:var(--green)}}
@media(prefers-reduced-motion:reduce){.mode-switch{transition:none}}

.page-footer:has(.analytics-privacy-note){flex-wrap:wrap}.page-footer>.analytics-privacy-note{flex-basis:100%;margin:0}
.analytics-toolbar .field,.analytics-rule-filters .field{margin:0}.analytics-chart-labels,.analytics-table-end{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:12px 0;color:var(--muted);font-size:11px}.analytics-table-end{flex-wrap:wrap}.analytics-table small,.analytics-table .rule-link>span{display:block;color:var(--muted);font-size:10px}.analytics-detail{margin-top:22px}.analytics-detail>summary{cursor:pointer;font-size:12px;min-height:44px;display:flex;align-items:center;color:var(--green);list-style:revert}.analytics-methodology{color:var(--muted);font-size:11px;line-height:1.8;margin-top:24px}.markdown-empty{color:var(--muted)}

.history-text.markdown-body{white-space:normal}
