*{
    box-sizing:border-box;
    margin:0;
    padding:0;
    -webkit-tap-highlight-color:transparent;
}

:root{
    --ice-blue:#087df5;
    --ice-blue-deep:#0766eb;
    --ice-cyan:#17b8ff;
    --ice-ink:#071126;
    --ice-muted:#6780a5;
    --ice-panel:rgba(255,255,255,.74);
    --ice-field:rgba(231,240,252,.88);
    --ice-line:rgba(115,153,204,.14);
    --ice-shadow:0 8px 22px rgba(47,105,178,.12),inset 0 1px 0 rgba(255,255,255,.92);
}

html,
body{
    width:100%;
    min-height:100%;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-x:none;
    overscroll-behavior-y:none;
    background-color:var(--bg,#eaf5ff);
    scrollbar-width:none;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    -webkit-overflow-scrolling:touch;
}

html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;}

html{background:var(--bg,#eaf5ff);}

body.ice-theme{
    --ice-blue:var(--btn-color);
    --ice-ink:var(--text);
    position:relative;
    min-height:100vh;
    min-height:100dvh;
    color:var(--ice-ink);
    padding:0!important;
    display:block!important;
    align-items:initial!important;
    background-color:var(--bg,#eaf5ff)!important;
    background-image:none!important;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    touch-action:manipulation;
}

body.ice-theme::before,
body.ice-theme::after{
    content:none;
    display:none;
}

body.ice-theme::before{
    top:0;
    transform:rotate(-8deg);
    background:linear-gradient(118deg,rgba(255,255,255,.42),rgba(182,218,255,.15),rgba(255,255,255,.64));
    clip-path:polygon(0 0,100% 0,68% 100%,22% 92%);
}

body.ice-theme::after{
    bottom:-85px;
    transform:rotate(7deg);
    border:1px solid rgba(255,255,255,.9);
    background:rgba(207,231,255,.42);
}

button,
input,
a{font:inherit;}

button{cursor:pointer;}

#page-container{
    position:relative;
    z-index:1;
    width:100%;
    max-width:425px;
    min-height:0;
    margin:0 auto;
    /* 浏览器已为普通网页预留状态栏时 env() 为 0；全屏模式下才补真实安全区，避免重复下移。 */
    padding-top:env(safe-area-inset-top);
    display:block;
}

.topbar{
    height:45px;
    margin:0 18px 11px;
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 82px;
    align-items:center;
    gap:6px;
}

.top-action{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    height:34px;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    box-sizing:border-box!important;
    border:1px solid rgba(255,255,255,.82)!important;
    border-radius:14px!important;
    outline:0!important;
    color:var(--ice-ink)!important;
    background:rgba(255,255,255,.78)!important;
    box-shadow:0 4px 12px rgba(61,110,172,.08),inset 0 1px 0 #fff!important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    -webkit-appearance:none!important;
    appearance:none!important;
    overflow:hidden;
    font-size:12px;
    font-weight:650;
    white-space:nowrap;
}

.top-action svg{width:18px;height:18px;display:block;}
.top-action::before,.top-action::after{content:none!important;display:none!important;}
.top-action:focus,
.top-action:focus-visible{
    outline:0!important;
    border-color:rgba(255,255,255,.9)!important;
    box-shadow:0 4px 12px rgba(61,110,172,.08),inset 0 1px 0 #fff!important;
}
.top-action:active{transform:scale(.97);}

.brand-lockup{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
}

.brand-logo-wrap{
    position:relative;
    width:46px;
    height:46px;
    flex:0 0 46px;
}

.backend-logo,
.theme-logo{
    width:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    display:block;
    object-fit:cover;
    overflow:hidden;
    border:0!important;
    border-radius:13px!important;
    background:linear-gradient(145deg,#14b8ff,#0867ef)!important;
    box-shadow:0 6px 14px rgba(0,113,239,.22)!important;
}

.theme-logo svg{display:block;width:100%;height:100%;}

.brand-copy{min-width:0;white-space:nowrap;}

.app-title{
    position:static;
    z-index:auto;
    margin:0;
    overflow:hidden;
    color:var(--ice-ink);
    font-size:19px;
    line-height:1.12;
    font-weight:700;
    text-overflow:ellipsis;
    text-align:left;
}

.app-title::after{content:none!important;display:none!important;}

.brand-subtitle{
    margin-top:3px;
    color:var(--ice-muted);
    font-size:11px;
    line-height:1;
    font-weight:560;
    letter-spacing:.04em;
}

.topbar.long-brand{
    grid-template-columns:70px minmax(0,1fr) 80px;
    gap:5px;
}

.long-brand .top-action{
    height:34px;
    gap:6px;
    border-radius:14px;
    font-size:11.5px;
}

.long-brand .top-action svg{width:18px;height:18px;}
.long-brand .brand-lockup{gap:8px;}
.long-brand .app-title{font-size:17px;font-weight:680;letter-spacing:-.025em;}
.long-brand .brand-subtitle{font-size:10px;}

.site-notice{
    position:relative;
    height:36px;
    min-height:0;
    margin:0 18px 10px;
    padding:0 38px 0 36px;
    display:block;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.84)!important;
    border-radius:17px;
    color:#3c5d8d;
    background:rgba(255,255,255,.68);
    box-shadow:0 5px 14px rgba(56,115,185,.08),inset 0 1px 0 rgba(255,255,255,.96);
    font-size:11px;
    font-weight:560;
    line-height:34px;
    white-space:nowrap!important;
    text-overflow:ellipsis;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.notice-window{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:34px;
    overflow:hidden;
}

.notice-text{
    display:inline-block;
    width:max-content;
    min-width:100%;
    white-space:nowrap;
}

.notice-track{
    width:max-content;
    min-width:max-content;
    height:34px;
    display:inline-flex;
    align-items:center;
    animation:noticeScroll var(--notice-duration,14s) linear infinite;
    will-change:transform;
}

.notice-track>span{
    display:block;
    flex:0 0 auto;
    padding-right:48px;
    white-space:nowrap;
}

.site-notice::before{
    content:"";
    position:absolute;
    width:19px;
    height:19px;
    left:13px;
    top:50%;
    margin-left:0;
    transform:translateY(-50%);
    background:
        linear-gradient(var(--ice-blue),var(--ice-blue)) 1px 7px/4px 6px no-repeat,
        linear-gradient(90deg,var(--ice-blue) 0 65%,transparent 66%) 5px 5px/10px 10px no-repeat;
    clip-path:polygon(0 35%,35% 35%,78% 5%,78% 95%,35% 65%,0 65%);
}

.site-notice::after{
    content:"›";
    position:absolute;
    right:13px;
    top:50%;
    transform:translateY(-53%);
    color:#45658e;
    font-size:25px;
    line-height:1;
    font-weight:300;
}

.form-shell{
    position:relative;
    margin:8px 18px 12px;
    padding:5px 13px 8px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.88);
    border-radius:24px;
    background:rgba(255,255,255,.68);
    box-shadow:0 16px 34px rgba(45,91,145,.11),inset 0 1px 0 rgba(255,255,255,.96);
}

.ice-card{
    position:relative;
    margin:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}

.field-card{height:88px;padding:7px 0 9px;}

.code-card,
.apps-card{border-top:1px solid rgba(106,144,192,.11);}

.card-heading{
    height:36px;
    display:flex;
    align-items:center;
    padding:0 4px;
}

.heading-copy{min-width:0;flex:1;}
.heading-copy h2{font-size:14px;line-height:1.05;font-weight:650;letter-spacing:.005em;color:var(--ice-ink);}
.heading-copy p{margin-top:4px;color:var(--ice-muted);font-size:11px;line-height:1;font-weight:520;white-space:nowrap;}

.field-row{
    height:34px;
    margin-top:4px;
    display:flex;
    align-items:center;
    overflow:hidden;
    border:1px solid rgba(114,151,199,.10);
    border-radius:13px;
    background:var(--ice-field);
}

.field-row input{
    width:100%;
    min-width:0;
    height:100%;
    padding:0 12px;
    outline:0;
    border:0;
    color:var(--ice-ink);
    background:transparent;
    font-size:16px;
    font-weight:520;
}

.field-row input::placeholder{color:#9ab0ce;opacity:1;}

#udid{
    padding-left:10px;
    padding-right:6px;
    font-family:ui-monospace,"SFMono-Regular",Menlo,Monaco,Consolas,monospace;
    font-size:13px;
    font-weight:540;
    font-variant-numeric:tabular-nums;
    letter-spacing:-.025em;
}

#udid.udid-long{font-size:10.5px;letter-spacing:-.055em;}

.get-udid-btn{
    width:99px;
    height:34px;
    flex:0 0 99px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:0;
    margin:0;
    padding:0!important;
    overflow:hidden;
    border-radius:13px;
    color:#fff;
    background:var(--btn-color);
    box-shadow:0 4px 10px rgba(0,108,238,.24);
    font-size:12px;
    font-weight:760;
}

.get-udid-btn svg{width:18px;height:18px;}
.get-udid-btn span{display:block;white-space:nowrap;line-height:1;}
.get-udid-btn::before,.get-udid-btn::after{content:none!important;display:none!important;}
.get-udid-btn:active{transform:scale(.97);}

.copy-code-btn{
    width:42px;
    height:34px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border:0;
    color:var(--ice-ink);
    background:transparent;
}

.copy-code-btn svg{width:19px;height:19px;}

.apps-card{height:125px;padding:7px 0 6px;}
.apps-card .card-heading{height:36px;}

.app-count{
    height:26px;
    padding:0 9px;
    display:flex;
    align-items:center;
    gap:4px;
    border-radius:14px;
    color:var(--ice-ink);
    background:rgba(230,240,253,.9);
    font-size:11px;
    font-weight:650;
    white-space:nowrap;
}

.app-count::after{content:"›";font-size:19px;line-height:1;font-weight:300;}

.app-select{
    height:80px;
    margin:0 -3px 0;
    display:flex;
    gap:8px;
    align-items:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    padding:6px 3px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    scrollbar-width:none;
}

.app-select::-webkit-scrollbar{display:none;}
.app-select.is-balanced{justify-content:space-evenly;gap:0;}
.app-select.is-scrollable{justify-content:flex-start;gap:8px;}
.app-select input{position:absolute;opacity:0;pointer-events:none;}

.app-select label{
    position:relative;
    width:58px;
    min-width:58px;
    height:73px;
    display:flex;
    flex-direction:column;
    align-items:center;
    color:var(--ice-ink);
    font-size:10px;
    line-height:1.2;
    font-weight:560;
    white-space:nowrap;
    cursor:pointer;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent!important;
}

.app-name{
    display:block;
    width:62px;
    overflow:hidden;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
    line-height:12px;
}

.long-app-name .app-name{
    width:64px;
    font-size:9.5px;
    letter-spacing:-.12px;
    text-overflow:clip;
}

.app-select label::before,
.app-select label::after{content:none;display:none;}

.app-icon-tile{
    position:relative;
    width:52px;
    height:52px;
    margin-bottom:5px;
    display:grid;
    place-items:center;
    border:5px solid rgba(255,255,255,.96);
    border-radius:15px;
    color:#fff;
    background:var(--btn-color);
    box-shadow:0 5px 11px rgba(44,96,158,.18),inset 0 0 0 1px rgba(255,255,255,.16);
    font-size:25px;
    font-weight:800;
    line-height:1;
}

.app-icon-tile svg{width:25px;height:25px;display:block;}

.has-package-icon{
    position:relative;
    overflow:hidden;
    color:#fff;
    background:#fff!important;
}

.has-package-icon img{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    height:100%;
    border-radius:7px;
    object-fit:cover;
}

.icon-fallback{
    position:absolute;
    inset:0;
    z-index:1;
    display:none;
    place-items:center;
    border-radius:7px;
    background:var(--btn-color);
    font-size:19px;
    font-weight:700;
}

.has-package-icon.icon-load-failed .icon-fallback{display:grid;}
.package-icon-fallback{background:var(--btn-color)!important;}

.app-item-1 .app-icon-tile{background:#168af0;font-size:18px;}
.app-item-2 .app-icon-tile{background:#ee4897;}
.app-item-3 .app-icon-tile{background:#137be8;font-size:20px;}
.app-item-4 .app-icon-tile{background:#08bd68;}
.app-item-5 .app-icon-tile{background:#8040e7;font-size:26px;}
.app-item-6 .app-icon-tile,.download-app .app-icon-tile{background:#f12644;font-size:24px;}

.app-select input:checked+label .app-icon-tile{
    outline:2px solid var(--btn-color);
    outline-offset:1px;
    box-shadow:0 7px 16px color-mix(in srgb,var(--btn-color) 22%,transparent),inset 0 0 0 1px rgba(255,255,255,.2);
}

.app-select input:checked+label{
    border:0!important;
    border-radius:0!important;
    color:var(--ice-ink)!important;
    background:transparent!important;
    box-shadow:none!important;
}

.app-select input:checked+label::before{
    content:"✓";
    position:absolute;
    z-index:3;
    top:-4px;
    right:1px;
    width:19px;
    height:19px;
    display:grid;
    place-items:center;
    border:2px solid #fff;
    border-radius:50%;
    color:#fff;
    background:var(--ice-blue);
    box-shadow:0 3px 8px color-mix(in srgb,var(--btn-color) 30%,transparent);
    font-size:11px;
    font-weight:800;
    display:grid;
}

.install-button{
    height:36px;
    margin:0 21px 11px;
    width:calc(100% - 42px);
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    border:0;
    border-radius:18px;
    color:#fff;
    background:var(--btn-color);
    box-shadow:0 8px 18px color-mix(in srgb,var(--btn-color) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.34);
    font-size:14px;
    font-weight:760;
}

.install-button svg{width:20px;height:20px;}
.install-button:active{transform:scale(.985);}
.install-button:disabled{opacity:.62;cursor:wait;}
.install-button::before,.install-button::after{content:none!important;display:none!important;}

.support-card{height:116px;padding:0 13px;}

.safari-warning{
    width:calc(100% + 26px);
    height:36px;
    flex:0 0 auto;
    margin:0 -13px;
    padding:0 38px 0 36px;
    display:flex;
    align-items:center;
    border:0;
    color:#ff650b;
    background:linear-gradient(90deg,#fff5e6 0%,#ffe8d5 100%)!important;
    font-size:11px;
    font-weight:650;
    text-align:left;
}

.safari-warning::before{
    content:"!";
    position:absolute;
    width:15px;
    height:15px;
    margin-left:-24px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#ff6a0a;
    font-size:10px;
    font-weight:800;
}

.safari-warning::after{
    content:"›";
    position:absolute;
    right:14px;
    font-size:23px;
    font-weight:300;
}

.support-row{
    height:39px;
    display:flex;
    align-items:center;
    border-bottom:1px solid var(--ice-line);
    color:var(--ice-ink);
    font-size:11px;
    font-weight:640;
    text-decoration:none;
}

.support-row:last-child{border-bottom:0;}

.support-row::after{
    content:"›";
    margin-left:auto;
    padding-right:4px;
    color:#8da6c8;
    font-size:24px;
    font-weight:280;
}

.support-icon{
    width:38px;
    height:27px;
    margin-right:12px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:#0b2242;
    background:#eaf3ff;
}

.support-icon svg{width:19px;height:19px;}

.source-hero{
    position:relative;
    width:auto;
    height:auto;
    min-height:0;
    margin:0 21px;
    aspect-ratio:851 / 404;
    overflow:hidden;
    border-radius:15px;
    color:var(--ice-ink);
    background-color:var(--bg,#eaf5ff);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;
    box-shadow:0 8px 22px rgba(47,105,178,.10);
}

.source-hero::before,
.source-hero::after{
    content:"";
    position:absolute;
    display:none;
    pointer-events:none;
}

.source-hero::before{
    inset:0;
    background:
        radial-gradient(circle at 63% 46%,rgba(151,203,255,.54),transparent 28%),
        linear-gradient(160deg,rgba(255,255,255,.08),rgba(190,222,255,.52) 62%,rgba(255,255,255,.75));
    clip-path:polygon(0 11%,42% 22%,74% 2%,100% 16%,100% 100%,0 100%);
}

.source-hero::after{
    left:-20%;
    right:-20%;
    bottom:-54px;
    height:130px;
    transform:rotate(7deg);
    border-radius:50%;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(255,255,255,.9);
}

.source-copy{
    position:absolute;
    z-index:2;
    left:24px;
    top:65px;
}

.source-copy,.source-badges{display:none!important;}

.source-copy h2{font-size:20px;line-height:1;font-weight:830;letter-spacing:-.02em;}
.source-copy p{margin-top:9px;color:#52739e;font-size:10px;font-weight:570;}

.appstore-art{
    position:absolute;
    z-index:4;
    inset:0;
    display:block;
    background:none!important;
    filter:none;
    pointer-events:auto;
    text-decoration:none;
}

.source-badges{
    position:absolute;
    z-index:3;
    left:24px;
    bottom:62px;
    display:flex;
    gap:24px;
}

.source-badge{width:46px;text-align:center;color:#143358;font-size:10px;font-weight:640;white-space:nowrap;}
.source-badge-icon{
    width:28px;
    height:28px;
    margin:0 auto 6px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#102b50;
    background:rgba(255,255,255,.91);
    box-shadow:0 4px 10px rgba(51,102,166,.09);
}
.source-badge-icon svg{width:16px;height:16px;}

.floating-links{
    position:relative;
    z-index:6;
    height:78px;
    margin:12px 18px max(20px,env(safe-area-inset-bottom));
    padding:7px 10px;
    display:flex;
    align-items:center;
    gap:4px;
    border:1px solid rgba(167,190,218,.25);
    border-radius:30px;
    background:rgba(255,255,255,.86);
    box-shadow:0 10px 26px rgba(39,79,128,.13),inset 0 1px 0 rgba(255,255,255,.98);
    backdrop-filter:blur(20px) saturate(145%);
    -webkit-backdrop-filter:blur(20px) saturate(145%);
}

.floating-link{
    position:relative;
    width:auto;
    height:62px;
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:4px 5px 3px;
    border:1px solid transparent;
    border-radius:22px;
    color:var(--action-color);
    background:transparent;
    text-decoration:none;
    overflow:visible;
    transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease;
}

.action-icon{
    width:29px;
    height:29px;
    flex:0 0 29px;
    display:grid;
    place-items:center;
    border-radius:0;
    color:#425f88;
    box-shadow:none;
    background:transparent;
}
.action-icon svg{width:27px;height:27px;display:block;}

.action-copy{min-width:0;display:block;text-align:center;}
.action-copy strong,
.action-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.action-copy strong{color:#263e60;font-size:10px;line-height:1.1;font-weight:690;letter-spacing:.01em;}
.action-copy small{display:none;}

.buy-link,.service-link{--action-color:#425f88;}
.tutorial-link{
    --action-color:#138df5;
    height:64px;
    flex:1.05;
    transform:translateY(-2px);
    justify-content:flex-start;
    padding-top:2px;
    border-color:transparent;
    background:transparent;
    box-shadow:none;
}
.tutorial-link .action-icon{width:43px;height:43px;flex-basis:43px;border-radius:50%;color:#fff;background:#138df5;box-shadow:0 7px 16px rgba(19,141,245,.25),inset 0 1px 0 rgba(255,255,255,.32);}
.tutorial-link .action-icon svg{width:23px;height:23px;}
.tutorial-link .action-copy{position:absolute;left:0;right:0;bottom:-1px;}
.tutorial-link .action-copy strong{color:#0877d8;font-size:9.5px;font-weight:800;}
.tutorial-badge{display:none!important;}
.floating-link:active{transform:scale(.96);}
.tutorial-link:active{transform:translateY(-2px) scale(.97);}

#bottom-html{display:none!important;position:relative;z-index:2;}

/* 使用教程直接在当前页面内播放，不再跳转到外部地址。 */
.tutorial-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:10020;
    align-items:center;
    justify-content:center;
    padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));
    background:rgba(8,20,38,.58);
}

.tutorial-modal.is-open{display:flex;}

.tutorial-modal-card{
    width:100%;
    max-width:390px;
    max-height:calc(100dvh - 32px);
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 80px rgba(3,30,66,.35);
}

.tutorial-modal-header{
    position:relative;
    z-index:3;
    height:64px;
    flex:0 0 64px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-bottom:1px solid rgba(100,128,164,.14);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.tutorial-modal-title{
    color:var(--ice-ink);
    font-size:20px;
    font-weight:720;
}

.tutorial-modal-back{
    position:absolute;
    left:10px;
    top:50%;
    height:38px;
    padding:0 11px 0 7px;
    transform:translateY(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    box-sizing:border-box;
    border:1px solid rgba(35,145,247,.12);
    border-radius:19px;
    outline:0;
    color:#148af2;
    background:#edf7ff;
    box-shadow:0 4px 12px rgba(34,143,241,.10);
    -webkit-appearance:none;
    appearance:none;
    touch-action:manipulation;
    font-size:12px;
    font-weight:760;
    line-height:1;
}

.tutorial-modal-back svg{width:18px;height:18px;display:block;}
.tutorial-modal-back:active{transform:translateY(-50%) scale(.96);}

.tutorial-modal-close{
    position:absolute;
    right:12px;
    top:50%;
    width:40px;
    height:40px;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    color:#536174;
    background:#f4f7fb;
    -webkit-appearance:none;
    appearance:none;
    outline:0;
    touch-action:manipulation;
    font-size:31px;
    line-height:1;
    font-weight:300;
}

.tutorial-modal-body{padding:14px;overflow:auto;-webkit-overflow-scrolling:touch;}

.tutorial-media{
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
    border-radius:10px;
    background:#000;
}

.tutorial-media video,
.tutorial-media iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
    background:#000;
    object-fit:contain;
}

body.tutorial-modal-open{overflow:hidden!important;}

/* 使用协议弹窗及 layer 弹窗仍沿用原逻辑，仅统一为参考图的冰蓝视觉。 */
.ad-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:9999;
    align-items:center;
    justify-content:center;
    padding:16px;
    background:rgba(8,32,66,.52);
    opacity:1;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    animation:modalBackdropIn .18s ease-out both;
    transition:opacity .24s ease;
}

/* 首次刷新直接稳定显示；公告超长时的横向滚动不受影响。 */
#page-container,
.topbar,
.top-action,
.brand-lockup,
.brand-logo-wrap,
.backend-logo,
.theme-logo,
.form-shell,
.ice-card,
.install-button,
.source-hero{
    animation:none!important;
    transition:none!important;
}

.ad-modal:not(.is-closing),
.ad-modal:not(.is-closing) .ad-modal-content{
    animation:none!important;
    transition:none!important;
}

.ad-modal-content{
    width:100%;
    max-width:355px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.85);
    border-radius:22px;
    background:rgba(255,255,255,.97);
    box-shadow:0 30px 90px rgba(3,43,91,.34);
    animation:iceModalIn .24s ease-out both;
    transition:opacity .22s ease,transform .24s cubic-bezier(.22,.8,.26,1);
}

.ad-modal.is-closing{opacity:0;pointer-events:none;animation:none;}
.ad-modal.is-closing .ad-modal-content{opacity:0;transform:translateY(10px) scale(.985);animation:none;}

.ad-modal-inside{max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.ad-modal-header{
    position:relative;
    padding:23px 18px 19px;
    color:#fff;
    text-align:center;
    background-color:var(--btn-color)!important;
    background-image:none!important;
}
.ad-modal-header .tag{position:absolute;left:12px;top:11px;padding:3px 8px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.15);font-size:9px;font-weight:700;}
.ad-modal-header .title{font-size:20px;font-weight:800;}
.notice-box{margin:14px;padding:13px;border:1px solid rgba(255,150,47,.30);border-radius:14px;color:#8e3d12;background:#fff8e9;font-size:11px;line-height:1.68;white-space:pre-line;}
.notice-box>div:first-child{text-align:center;color:#e04720;font-size:14px!important;font-weight:800!important;}
.agree-input-box{margin:0 14px 12px;}
.agree-input{width:100%;height:43px;padding:0 12px;outline:0;border:1px solid #d9e4f3;border-radius:12px;color:var(--ice-ink);background:#f5f9ff;font-size:16px;text-align:center;}
.agree-input:focus{border-color:var(--ice-blue);box-shadow:0 0 0 3px rgba(8,125,245,.09);}
.ad-modal-body{padding:0 14px 12px;text-align:center;}
.ad-img-box{overflow:hidden;border-radius:12px;box-shadow:0 6px 18px rgba(35,93,158,.10);}
.ad-img-box img{display:block;width:100%;height:auto;}
.ad-modal-body .desc{margin-top:7px;color:#6f86a7;font-size:10px;}
.ad-modal-footer{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;padding:0 14px 15px;}
.ad-modal-footer button{height:43px;border:0;border-radius:12px;font-size:12px;font-weight:750;}
.btn-cancel{color:#506984;background:#edf3fa;}
.btn-confirm{color:#fff;background:var(--btn-color);opacity:.45;pointer-events:none;}
.btn-confirm.enabled{opacity:1;pointer-events:auto;box-shadow:0 7px 16px rgba(0,108,232,.22);}

.layui-layer{overflow:hidden!important;border:1px solid rgba(255,255,255,.85)!important;border-radius:18px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 24px 70px rgba(4,46,94,.28)!important;color:var(--ice-ink)!important;}
.layui-layer-title{height:auto!important;padding:15px 44px 12px 15px!important;border-bottom:1px solid #e7eef8!important;color:var(--ice-ink)!important;background:#f6faff!important;font-size:14px!important;line-height:1.4!important;font-weight:760!important;}
.layui-layer-content{color:var(--ice-ink)!important;}
.layui-layer-btn{display:flex!important;justify-content:flex-end;gap:7px;padding:9px 12px 12px!important;border-top:1px solid #e7eef8;}
.layui-layer-btn a{display:inline-flex!important;align-items:center;justify-content:center;min-width:70px;height:36px!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:11px!important;color:#fff!important;background:var(--btn-color)!important;font-size:11px!important;font-weight:700!important;}
.layer-popup-card{font-size:12px!important;line-height:1.5!important;}
.layer-popup-card .item{margin-bottom:8px!important;padding:11px 12px!important;border:1px solid #e4edf8!important;border-radius:12px!important;background:#f8fbff!important;}
.layer-popup-card .label{min-width:51px!important;color:#6c82a0!important;font-weight:650!important;}
.layer-popup-card .btn-group{display:flex!important;gap:7px!important;margin-top:9px!important;}
.layer-popup-card .btn-item{flex:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;height:41px!important;border-radius:11px!important;font-size:11px!important;font-weight:700!important;}

.install-success-card{position:relative;padding:27px 18px 19px;text-align:center;background:linear-gradient(180deg,#f5fbff,#fff);}
.install-success-close{position:absolute;top:12px;right:12px;width:31px;height:31px;display:grid;place-items:center;border:1px solid #e2ebf6;border-radius:50%;color:#758aa5;background:#fff;font-size:16px;cursor:pointer;}
.install-success-icon{width:64px;height:64px;margin:0 auto 13px;display:grid;place-items:center;border-radius:21px;background:#e9f5ff;box-shadow:0 9px 22px rgba(0,106,224,.14);}
.install-success-icon span{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--btn-color);font-size:22px;font-weight:800;}
.install-success-title{margin-bottom:7px;color:var(--ice-ink);font-size:19px;font-weight:800;}
.install-success-desc{margin:0 auto 18px;max-width:280px;color:#607895;font-size:12px;line-height:1.6;}
.install-success-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;}
.install-success-actions .btn-item{width:100%!important;height:44px!important;border-radius:12px!important;cursor:pointer;}
.primary-action{border:0!important;color:#fff!important;background:var(--btn-color)!important;}
.secondary-action,.cert-action{border:1px solid rgba(8,125,245,.28)!important;color:var(--ice-blue)!important;background:#fff!important;}

/* 成功弹窗的主按钮、描边按钮和勾选图标与页面按钮使用同一个后台颜色变量。 */
.install-success-icon span,
.install-success-actions .primary-action{
    background-color:var(--btn-color)!important;
    background-image:none!important;
    box-shadow:0 8px 18px color-mix(in srgb,var(--btn-color) 24%,transparent)!important;
}

.install-success-actions .secondary-action,
.install-success-actions .cert-action{
    border-color:var(--btn-color)!important;
    color:var(--btn-color)!important;
    background:#fff!important;
}

.layui-layer-shade{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}

body.has-backend-background{
    background-image:var(--backend-background-image)!important;
    background-position:center top!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-attachment:scroll!important;
}

/* 真机性能：静态半透明底色替代多层实时毛玻璃，减少滚动重绘。 */
body.ice-theme .top-action,
body.ice-theme .site-notice,
body.ice-theme .ice-card{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}

/* 后台主题变量：保留原模板可配置能力，但不破坏截图中的蓝色层级。 */
.install-button,
.get-udid-btn,
.btn-confirm,
.primary-action,
.layui-layer-btn a{
    background-color:var(--btn-color)!important;
    background-image:none!important;
}

.app-select input:checked+label .app-icon-tile{outline-color:var(--btn-color);}
.app-select input:checked+label::before{background-color:var(--btn-color);}

@keyframes iceModalIn{
    from{opacity:0;transform:translateY(12px) scale(.98);}
    to{opacity:1;transform:translateY(0) scale(1);}
}

@keyframes modalBackdropIn{
    from{opacity:0;}
    to{opacity:1;}
}

@keyframes noticeScroll{
    from{transform:translate3d(0,0,0);}
    to{transform:translate3d(-50%,0,0);}
}

@media(max-width:390px){
    #page-container{padding-top:env(safe-area-inset-top);}
    .topbar,.site-notice,.form-shell{margin-left:14px;margin-right:14px;}
    .form-shell .ice-card{margin-left:0;margin-right:0;}
    .topbar,.topbar.long-brand{grid-template-columns:68px minmax(0,1fr) 78px;gap:5px;}
    .top-action,.long-brand .top-action{height:33px;font-size:11px;}
    .brand-lockup{gap:7px;}
    .brand-logo-wrap,.backend-logo,.theme-logo{width:42px!important;height:42px!important;flex-basis:42px;}
    .app-title{font-size:18px;}
    .heading-copy p{font-size:10px;}
    .app-select{gap:5px;}
    .source-copy{left:20px;}
    .source-badges{left:20px;gap:18px;}
    .source-hero{border-radius:13px;}
    .floating-links{margin-left:16px;margin-right:16px;gap:6px;}
    .floating-link{padding-left:5px;padding-right:5px;gap:4px;}
    .action-icon{width:29px;height:29px;flex-basis:29px;}
    .action-copy strong{font-size:9px;}
    .action-copy small{font-size:7px;}
    .tutorial-modal-header{height:58px;}
    .tutorial-modal-title{font-size:18px;}
    .tutorial-modal-body{padding:11px;}
}

@media(max-height:760px){
    .ad-modal-inside{max-height:94vh;}
    .notice-box{font-size:10px;line-height:1.5;}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
    .notice-track{animation:noticeScroll var(--notice-duration,14s) linear infinite!important;}
}
