:root{--navy:#071a2b;--navy-2:#0e2b43;--gold:#d5a74b;--paper:#f5f3ee;--white:#fff;--ink:#15202b;--muted:#72808d;--line:#dde2e5;--green:#1e8a66;--shadow:0 12px 34px rgba(7,26,43,.12)}
*{box-sizing:border-box}html{background:#dce1e3}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{min-height:100dvh;background:var(--paper);max-width:560px;margin:auto;position:relative;padding-bottom:88px;box-shadow:0 0 50px rgba(7,26,43,.18)}button,input{font:inherit}button{cursor:pointer}.topbar{height:72px;padding:12px 20px;display:flex;align-items:center;color:#fff;background:var(--navy);position:sticky;top:0;z-index:20}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(213,167,75,.55);color:var(--gold);font-family:var(--ui-font, Arial, sans-serif);font-size:25px;font-weight:700;transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}.brand-copy{margin-left:15px;display:flex;flex-direction:column;font-weight:800;letter-spacing:.08em}.brand-copy small{font-size:8px;color:#a9b4bc;letter-spacing:.24em;margin-top:2px}.icon-button{margin-left:auto;width:40px;height:40px;border:0;background:transparent;color:#dce3e8}.icon-button svg,.global-search svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.8}.view{display:none;min-height:calc(100dvh - 160px)}.view.active{display:block}.hero{background:linear-gradient(155deg,var(--navy) 0%,#0a2136 70%,#133750 100%);color:white;padding:28px 20px 32px;position:relative;overflow:hidden}.hero:after{content:"§";position:absolute;right:-12px;top:0;font:180px var(--ui-font, Arial, sans-serif);color:rgba(255,255,255,.035)}.eyebrow{color:#b7c2ca;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.status-dot{display:inline-block;width:7px;height:7px;background:#4bc69a;border-radius:50%;box-shadow:0 0 0 4px rgba(75,198,154,.12);margin-right:7px}.hero h1{font:700 36px/1.05 var(--ui-font, Arial, sans-serif);letter-spacing:-.025em;margin:18px 0 10px}.hero h1 em{color:var(--gold);font-style:normal}.hero p{color:#b9c4cc;line-height:1.5;font-size:14px;max-width:390px}.global-search{height:58px;background:#fff;border-radius:5px;margin-top:23px;display:flex;align-items:center;padding:0 17px;position:relative;z-index:2;box-shadow:0 8px 25px rgba(0,0,0,.17);color:#87939c}.global-search input{border:0;outline:0;min-width:0;flex:1;padding:0 13px;color:var(--ink)}.global-search span{font-weight:700}.content-section{padding:22px 20px 2px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-card{border:0;border-radius:6px;min-height:140px;text-align:left;padding:17px;color:#fff;display:flex;flex-wrap:wrap;align-items:flex-start;box-shadow:var(--shadow)}.quick-card.navy{background:var(--navy-2)}.quick-card.gold{background:#b9852e}.quick-card .card-icon{font:29px var(--ui-font, Arial, sans-serif);width:100%;color:#fff}.quick-card b,.quick-card small{display:block}.quick-card b{font:700 18px/1.05 var(--ui-font, Arial, sans-serif)}.quick-card small{font-size:10px;margin-top:7px;opacity:.72}.quick-card i{font-style:normal;margin-left:auto;margin-top:auto}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-heading h2{font:700 20px var(--ui-font, Arial, sans-serif);margin:0}.section-heading button{border:0;background:none;color:#a77929;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.section-heading span{font-size:12px;color:var(--muted)}.topic-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.topic{border:0;background:transparent;padding:2px;color:var(--ink)}.topic span{height:52px;border-radius:50%;background:#ebe8e0;display:grid;place-items:center;margin:auto auto 7px;max-width:52px;color:#9c742d;font:700 15px var(--ui-font, Arial, sans-serif)}.topic b{font-size:10px}.result-list{display:grid;gap:10px}.result-card{border:1px solid var(--line);background:#fff;border-radius:5px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:7px;box-shadow:0 4px 12px rgba(7,26,43,.035)}.result-card small{color:#a0772d;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.1em}.result-card b{font:700 17px var(--ui-font, Arial, sans-serif)}.result-card p{grid-column:1/-1;margin:0;color:#64717c;font-size:12px;line-height:1.45}.result-card button{grid-row:1/3;grid-column:2;border:0;background:transparent;font-size:22px;color:#b3883c}.result-card mark{background:#ffe39e;padding:0 1px}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed #cbd2d6;border-radius:6px}.update-card{margin:26px 20px;padding:17px;background:#e8eee9;border-left:3px solid var(--green);font-size:12px}.update-card p{color:#64756b;line-height:1.45;margin:8px 0 0}.page-title{background:var(--navy);color:#fff;padding:20px;display:flex;align-items:center}.page-title .back{border:0;background:rgba(255,255,255,.08);color:white;border-radius:50%;height:38px;width:38px;margin-right:15px}.page-title small{color:var(--gold);letter-spacing:.16em;font-size:9px;font-weight:800}.page-title h1{font:700 29px var(--ui-font, Arial, sans-serif);margin:2px 0}.page-body{padding:22px 20px}.inline-search{height:48px;display:flex;align-items:center;background:#fff;border:1px solid var(--line);padding:0 14px;border-radius:4px}.inline-search input{border:0;outline:0;flex:1;padding:0 10px}.filter-chips{display:flex;gap:7px;overflow:auto;padding:13px 0}.filter-chips button{border:1px solid var(--line);background:#fff;color:#56636e;border-radius:20px;padding:7px 12px;font-size:11px;white-space:nowrap}.filter-chips button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.demo-notice,.legal-note{font-size:10px;line-height:1.45;color:#7a858c}.law-list{display:grid;gap:10px}.law-item{background:white;border:1px solid var(--line);padding:16px;border-radius:5px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start}.law-number{color:#a67827;font:700 17px var(--ui-font, Arial, sans-serif);min-width:38px}.law-item h3{font:700 15px var(--ui-font, Arial, sans-serif);margin:1px 0 5px}.law-item p{font-size:12px;color:#687680;margin:0;line-height:1.45}.law-item button{border:0;background:transparent;color:#b08842;font-size:20px}.law-tag{display:inline-block;margin-top:8px;font-size:8px;text-transform:uppercase;font-weight:800;letter-spacing:.1em;color:#87929a}.step{display:flex;align-items:center;margin:3px 0 15px}.step>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:white;font-size:12px;margin-right:10px}.step b,.step small{display:block}.step small{color:var(--muted);font-size:10px;margin-top:2px}.speed-options{display:grid;grid-template-columns:repeat(6,1fr);position:relative;margin-bottom:28px}.speed-options button{height:45px;border:1px solid var(--line);background:white;font-weight:800}.speed-options button.active{background:var(--gold);color:#fff;border-color:var(--gold)}.speed-options small{position:absolute;right:0;bottom:-17px;color:var(--muted)}.field>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.field>div{display:flex;background:#fff;border:1px solid var(--line);margin:7px 0 27px;height:58px;align-items:center;padding:0 15px}.field input{border:0;outline:0;min-width:0;flex:1;font-size:27px;font-weight:800}.field b{font-size:12px;color:var(--muted)}.toggle-row{display:flex;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.toggle-row span{flex:1}.toggle-row b,.toggle-row small{display:block}.toggle-row b{font-size:13px}.toggle-row small{font-size:10px;color:var(--muted);margin-top:3px}.toggle-row input{display:none}.toggle-row i{width:42px;height:23px;border-radius:20px;background:#c9cfd3;position:relative;transition:.2s}.toggle-row i:after{content:"";position:absolute;width:17px;height:17px;background:#fff;border-radius:50%;top:3px;left:3px;transition:.2s}.toggle-row input:checked+i{background:var(--gold)}.toggle-row input:checked+i:after{left:22px}.calculate-button{width:100%;border:0;background:var(--navy);color:white;padding:17px;margin:24px 0 13px;border-radius:4px;font-weight:800}.calculate-button span{float:right}.fine-result{background:white;border-top:4px solid var(--gold);padding:20px;box-shadow:var(--shadow);margin-bottom:15px}.fine-result .total{font:700 34px var(--ui-font, Arial, sans-serif);color:var(--navy)}.fine-result dl{margin:15px 0 0}.fine-result dl div{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid var(--line);font-size:12px}.fine-result dd{font-weight:800}.fine-result .warning{color:#a14c36;font-weight:800;font-size:11px}.profile-card{display:flex;align-items:center;background:white;padding:18px;border:1px solid var(--line)}.avatar{height:48px;width:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-weight:800;margin-right:13px}.profile-card b,.profile-card small{display:block}.profile-card small{color:var(--muted);font-size:11px;margin-top:4px}.plans-title{font:700 20px var(--ui-font, Arial, sans-serif);margin-top:27px}.plans{display:grid;gap:10px}.plans button{position:relative;border:1px solid var(--line);background:white;padding:16px;text-align:left;display:grid;grid-template-columns:1fr auto}.plans button b{font:700 17px var(--ui-font, Arial, sans-serif)}.plans button strong{color:#a6792c}.plans button small{color:var(--muted);margin-top:4px}.plans button.featured{border:2px solid var(--gold)}.plans button>span{position:absolute;right:10px;top:-9px;background:var(--gold);color:white;font-size:7px;padding:4px 6px;letter-spacing:.08em;font-weight:800}.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(560px,100%);height:76px;padding-bottom:env(safe-area-inset-bottom);background:white;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}.bottom-nav button{border:0;background:white;color:#8a959c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.bottom-nav span{font:20px var(--ui-font, Arial, sans-serif)}.bottom-nav b{font-size:9px}.bottom-nav button.active{color:var(--navy)}.bottom-nav .calc-nav span{background:var(--gold);color:white;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;margin-top:-22px;box-shadow:0 5px 12px rgba(183,132,45,.35)}.hidden{display:none!important}.toast{position:fixed;z-index:60;bottom:92px;left:50%;transform:translate(-50%,20px);background:#152b3b;color:white;padding:11px 16px;border-radius:4px;font-size:12px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.official-link{display:block;background:#e9efe9;color:#176449;border-left:3px solid var(--green);padding:11px 12px;margin:11px 0 16px;text-decoration:none;font-size:11px;font-weight:800}
.topic span.quick-icon{display:block;width:64px;height:64px;max-width:none;border-radius:13px;margin:0 auto 8px;background-color:#f2f0eb;background-repeat:no-repeat;background-position:center;background-size:cover;box-shadow:0 4px 12px rgba(7,26,43,.16)}.quick-icon.speed-icon{background-image:url('assets/vitesse.png')}.quick-icon.phone-icon{background-image:url('assets/cellulaire.png')}.quick-icon.licence-icon{background-image:url('assets/permis.png')}.quick-icon.seatbelt-icon{background-image:url('assets/ceinture.png')}
.result-card[data-article],.law-item[data-article]{cursor:pointer}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(3,15,25,.72);display:flex;align-items:flex-end;justify-content:center;padding-top:40px}.article-modal{width:min(560px,100%);max-height:92dvh;overflow:auto;background:var(--paper);border-radius:14px 14px 0 0;box-shadow:0 -16px 50px rgba(0,0,0,.25);animation:modalUp .22s ease-out}.modal-handle{width:42px;height:4px;border-radius:4px;background:#c6ccd0;margin:10px auto 2px}.modal-header{position:sticky;top:0;z-index:2;background:var(--navy);color:white;padding:18px 20px;display:flex;align-items:start}.modal-header small{font-size:9px;color:var(--gold);letter-spacing:.14em;font-weight:800}.modal-header h2{font:700 24px var(--ui-font, Arial, sans-serif);margin:3px 0 0}.modal-header button{border:0;background:rgba(255,255,255,.1);color:white;border-radius:50%;width:36px;height:36px;margin-left:auto;font-size:24px;line-height:1}.modal-content{padding:20px}.modal-status{display:flex;gap:7px;margin-bottom:18px}.modal-status span{font-size:8px;text-transform:uppercase;font-weight:800;letter-spacing:.08em;padding:6px 8px;border-radius:20px;background:#e8e4da;color:#775c29}.modal-content section{background:white;border:1px solid var(--line);padding:15px;margin-bottom:10px}.modal-content section>small,.legal-facts small{font-size:8px;color:#9a752f;font-weight:800;letter-spacing:.12em}.modal-content h3{font:700 18px var(--ui-font, Arial, sans-serif);margin:6px 0 0}.modal-content p{font-size:13px;line-height:1.55;color:#53616c;margin:7px 0 0}.legal-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.legal-facts>div{background:var(--navy-2);color:white;padding:15px;min-height:82px}.legal-facts strong{display:block;font:700 16px var(--ui-font, Arial, sans-serif);margin-top:8px}.keyword-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.keyword-list span{background:#f0ede6;color:#56636d;border-radius:14px;padding:5px 8px;font-size:9px}.modal-warning{font-size:10px;line-height:1.45;color:#765c2c;background:#fff3d8;border-left:3px solid var(--gold);padding:11px;margin-top:13px}@keyframes modalUp{from{transform:translateY(35px);opacity:.5}to{transform:translateY(0);opacity:1}}body.modal-open{overflow:hidden}
@media(min-width:561px){body{padding:24px}.app-shell{min-height:calc(100dvh - 48px);border-radius:10px;overflow:hidden}.topbar{position:relative}.bottom-nav{bottom:24px;border-radius:0 0 10px 10px}}
.connection-status{min-height:34px;padding:8px 20px;display:flex;align-items:center;gap:4px;background:#e8eee9;color:#315e4e;border-bottom:1px solid #d5dfd8;font-size:10px;font-weight:800;letter-spacing:.02em}.connection-status.offline{background:#fff3d8;color:#765c2c;border-color:#ead9b4}.connection-status.offline .status-dot{background:#d59a35;box-shadow:0 0 0 4px rgba(213,154,53,.14)}.connection-status.updating .status-dot{animation:statusPulse 1s infinite}.connection-status button{margin-left:auto;border:1px solid currentColor;border-radius:14px;background:transparent;color:inherit;padding:4px 9px;font-size:9px;font-weight:800}@keyframes statusPulse{50%{opacity:.35}}
.fine-result .speed-over{color:#a77929;font-size:11px;font-weight:800;margin-top:4px}.fine-result dd{text-align:right;max-width:62%;margin-left:12px}
.calculator-advisory{margin:12px 0 0;padding:11px 12px;border-left:3px solid var(--gold);background:#fff6e4;color:#66542f;font-size:11px;line-height:1.5}:root[data-theme="dark"] .calculator-advisory{background:#2b2417;color:#e0c58e}
.article-modal{border:1px solid rgba(185,133,46,.75);border-bottom:0;box-shadow:0 -18px 55px rgba(3,15,25,.34),inset 0 0 0 1px rgba(255,255,255,.35)}.paywall-modal{border:1px solid rgba(185,133,46,.78);box-shadow:0 25px 70px rgba(3,15,25,.42),inset 0 0 0 1px rgba(255,255,255,.35)}.article-modal .modal-header,.paywall-modal .modal-header{border-bottom:2px solid rgba(213,167,75,.72)}.modal-content section{border-color:#d2c39f;box-shadow:0 3px 10px rgba(7,26,43,.045)}:root[data-theme="dark"] .article-modal,:root[data-theme="dark"] .paywall-modal{border-color:#d5a74b;box-shadow:0 25px 75px rgba(0,0,0,.68),inset 0 0 0 1px rgba(213,167,75,.18)}:root[data-theme="dark"] .modal-content section{border-color:#4d5860;box-shadow:0 4px 14px rgba(0,0,0,.22)}
.fine-breakdown dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 0}.fine-breakdown dl div{background:var(--paper);border:1px solid var(--line);padding:9px}.fine-breakdown dt{font-size:9px;color:#697883}.fine-breakdown dd{margin:3px 0 0;font-weight:800;color:var(--navy)}.fine-adjustment{border-left:3px solid var(--gold);background:#fff3d8;padding:9px!important;color:#765c2c!important}
.fine-equation{display:grid;grid-template-columns:minmax(68px,1fr) auto minmax(68px,1fr) auto minmax(68px,1fr) auto minmax(78px,1.15fr);align-items:center;gap:5px;margin-top:12px;padding:12px 9px;background:var(--navy-2);color:white;border-radius:8px;overflow-x:auto}.fine-equation>div{text-align:center;min-width:68px}.fine-equation span{display:block;font:700 15px var(--ui-font, Arial, sans-serif);white-space:nowrap}.fine-equation small{display:block;margin-top:5px!important;color:#d8c28f!important;font-size:6px!important;line-height:1.2;letter-spacing:.06em!important}.fine-equation>b{color:var(--gold);font-size:18px}.fine-equation-total{background:rgba(255,255,255,.1);border:1px solid rgba(226,178,75,.65);padding:8px 5px}.fine-equation-total span{color:#ffe5a6}
@media(max-width:480px){.fine-equation{grid-template-columns:1fr auto 1fr;row-gap:10px}.fine-equation>div:nth-of-type(3),.fine-equation>b:nth-of-type(3),.fine-equation>div:nth-of-type(4){grid-row:2}.fine-equation>div:nth-of-type(3){grid-column:1}.fine-equation>b:nth-of-type(3){grid-column:2}.fine-equation>div:nth-of-type(4){grid-column:3}}
.brand-logo{width:66px;height:52px;object-fit:contain;flex:0 0 auto}
.category-filter{display:grid;gap:6px;margin:14px 0 5px}.category-filter span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6d7880}.category-filter select{width:100%;height:48px;padding:0 42px 0 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-weight:700;appearance:auto}.law-result-count{min-height:18px;color:var(--muted);font-size:11px;text-align:right}
.release-info{display:grid!important;grid-template-columns:1fr auto;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(30,138,102,.2)}.release-info strong{font-size:11px}.release-info span{font-size:9px;font-weight:800;color:var(--green);background:#fff;padding:3px 6px;border-radius:10px}
.pro-label{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:2px 6px 2px 3px;border-radius:10px;background:var(--navy);color:#fff;font:800 8px Inter,sans-serif;vertical-align:middle}.pro-label:before,.locked-value:before,.locked-keyword:before,.pro-gate b:before{content:"";display:inline-block;background:url('assets/cadenas-lock.png') center/contain no-repeat;vertical-align:middle}.pro-label:before{width:15px;height:15px}.locked-value{color:#d7a84e!important;font-size:14px!important}.locked-value:before{width:23px;height:23px;margin-right:7px}.locked-keyword{display:inline-flex!important;align-items:center;gap:5px;background:#eee9df!important;color:#856c40!important}.locked-keyword:before{width:18px;height:18px}.pro-gate{margin:18px 0;padding:17px;border:1px solid #d6bb84;border-radius:7px;background:#fff8e9}.pro-gate b{display:flex;align-items:center;gap:10px;font:700 17px var(--ui-font, Arial, sans-serif)}.pro-gate b:before{width:38px;height:38px;flex:0 0 38px}.pro-gate p{margin:7px 0 13px;color:#687680;font-size:12px;line-height:1.45}.pro-gate button,.trial-button{width:100%;border:0;border-radius:5px;background:var(--gold);color:#fff;padding:14px;font-weight:800}.trial-button{margin:16px 0 4px}.paywall-modal{background:var(--paper);width:min(520px,calc(100% - 24px));max-height:90dvh;overflow:auto;border-radius:10px;box-shadow:0 25px 70px rgba(0,0,0,.35)}.paywall-content{padding:20px}.paywall-lead{color:#5f6e78;line-height:1.5;margin-top:0}.paywall-content ul{padding-left:20px;color:#263a49;font-size:13px;line-height:1.9}.paywall-plans{margin-top:16px}.plans button.selected{border:2px solid var(--green);background:#f2f8f2}.restore-button{display:block;margin:15px auto 8px;border:0;background:transparent;color:#85611f;text-decoration:underline;font-size:12px}
.account-actions{display:flex;gap:8px;margin-top:10px}.account-actions button{flex:1;border:1px solid var(--navy);border-radius:4px;background:#fff;color:var(--navy);padding:11px;font-size:11px;font-weight:800}.auth-content{padding:20px}.auth-content>p{color:#60707b;font-size:13px;line-height:1.5}.provider-button{width:100%;margin-bottom:9px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--navy);padding:13px;font-weight:800}.auth-separator{display:flex;align-items:center;gap:10px;color:#89949b;font-size:11px;margin:10px 0}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:var(--line);flex:1}.auth-content label{display:block;margin-bottom:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.auth-content input{width:100%;height:50px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:0 13px;font-size:15px;outline:none}.auth-content input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,133,46,.12)}
.about-button{width:28px;height:28px;flex:0 0 28px;margin-left:auto;margin-right:2px;border:1px solid var(--gold);border-radius:50%;background:rgba(255,255,255,.06);color:var(--gold);font:700 17px var(--ui-font, Arial, sans-serif)}.about-button:hover,.about-button:focus-visible{background:var(--gold);color:var(--navy);outline:none}.about-content section{padding:18px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:5px;margin-bottom:12px}.about-content h3{font:700 18px var(--ui-font, Arial, sans-serif);color:var(--navy);margin:0 0 7px}.about-content p,.about-content li{color:#596974;font-size:12px;line-height:1.6}.about-content p{margin:0 0 8px}.about-content ul{margin:8px 0 0;padding-left:20px}.about-content li+li{margin-top:4px}.about-content .official-link{display:block;margin-top:15px}.contact-link{display:inline-block;color:#8d651d;font-weight:800;text-decoration:none;margin-top:2px}.about-footer{display:flex;flex-direction:column;gap:5px;margin-top:22px;padding:16px 4px 2px;border-top:1px solid var(--line);color:#7b878f;font-size:10px;text-align:center}
.legal-page-links{display:grid;gap:9px;margin-top:12px}.legal-page-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border:0;border-radius:5px;background:var(--navy);color:#fff;text-align:left;font-weight:800}.legal-page-button span{color:var(--gold);font-size:19px}.privacy-placeholder{padding:22px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:5px}.privacy-placeholder h2{font:700 20px var(--ui-font, Arial, sans-serif);color:var(--navy);margin:0 0 8px}.privacy-placeholder p{color:#66747d;font-size:12px;line-height:1.6;margin:0}
.legal-document-intro{padding:20px;margin-bottom:12px;background:var(--navy);color:#fff;border-radius:5px}.legal-document-intro b,.legal-document-intro span{display:block}.legal-document-intro b{font:700 22px var(--ui-font, Arial, sans-serif);color:var(--gold)}.legal-document-intro span{margin:4px 0 13px;color:#b8c3ca;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.legal-document-intro p{margin:0;color:#e2e7ea;font-size:12px;line-height:1.6}.privacy-content>section:not(.privacy-placeholder){padding:18px;margin-bottom:10px;background:#fff;border:1px solid var(--line);border-radius:5px}.privacy-content h2{font:700 18px var(--ui-font, Arial, sans-serif);color:var(--navy);margin:0 0 9px}.privacy-content p,.privacy-content li{color:#596974;font-size:12px;line-height:1.6}.privacy-content p{margin:0 0 8px}.privacy-content ul{padding-left:20px;margin:8px 0 12px}.privacy-content li+li{margin-top:3px}.legal-document-footer{display:flex;flex-direction:column;gap:5px;padding:18px 4px 2px;color:#7b878f;font-size:10px;line-height:1.6;text-align:center}
.benefit-list{padding:0!important;list-style:none}.benefit-list li{position:relative;padding-left:22px}.benefit-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.bottom-nav{height:82px;padding:4px 7px env(safe-area-inset-bottom);background:rgba(255,255,255,.97);border-top:1px solid #dfe4e7;box-shadow:0 -8px 24px rgba(7,26,43,.09);backdrop-filter:blur(12px)}.bottom-nav button{position:relative;background:transparent;color:#71808b;gap:5px;padding:7px 2px 5px;transition:color .2s,transform .2s}.bottom-nav .nav-icon{width:27px;height:27px;display:grid;place-items:center;font:700 29px/1 var(--ui-font, Arial, sans-serif)}.bottom-nav svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.bottom-nav .law-symbol{font-size:31px}.bottom-nav b{font-size:10px;font-weight:750}.bottom-nav button.active{color:#123d70}.bottom-nav button.active:not(.calc-nav):after{content:"";position:absolute;bottom:1px;width:34px;height:3px;border-radius:3px;background:#72b52d}.bottom-nav button:active{transform:scale(.96)}.bottom-nav .calc-nav{color:#a87618}.bottom-nav .calc-nav .nav-icon{background:linear-gradient(145deg,#e5bb4e,#c8921d);color:white;border-radius:50%;width:54px;height:54px;margin-top:-29px;font:700 35px/1 var(--ui-font, Arial, sans-serif);box-shadow:0 7px 17px rgba(176,124,27,.38),inset 0 1px 0 rgba(255,255,255,.4)}.bottom-nav .calc-nav.active b{color:#a87618}.toast{bottom:98px}
.quick-grid{grid-template-columns:1fr;gap:13px}.quick-card{position:relative;min-height:112px;display:grid;grid-template-columns:66px 1fr 28px;align-items:center;gap:15px;padding:18px 20px;border-radius:13px;overflow:hidden;box-shadow:0 10px 24px rgba(7,26,43,.17);transition:transform .2s,box-shadow .2s}.quick-card:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 50%);pointer-events:none}.quick-card.navy{background:linear-gradient(135deg,#06192b,#0b3152)}.quick-card.gold{background:linear-gradient(135deg,#b77908,#dda914)}.quick-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(7,26,43,.22)}.quick-card:active{transform:scale(.985)}.quick-card .card-icon{position:relative;width:64px;height:64px;display:grid;place-items:center;border:2px solid #e6b940;border-radius:50%;font:700 42px/1 var(--ui-font, Arial, sans-serif);color:#fff;background:rgba(5,22,37,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.quick-card.gold .card-icon{border-color:rgba(255,224,139,.72);background:rgba(130,80,0,.15)}.quick-card>span:nth-child(2){position:relative;min-width:0}.quick-card b{font:700 21px/1.12 Inter,ui-sans-serif,sans-serif;letter-spacing:-.02em}.quick-card small{font-size:12px;margin-top:7px;opacity:.86}.quick-card i{position:relative;margin:0;font:300 32px/1 Inter,sans-serif;justify-self:end;color:#fff}
.language-screen{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:22px;background:linear-gradient(155deg,#061727,#0b2d4d)}.language-card{width:min(420px,100%);padding:25px;border:1px solid rgba(213,167,75,.35);border-radius:12px;background:#fff;text-align:center;box-shadow:0 25px 70px rgba(0,0,0,.35)}.language-card img{width:112px;height:112px;object-fit:contain;border-radius:22px}.language-card>small{display:block;margin-top:13px;color:#a77b2e;font-size:9px;font-weight:800;letter-spacing:.16em}.language-card h1{font:700 27px/1.15 var(--ui-font, Arial, sans-serif);color:var(--navy);margin:9px 0}.language-card h1 span{font-size:21px;color:#536674}.language-card p{color:#71808a;font-size:11px;line-height:1.5;margin-bottom:18px}.language-card button{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:15px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);text-align:left}.language-card button:hover{border-color:var(--gold);background:#fffaf0}.language-card button b{font:700 18px var(--ui-font, Arial, sans-serif)}.language-card button span{color:#7c8991;font-size:10px}.language-setting{margin-top:12px;padding:15px;background:#fff;border:1px solid var(--line)}.language-setting>b{display:block;margin-bottom:10px;font-size:12px}.language-setting>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.language-setting button{padding:10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--navy);font-weight:800}.language-setting button.active{background:var(--navy);color:#fff;border-color:var(--navy)}

.theme-setting{margin-top:12px;padding:15px;background:#fff;border:1px solid var(--line)}.theme-setting>b{display:block;margin-bottom:10px;font-size:12px}.theme-setting>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.theme-setting button{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--navy);font-weight:800}.theme-setting button span{font-size:17px}.theme-setting button.active{background:var(--navy);color:#fff;border-color:var(--navy)}

:root[data-theme="dark"]{--paper:#0d1721;--white:#142331;--ink:#edf3f6;--muted:#9ba9b3;--line:#2b3c49;--navy:#061421;--navy-2:#102b40;--shadow:0 12px 34px rgba(0,0,0,.34);background:#050b11;color-scheme:dark}
:root[data-theme="dark"] body{background:#050b11}:root[data-theme="dark"] .app-shell{background:var(--paper);box-shadow:0 0 50px rgba(0,0,0,.48)}
:root[data-theme="dark"] .global-search,:root[data-theme="dark"] .inline-search,:root[data-theme="dark"] .filter-chips button,:root[data-theme="dark"] .category-filter select,:root[data-theme="dark"] .result-card,:root[data-theme="dark"] .law-item,:root[data-theme="dark"] .speed-options button,:root[data-theme="dark"] .field>div,:root[data-theme="dark"] .fine-result,:root[data-theme="dark"] .profile-card,:root[data-theme="dark"] .plans button,:root[data-theme="dark"] .account-actions button,:root[data-theme="dark"] .language-setting,:root[data-theme="dark"] .language-setting button,:root[data-theme="dark"] .theme-setting,:root[data-theme="dark"] .theme-setting button,:root[data-theme="dark"] .modal-content section,:root[data-theme="dark"] .provider-button,:root[data-theme="dark"] .auth-content input,:root[data-theme="dark"] .about-content section,:root[data-theme="dark"] .privacy-content>section:not(.privacy-placeholder),:root[data-theme="dark"] .privacy-placeholder{background:#142331;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] input,:root[data-theme="dark"] select{background:transparent;color:var(--ink)}:root[data-theme="dark"] .filter-chips button{color:#b8c3ca}:root[data-theme="dark"] .filter-chips button.active,:root[data-theme="dark"] .language-setting button.active,:root[data-theme="dark"] .theme-setting button.active{background:#285579;color:#fff;border-color:#4d7898}
:root[data-theme="dark"] .result-card p,:root[data-theme="dark"] .law-item p,:root[data-theme="dark"] .modal-content p,:root[data-theme="dark"] .about-content p,:root[data-theme="dark"] .about-content li,:root[data-theme="dark"] .privacy-content p,:root[data-theme="dark"] .privacy-content li,:root[data-theme="dark"] .privacy-placeholder p,:root[data-theme="dark"] .paywall-lead,:root[data-theme="dark"] .auth-content>p,:root[data-theme="dark"] .paywall-content ul{color:#b6c2ca}
:root[data-theme="dark"] .about-content h3,:root[data-theme="dark"] .privacy-content h2,:root[data-theme="dark"] .privacy-placeholder h2,:root[data-theme="dark"] .fine-result .total{color:#eef4f7}:root[data-theme="dark"] .topic span:not(.quick-icon){background:#1a2a36}:root[data-theme="dark"] .topic span.quick-icon{background-color:#182633}:root[data-theme="dark"] .update-card{background:#172a26}:root[data-theme="dark"] .update-card p{color:#a8bbb3}:root[data-theme="dark"] .connection-status{background:#142823;color:#8fd1b8;border-color:#234138}:root[data-theme="dark"] .connection-status.offline{background:#2c2415;color:#e0ba73;border-color:#4d3c1c}
:root[data-theme="dark"] .bottom-nav{background:rgba(8,19,28,.97);border-color:#263744;box-shadow:0 -8px 24px rgba(0,0,0,.3)}:root[data-theme="dark"] .bottom-nav button{color:#899aa6}:root[data-theme="dark"] .bottom-nav button.active{color:#8ebdeb}:root[data-theme="dark"] .plans button.selected{background:#193027}:root[data-theme="dark"] .modal-status span,:root[data-theme="dark"] .keyword-list span{background:#20313e;color:#c7b075}:root[data-theme="dark"] .modal-warning,:root[data-theme="dark"] .pro-gate{background:#2b2417;color:#e0c58e;border-color:#6b5528}:root[data-theme="dark"] .official-link{background:#172a26;color:#86d0b1}:root[data-theme="dark"] .release-info span{background:#20372f}:root[data-theme="dark"] .locked-keyword{background:#293039!important;color:#dbc184!important}

/* Posted speed signs: native touch scrolling with visible selection. */
.speed-options{display:flex;gap:12px;overflow-x:auto;max-width:100%;padding:7px 5px 14px;margin-bottom:22px;scroll-snap-type:x proximity;scroll-padding-inline:5px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.speed-options button{flex:0 0 84px;height:auto;padding:4px;border:2px solid transparent;border-radius:12px;background:transparent;scroll-snap-align:center;transition:border-color .15s,box-shadow .15s}
.speed-options button img{display:block;width:100%;height:auto;border-radius:7px;user-select:none;-webkit-user-drag:none}
.speed-options button.active{background:transparent;border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.speed-options button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.bottom-nav .calc-nav b{max-width:100%;font-size:9px;line-height:1.15;white-space:normal;text-align:center}
:root[data-theme="dark"] .speed-options button.active{background:transparent;border-color:var(--gold)}

@media (pointer:fine){.speed-options,.speed-options button{cursor:grab}}
.speed-options.dragging{scroll-snap-type:none;user-select:none}
.speed-options.dragging,.speed-options.dragging button{cursor:grabbing}

.school-zone-icon{width:42px;height:42px;object-fit:contain;flex-shrink:0;margin-right:12px}
