/* Same original glyphs, WOFF with Android's includeFontPadding metrics.
   Works without font-metric override descriptors (unsupported in some Safari). */
@font-face{font-family:Yekan;src:url('../assets/android/yekan-web.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:YekanCompact;src:url('../assets/android/yekan.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Kalameh;src:url('../assets/android/kalameh_bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--yellow:#f9d600;--surface:#002a42;--card:#003d59;--stroke:#0c506b;--muted:#fafafac3;--ink:#292929;--sp:.86;--app-width:440px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);color-scheme:dark;font-family:Yekan,Tahoma,sans-serif;font-size:16px;color:#fff;background:var(--surface)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior-y:none}body{background:var(--surface)}[hidden]{display:none!important}button,input,textarea,a{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit;background:transparent}button:disabled{cursor:default;opacity:.68}a{color:inherit;text-decoration:none}img{max-width:100%}p,h2,h3{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
#app{max-width:var(--app-width);height:100vh;height:100dvh;margin:auto;position:relative;overflow:hidden;background:var(--surface)}#main{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;padding-bottom:var(--safe-bottom);animation:main-enter 160ms cubic-bezier(.4,0,.2,1)}#main::-webkit-scrollbar{display:none}
.main-header{height:calc(350px + var(--safe-top));padding-top:calc(12px + var(--safe-top));background:var(--yellow);border-bottom-right-radius:50px}.account-panel{height:215px;margin:0 15px;background:var(--card);border-radius:10px;display:flex;align-items:center;flex-direction:column}.account-summary{height:131px;display:flex;align-items:center;justify-content:center;flex-shrink:0;direction:rtl}.account-summary>img{width:124px;height:131px;object-fit:contain;margin-left:4px}.account-summary>span{font-size:14px;line-height:1.87;margin-right:30px;white-space:nowrap}.primary,.outline,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;line-height:1.5;border-radius:9px;font-size:16px;padding:0 18px}.primary{background:var(--yellow);color:var(--ink)}.outline{border:1px solid var(--yellow);color:var(--yellow);background:transparent}.secondary{background:var(--surface);border:1px solid var(--stroke);color:#fff}.buy-plan{width:240px;height:50px;min-height:50px;flex-shrink:0;margin:18px 0;max-width:calc(100% - 32px);font-size:16px;line-height:1.87}.premium-credit{display:flex;flex-direction:column;align-items:center;align-self:flex-end;margin-right:4px;color:var(--yellow)}.premium-credit>img{width:auto;height:auto;max-height:36px}.premium-credit>span{font-size:12px;margin-top:10px;line-height:1.87}.premium-remaining{display:flex;align-items:center;line-height:1.87;gap:5px}.premium-remaining>span:first-child{font:700 40px/1.4 Kalameh;margin-block:-10px}.premium-remaining>span:last-child{font-size:calc(12px * var(--sp));margin-top:12px}
.main-content{margin-top:-120px;padding:0 10px 10px}.search-panel{margin:0 5px;padding:10px;border-radius:10px;background:var(--card)}#search-title{display:block;text-align:center;font-size:16px;line-height:30px;color:var(--yellow);margin-top:15px}.search-controls{padding:10px;margin:0 5px}.search-controls input{display:block;width:100%;height:60px;border:2px solid var(--yellow);border-radius:9px;text-align:center;background:#fefbea;color:var(--ink);padding:15px;font-size:calc(15px * var(--sp));line-height:1.87;box-shadow:0 2px 4px #0002;outline-offset:2px}.search-controls input::placeholder{color:#2b2b2b54;opacity:1}.search-button{position:relative;display:flex;width:calc(100% - 46px);height:45px;min-height:45px;margin:18px 23px 8px;overflow:hidden;padding-top:5px;line-height:1.87}.loading::after{content:'';position:absolute;bottom:0;left:0;width:45%;height:3px;background:var(--ink);animation:progress 1.2s ease-in-out infinite}#results{display:flex;overflow-x:auto;gap:10px;margin:10px 5px 0;scrollbar-width:none;direction:rtl}#app-message{margin:0 10px 4px;padding:4px;background:#fae5e5;color:#fd0c0c;border-radius:9px;text-align:center;line-height:1.87;font-size:calc(14px * var(--sp));overflow:hidden}#menu{display:flex;flex-direction:column}.menu-item{height:90px;margin:10px 5px 0;background:var(--card);border-radius:16px;box-shadow:0 3px 5px #0003;display:flex;align-items:center;padding:16px;gap:12px;text-align:right;flex-shrink:0;direction:rtl}.menu-icon{height:50px;width:50px;border-radius:12px;padding:13px;background:var(--yellow);flex-shrink:0}.icon{display:inline-block;width:24px;height:24px;object-fit:contain;mask-size:100% 100%;mask-repeat:no-repeat;flex-shrink:0;vertical-align:middle}.menu-copy{flex:1;min-width:0;display:flex;flex-direction:column}.menu-copy strong{font-size:calc(14px * var(--sp));font-weight:700;line-height:1.87}.menu-copy>span{font-size:calc(12px * var(--sp));line-height:1.87;color:var(--muted);margin-top:4px}.menu-arrow{margin-inline-start:0}.menu-item .menu-arrow{margin-right:-12px}.result-card{width:132px;height:150px;flex:0 0 132px;border:1px solid var(--stroke);border-radius:16px;background:var(--card);padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.avatar{border-radius:50%;object-fit:cover;border:2px solid var(--yellow)}.result-card .avatar{width:58px;height:58px;border-width:1px}.result-name{font-size:calc(13px * var(--sp));margin-top:8px;line-height:1.4;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-view{display:grid;place-items:center;font-size:calc(12px * var(--sp));height:38px;min-height:38px;margin-top:8px;width:100%;border-radius:10px;background:var(--yellow);color:var(--ink)}#features{height:90px;margin:10px 5px 0;color:var(--muted);text-align:center}#features>p{font-size:calc(14px * var(--sp));line-height:1.87;margin-bottom:5px}.feature-row{display:flex;align-items:center}.feature-row>div{width:33.333%;height:70px;display:flex;flex-direction:column;justify-content:center;align-items:center}.feature-row>div+div{border-right:.2px solid #ddd}.feature-row span{font-size:calc(12px * var(--sp));line-height:1.87}
#splash{height:100%;position:relative;min-height:280px}.splash-logo{position:absolute;left:50%;top:50%;width:150px;height:150px;object-fit:contain;transform:translate(-50%,-50%);animation:logo-enter 260ms cubic-bezier(.4,0,.2,1)}.splash-progress{position:absolute;bottom:calc(50px + var(--safe-bottom));left:calc(50% - 25px);width:50px;height:50px;display:grid;place-items:center}.splash-progress::after{content:'';width:22px;height:22px;border:2px solid transparent;border-top-color:var(--yellow);border-right-color:var(--yellow);border-radius:50%;animation:spin 850ms linear infinite}#startup-status{position:absolute;bottom:calc(102px + var(--safe-bottom));left:16px;right:16px;font-size:calc(14px * var(--sp));text-align:center;line-height:1.87}#retry{position:absolute;bottom:calc(50px + var(--safe-bottom));left:60px;right:60px;height:40px;border-radius:20px;background:var(--yellow);color:var(--ink);font-size:calc(14px * var(--sp))}
.modal{border:0;padding:0;color:#fff;max-width:calc(var(--app-width) - 36px);width:calc(100% - 36px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 36px);overflow:auto;background:var(--card);border-radius:22px;box-shadow:0 12px 30px #0004;scrollbar-width:thin;animation:popup-enter 240ms cubic-bezier(.333333,1,.666667,1)}.modal::backdrop{background:#00000061}.modal[open]{display:block}.modal.leaving{animation:popup-exit 160ms cubic-bezier(.333333,0,.666667,.333333) both;pointer-events:none}.popup{border:1px solid var(--stroke)}.dialog-body{direction:rtl}.sheet{margin-top:auto;margin-bottom:0;max-width:var(--app-width);width:100%;max-height:calc(100dvh - var(--safe-top));border-radius:0;background:transparent;box-shadow:none;animation:sheet-enter 360ms cubic-bezier(.4,0,.2,1);padding-bottom:var(--safe-bottom);background-image:linear-gradient(transparent 58px,var(--surface) 58px)}.sheet::backdrop{background:#0003}.sheet .dialog-body{background:var(--surface)}.sheet-header{height:58px;position:relative}.sheet-header>img{display:block;max-width:none;width:100%;height:58px;object-fit:fill}.sheet-handle{position:absolute;top:30px;left:calc(50% - 20px);width:40px;height:5px;background:#fff;border-radius:3px}.text-button{min-height:44px;color:var(--yellow);background:transparent;display:flex;align-items:center;justify-content:center;gap:8px;font-size:calc(14px * var(--sp))}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;padding:10px}.icon-button .icon{width:20px;height:20px}h2{font-size:calc(18px * var(--sp));font-weight:700;line-height:1.87}#snackbar{position:fixed;bottom:calc(10px + var(--safe-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 20px);max-width:calc(var(--app-width) - 20px);z-index:10000;background:#f2f2f2;border-radius:8px;padding:10px 15px;color:var(--ink);display:flex;align-items:center;line-height:1.87;font-size:calc(14px * var(--sp));box-shadow:0 2px 8px #0002}#snackbar>span{flex:1;margin:3px 0}#snackbar>button{border-right:1px solid var(--yellow);margin-right:15px;padding:0 15px 0 0;min-height:36px;color:var(--surface)}
.buy-content{padding-top:10px}.plans{padding-bottom:8px}.plan-card{display:block;width:calc(100% - 24px);margin:6px 12px 0;padding:0;border-radius:9px;position:relative;text-align:center;overflow:visible;color:#fff;line-height:1.87}.plan-gradient{display:flex;direction:ltr;min-height:76px;background:linear-gradient(to right,var(--plan-0),var(--plan-1));border-radius:9px 9px 0 0}.plan-card.floating-badge{padding-top:14px}.plan-price{flex:1;padding:8px 12px;align-self:center;min-width:0;font-size:calc(17px * var(--sp));direction:rtl}.plan-price b,.plan-price strong{font-size:1.22em}.plan-old{font-size:calc(12px * var(--sp));margin-top:1px}.plan-title{width:112px;flex-shrink:0;background:linear-gradient(to right,var(--plan-2),var(--plan-3));border-top-right-radius:9px;padding:8px 7px;display:flex;flex-direction:column;justify-content:center;direction:rtl;font-size:calc(15px * var(--sp))}.plan-discount{font-size:calc(12px * var(--sp));direction:ltr}.plan-payment{border-radius:0 0 9px 9px;background:white;color:var(--ink);padding:5px 10px;font-size:calc(11px * var(--sp));line-height:1.42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-payment b,.plan-payment strong{color:var(--plan-1)}.plan-badge,.plan-limited{position:absolute;top:0;height:28px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--yellow);color:var(--ink);font-size:calc(12px * var(--sp));font-weight:bold;padding:0 12px;line-height:1.3}.plan-badge{left:0;min-width:86px;background:linear-gradient(#fff4,transparent 54%),var(--yellow);border:1px solid #ffffff7a;box-shadow:0 3px 6px #0003}.plan-limited{right:110px;min-width:84px;padding:0 10px}.account-token{display:block;width:calc(100% - 40px);margin:10px 20px 20px;border:1px solid #ddd;border-radius:9px;font-size:calc(16px * var(--sp));font-weight:bold;line-height:1.87;padding:10px 0;min-height:47px;color:var(--muted);word-break:break-all}.free-license{margin:0 20px 14px;padding:12px;border-radius:9px;background:#fefbea;color:var(--ink);border:2px solid var(--yellow);text-align:center}.free-license h3{font-size:calc(16px * var(--sp));color:#ff6841;line-height:1.42}.free-license p{font-size:calc(13px * var(--sp));line-height:calc(1.87em + 3px);margin-top:2px}.free-license .free-hint{font-size:calc(12px * var(--sp));margin-top:5px;border-radius:8px;border:1px solid #ffdf85;background:#fff4ce;padding:2px 10px 0}.free-actions{display:flex;align-items:center;margin-top:12px;gap:10px}.free-actions button{height:42px;min-height:42px;padding-inline:16px;font-size:calc(13px * var(--sp));font-weight:bold;flex-shrink:0}.free-actions span{font-size:calc(11px * var(--sp));padding:7px 8px;background:#fff0e8;border:1px solid #ffccbc;border-radius:8px;font-weight:bold;line-height:1.87}.account-actions{padding:0 20px 24px;text-align:center}.account-actions h2{padding-top:10px;color:var(--yellow)}.account-actions p{font-size:calc(13px * var(--sp));line-height:1.87;color:var(--muted);margin-top:12px}.account-value{border:1px solid #ddd;border-radius:9px;padding:13px;margin-top:16px;font-size:calc(15px * var(--sp));font-weight:bold;overflow:hidden;text-overflow:ellipsis;user-select:text;color:var(--muted)}.account-buttons{margin-top:18px;display:flex;gap:16px}.account-buttons>*{height:44px;margin-block:4px;font-size:calc(14px * var(--sp));flex:1}.account-buttons .primary{flex:1.6}.account-buttons .outline{border-width:2px}
.profile{padding:14px 18px 18px;text-align:center}.profile-top{height:48px;position:relative}.profile-top .icon-button{position:absolute;right:0;top:2px}.profile-handle{display:block;position:absolute;top:21.5px;left:calc(50% - 22px);width:44px;height:5px;border-radius:3px;background:#ffffff52}.profile>.avatar{display:block;width:96px;height:96px;margin:4px auto 0}.profile h2{margin-top:14px}.profile-number{margin-top:6px;font-size:calc(14px * var(--sp));color:var(--muted);line-height:1.87}.save-contact{margin-top:18px;width:100%;height:48px;border-radius:14px;font-size:calc(14px * var(--sp))}.profile-actions{display:flex;gap:12px;margin-top:12px}.profile-actions>*{flex:1;height:46px;min-width:0;border-radius:14px;font-size:calc(13px * var(--sp));padding-inline:6px}.profile-report{width:100%;height:44px;margin-top:8px;color:#ddd;font-size:calc(13px * var(--sp))}.profile-report .icon{width:18px;height:18px}.no-data{text-align:center;padding:24px}.no-data>img{width:190px;height:190px;display:block;margin:12px auto 0}.no-data>h2{margin-top:18px}.no-data>p{margin-top:8px;font-size:calc(14px * var(--sp));line-height:1.87;color:var(--muted)}.no-data .primary{margin-top:26px;margin-bottom:4px;height:40px;min-height:40px;width:100%;border-radius:14px;font-size:calc(14px * var(--sp))}.history-list{padding:10px 5px 0}.history-row{position:relative;margin:5px 5px 6px;background:var(--card);border-radius:9px;padding:2px;min-height:90px;box-shadow:0 3px 5px #0003;display:flex;align-items:center}.history-open{display:flex;align-items:center;flex:1;min-width:0;text-align:right;padding:10px;gap:10px}.history-open .avatar{width:70px;height:70px}.history-text{display:flex;flex-direction:column;min-width:0;line-height:1.87;font-size:calc(14px * var(--sp))}.history-text>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-text .history-number{font-size:12px;text-align:right}.history-text time{margin-top:4px;font-size:calc(11px * var(--sp));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-remove{width:50px;height:50px;padding:10px;margin:0 10px}.history-remove .icon{height:30px;width:30px}.report{padding-bottom:29px}.report>h2{font-size:18px;font-weight:400;line-height:1.87;padding-top:14px;margin-bottom:20px;text-align:center;color:var(--yellow)}.report input{display:block;width:calc(100% - 50px);height:50px;margin:0 25px 15px;background:transparent;border:1px solid #bdbdbd;border-radius:9px;color:#fff;padding:0 12px;font-size:16px}.report input::placeholder{color:#939393}.report input[aria-invalid]{border-color:#f40000}.field-error{display:block;margin:0 25px;font-size:12px;color:#ff7777}.report>p{margin:0 20px;padding:13px;color:var(--muted);line-height:1.87;font-size:12px}.report>.primary{position:relative;display:flex;width:calc(100% - 46px);margin:8px 23px 0;height:45px;overflow:hidden}
.rules-modal{background:var(--surface);border:1px solid var(--stroke);animation:rules-enter 260ms cubic-bezier(.4,0,.2,1)}.rules{padding:18px 16px 12px}.rules-logo{display:block;width:70px;height:70px;margin:3px auto;opacity:.88;object-fit:contain}.rules-handle{height:5px;width:40px;border-radius:3px;margin:2px auto 14px;background:#ffffff52}.rules h2{text-align:center;font-size:calc(16px * var(--sp));margin-bottom:10px}.rules-copy{height:140px;overflow-y:auto;border:1px solid var(--stroke);border-radius:10px;padding:10px;font-size:calc(14px * var(--sp));line-height:calc(1.87em + 3px);white-space:pre-line}.rules-acceptance{display:flex;align-items:center;margin-top:14px;font-size:calc(14px * var(--sp));gap:8px}.rules-acceptance label{display:flex;align-items:center;gap:8px;flex:1;line-height:1.87}.rules-acceptance input{accent-color:var(--yellow);width:18px;height:18px;margin:0;flex-shrink:0}.privacy-link{display:flex;align-items:center;justify-content:center;gap:5px;font-size:calc(12px * var(--sp));color:var(--yellow);min-height:48px;max-width:50%;text-align:center}.privacy-link .icon{width:18px;height:18px}.rules-buttons{display:flex;margin:10px;gap:11px}.rules-buttons button{font-size:calc(14px * var(--sp));border-radius:20px;min-height:40px;height:40px;margin-block:4px}.rules-buttons .primary{flex:1}/* Active fragment_app_updater_dialog.xml: static changes row and source assets. */
.update-required{text-align:center;padding:0 0 calc(16px + var(--safe-bottom));background:var(--card);direction:ltr}
.update-required>.icon{display:block;width:65px;height:65px;padding:10px;margin:24px auto 21px}
.update-required h2{margin:0 16px 20px;font-size:16px;font-weight:400;line-height:1.87;color:#1d1b20}
.update-changes{display:flex;align-items:center;justify-content:center;direction:ltr;margin:0 16px 20px;padding-inline:5px;font-size:16px;line-height:1.87;color:var(--yellow)}
.update-changes>.icon{width:18px;height:10px;margin-right:10px;flex:none}
.update-description{margin:0 16px 20px;padding:12px;color:var(--yellow);background:linear-gradient(#232323,#151515);border-radius:9px;white-space:pre-line;direction:rtl;text-align:start;font-size:14px;line-height:1.87}
/* The installed XML explicitly uses back for both this text and drawable fill.
   Keep that source conflict visible in STARTUP_CONTROLS.md, not an invented outline. */
.update-open{display:block;width:calc(100% - 70px);margin:0 35px 20px;padding:10px;border:0;border-radius:9px;background:var(--yellow);color:var(--yellow);font-size:16px;font-weight:400;line-height:1.87;position:relative;isolation:isolate}
#retry{isolation:isolate}

.offer{max-width:calc(var(--app-width) - 20px);width:calc(100% - 20px);border-radius:18px;background:white;color:var(--ink);border:1px solid #fff6;animation:offer-enter 180ms cubic-bezier(.333333,.666667,.666667,1)}.offer::backdrop{background:#0000009e}.discount-offer>header{position:relative;padding:14px;border-radius:18px 18px 0 0;background:linear-gradient(to right,#7e26f5,#5719d7,#1a0d78);color:white}.discount-offer h2{font-size:calc(24px * var(--sp));text-align:center}.discount-offer header>p{font-size:calc(13px * var(--sp));line-height:calc(1.87em + 2px);color:#e1d9ee;text-align:center;margin-top:6px}.offer-close{position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:15px;background:#ffffffcc;padding:9px;z-index:1}.offer-close .icon{width:12px;height:12px}.discount-offer .plan-card{margin-top:12px}.offer-timer{margin:12px 14px 0;padding:8px;border-radius:14px;border:1px solid #ff7a7a33;background:#fff6ee;display:flex;align-items:center;gap:8px;font-size:calc(12px * var(--sp));line-height:1.87}.offer-timer>span{flex:1;text-align:center}.offer-clock{display:flex;gap:5px}.offer-clock>span{border:1px solid #eadcf5;border-radius:8px;padding:6px;background:white;font-size:calc(15px * var(--sp))}.offer-cta{display:block;width:calc(100% - 28px);margin:12px 14px 0;height:48px;border-radius:16px;background:linear-gradient(to right,#8135ff,#2e70ff);color:white;font-size:calc(16px * var(--sp));font-weight:bold}.offer-later{display:block;width:100%;padding:4px;margin:8px 0 12px;color:#8f8f99;font-size:calc(13px * var(--sp));font-weight:bold}
.install-content,.share-fallback{padding:24px;text-align:center;line-height:1.87}.install-logo{width:70px;height:70px;object-fit:contain}.install-content p{margin:10px 0 18px;color:var(--muted);font-size:14px}.install-content>.primary,.install-content>.text-button,.share-fallback>.primary{width:100%;margin-top:12px}.ios-steps{padding:0;list-style:none;text-align:right;font-size:14px}.ios-steps li{display:flex;align-items:center;gap:12px;margin:12px 0}.ios-share-symbol,.ios-add-symbol{font-family:system-ui;width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--yellow);border-radius:7px;color:var(--yellow);font-size:24px}.share-fallback textarea{width:100%;height:150px;margin-top:12px;resize:vertical;background:var(--surface);color:#fff;border:1px solid var(--stroke);padding:10px;font-size:14px}
@keyframes logo-enter{from{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{0%{transform:translateX(-120%)}100%{transform:translateX(330%)}}@keyframes main-enter{from{transform:translateY(3dvh)}to{transform:translateY(0)}}@keyframes popup-enter{from{opacity:0;transform:translateY(8dvh) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popup-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(5dvh) scale(.96)}}@keyframes sheet-enter{from{opacity:0;transform:translateY(56px)}to{opacity:1;transform:translateY(0)}}@keyframes rules-enter{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes offer-enter{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(max-width:360px){.menu-item{padding-inline:12px}.menu-copy>span{font-size:calc(11px * var(--sp))}.account-summary>span{margin-right:16px}.plan-title{width:100px}.plan-price{padding-inline:8px}.plan-payment{font-size:calc(10px * var(--sp))}.rules-acceptance{flex-wrap:wrap}.privacy-link{max-width:none}.free-actions{gap:5px}.free-actions button{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Measured against 1080px / 440dpi reference: Android rounds each nested dp
   dimension before laying out children. Keep those accumulated offsets. */
.main-header{height:calc(350.1818px + var(--safe-top))}
.main-content{padding-inline:10.1818px}
.search-panel{margin-inline:5.0909px;padding:10.1818px}
#search-title{margin-top:14.9091px;line-height:29.8182px}
.search-controls{padding:10.1818px;margin-inline:5.0909px}
.search-controls input{padding-top:11px;padding-bottom:15px}
.search-button{height:45.0909px;margin:18.1818px 22.9091px 8px;width:calc(100% - 45.8182px)}
#results{margin:10.1818px 5.0909px 0}
.menu-item{height:90.1818px;margin:10.1818px 5.0909px 0}
.modal{scrollbar-width:none}.modal::-webkit-scrollbar{display:none}
.sheet-handle,.profile-handle,.rules-handle{background:var(--yellow)}
.account-token,.account-value{border-color:var(--yellow)}
.free-license{background:#fff}
.free-license .free-hint{background:#fff9d9;border-color:#e4c300;border-radius:10px}
.free-actions span{background:#fffff4;border-color:var(--yellow);border-radius:12px}
.offer-clock{gap:0}
.offer-clock>span{width:36px;height:30px;display:grid;place-items:center;padding:0;background:#ffe6ea;border-color:#ff406633;color:#f04467;font-weight:bold;line-height:1.42}
.offer-clock>b{width:12px;height:30px;display:grid;place-items:center;color:#f04467;font-size:calc(15px * var(--sp));line-height:1.42}
.offer-close{background:#fffffff2}
/* SearchResultAdapter inflates item_list.xml; item_search_result.xml is unused. */
#results{gap:0}
.result-card{width:104.7272px;flex:0 0 104.7272px;height:auto;min-height:0;margin:0;padding:0;border:0;display:block;background:transparent;border-radius:0;overflow:hidden}
.result-surface{display:flex;flex-direction:column;align-items:center;width:94.5454px;margin:5.0909px;padding:2.1818px;border-radius:16px;background:var(--card)}
.result-card .avatar{width:90.1818px;height:90.1818px;border-width:2px}
.result-name{font-size:calc(12px * var(--sp));padding-top:5.0909px;margin:0;line-height:18.9091px;color:var(--muted)}
.result-view{width:80px;height:30.1818px;min-height:30.1818px;margin:2.1818px;font-size:calc(14px * var(--sp));border-radius:9px}
.update-sheet{margin-top:auto;margin-bottom:0;max-width:var(--app-width);width:100%;max-height:calc(100dvh - var(--safe-top));border-radius:0;background:transparent;padding:0;overflow:visible;animation:none}
.update-sheet .dialog-body{max-height:inherit;overflow:auto;overscroll-behavior:contain}
.update-sheet::backdrop{background:#0003}

.rules-modal::backdrop{background:#00000052}
.profile h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Snackbar host contributes 8dp around the native 10dp card margin. */
#snackbar{bottom:calc(18px + var(--safe-bottom));width:calc(100% - 36px);max-width:calc(var(--app-width) - 36px)}

/* Native ScrollView keeps its offset when the timed banner changes height. */
#main{overflow-anchor:none}

/* Installed VIP reference: 143x132dp drawable. AppCompat's support fontFamily
   from the theme takes precedence over android:fontFamily on the day count. */
#premium-account{height:132px}
#premium-account>.premium-illustration{width:142.9091px;height:132px}
.premium-credit>img{width:30.1818px;height:18.9091px}
.premium-credit>span{margin-top:10.1818px;line-height:22.5455px}
.premium-remaining>span:first-child{font:700 40px/73.8182px Yekan;margin-block:-10.1818px}
.premium-remaining>span:last-child{margin-top:0;line-height:18.9091px;transform:translateY(12px)}

/* info.xml measured at 2.75px/dp. MaterialCardView's stroke does not consume
   layout space; the native 18dp button icons are smaller than generic icons. */
.profile-modal{border:0;outline:1px solid var(--stroke);outline-offset:-1px;width:calc(100% - 36.3636px);max-width:calc(var(--app-width) - 36.3636px)}
.profile{padding:14.1818px 18.1818px 18.1818px}
.profile h2{margin-top:14.1818px;line-height:29.0909px}
.profile-number{margin-top:6.1818px;line-height:22.5455px}
.save-contact{margin-top:18.1818px}
.save-contact .icon,.profile-actions .icon{width:18.1818px;height:18.1818px}
.profile-actions>*{height:46.1818px;gap:6.1818px}

/* item_search.xml: the text column determines the 252px physical row height
   at the reference density; the 70dp avatar is centered without extra height. */
.history-list{padding:10.1818px 5.0909px 0}
.history-row{margin:5.0909px 5.0909px 6.1818px;padding:2.1818px;min-height:0}
.history-open{padding:0 10.1818px;gap:10.1818px}
.history-open .avatar{width:70.1818px;height:70.1818px;flex-shrink:0}
.history-text{margin-block:10.1818px}
.history-text,.history-text .history-number{line-height:22.5455px}
.history-text time{line-height:17.8182px}
.history-remove{width:50.1818px;height:50.1818px;padding:10.1818px;margin-inline:10.1818px;flex-shrink:0}
.history-remove .icon{width:29.8182px;height:29.8182px}
/* These active Android TextViews explicitly set includeFontPadding=false. */
.free-license h3,.plan-badge,.plan-limited,.plan-payment,.offer-clock>span,.offer-clock>b{font-family:YekanCompact,Tahoma,sans-serif}
/* Empty dir=auto inputs do not derive direction from their placeholder.
   Android's hint is first-strong RTL; keep its trailing ellipsis on the left. */
#search-input:placeholder-shown{direction:rtl}

/* Active item_purchase_plan.xml bounds, including narrow windows. */
.plan-title{width:112px}
.plan-price{padding-inline:12px}
.plan-monthly,.plan-old,.plan-title>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.plan-discount{white-space:nowrap;overflow:hidden}
.plan-payment{font-size:calc(11px * var(--sp))}
/* Exact layer-list geometry from bg_purchase_plan_badge_glass.xml. */
.plan-badge{background:var(--yellow);border:0;outline:1px solid #ffffff7a;outline-offset:-1px;isolation:isolate}
.plan-badge::before,.plan-badge::after{content:'';position:absolute;z-index:-1;border-radius:8px;pointer-events:none}
.plan-badge::before{inset:2px 2px 13px;background:linear-gradient(to top,#fff6,#fff0)}
.plan-badge::after{inset:17px 10px 3px;background:linear-gradient(to top,#ffffff24,#fff0)}
/* Android's header is outside the nested scrolling body. */
.sheet[open]{display:flex;flex-direction:column;overflow:hidden}
.sheet-header{flex-shrink:0;touch-action:none;user-select:none}
.sheet .dialog-body{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}
.sheet .dialog-body::-webkit-scrollbar{display:none}
.sheet.sheet-moving{animation:none;will-change:transform;user-select:none}
/* Regular sheets use the installed Material 3 window animation, not the
   profile popup or SplashActivity's custom required-update view motion. */
.sheet,.sheet.leaving{animation:none}
/* Bounded Android ripple masks do not clip badges, shadows or focus rings.
   Background ripples paint below text; foreground ripples cover child content. */
#buy-plan,#search-button,.menu-item,.history-row,.result-view{position:relative;isolation:isolate}
.profile-top .icon-button{isolation:isolate}
.native-ripple,.native-ripple-state{display:block;position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none;user-select:none;direction:ltr}
.native-ripple-background{z-index:-1}
.native-ripple-circle,.native-ripple-state-circle{display:block;position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;transform-origin:center;opacity:0}
.save-contact,.profile-actions .secondary,.profile-report,.no-data .primary,.report>.primary,.account-buttons>*,.rules-buttons>*,.privacy-link,.free-actions button,.offer-cta{position:relative;isolation:isolate}
.plan-card,.offer-close{isolation:isolate}
/* Resolved Android controls use their visible native focus layer. Unmapped
   controls and editable fields retain the accessible outline fallback. */
button:focus-visible:has(>.native-ripple-state),a:focus-visible:has(>.native-ripple-state),.history-row:has(>.native-ripple-state) .history-open:focus-visible{outline:none}
/* dialog_report.xml gives the inner TextView a 5dp top margin. The web
   button includes that reserved space rather than centering over all 45dp. */
.report>.primary{padding-top:5.0909px;line-height:1.87}
