:root{--bg:#05090c;--panel:rgba(10,21,27,.82);--panel2:rgba(13,27,34,.92);--line:rgba(85,229,209,.13);--line2:rgba(85,229,209,.32);--t:#55e5d1;--ink:#ecfbf9;--mute:#7e9697;--warn:#ffb454;--bad:#ff7070;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);box-sizing:border-box}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;color:var(--ink);font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;background:linear-gradient(rgba(85,229,209,.028) 1px,transparent 1px) 0 0/100% 44px,linear-gradient(90deg,rgba(85,229,209,.028) 1px,transparent 1px) 0 0/44px 100%,radial-gradient(50rem 26rem at 50% -8%,rgba(85,229,209,.12),transparent),var(--bg);overscroll-behavior-y:none;-webkit-touch-callout:none}
button,input{font:inherit;color:inherit;touch-action:manipulation}
#shell{display:grid;gap:16px;width:100%;max-width:1180px;margin:0 auto;padding:calc(14px + var(--sat)) calc(18px + var(--sar)) calc(28px + var(--sab)) calc(18px + var(--sal));grid-template-areas:"brand" "search" "tiles" "off"}
/* Marke */
.brand{grid-area:brand;display:flex;align-items:center;gap:14px;min-height:56px}
.bm{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:15px;background:rgba(85,229,209,.08);color:var(--t);font-size:22px;font-weight:900}
.bt b{display:block;font-size:20px;font-weight:900;letter-spacing:.16em}
.bt small{display:block;margin-top:2px;font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--mute)}
.pill{margin-left:auto;display:flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--line);border-radius:99px;background:var(--panel);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#a9c0c0;cursor:pointer}
.pill i{width:8px;height:8px;border-radius:50%;background:var(--warn)}.pill.ok i{background:var(--t);box-shadow:0 0 0 4px rgba(85,229,209,.18)}.pill.off i{background:var(--bad)}
/* Suche */
.search{grid-area:search;display:flex;align-items:center;gap:12px;min-height:54px;padding:0 16px;border:1px solid var(--line2);border-radius:16px;background:var(--panel2)}
.search:focus-within{border-color:var(--t);box-shadow:0 0 0 3px rgba(85,229,209,.18)}
.search svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--t);stroke-width:2;stroke-linecap:round}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:17px}
.search input::placeholder{color:var(--mute)}
/* Kacheln */
.tiles{grid-area:tiles}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tile{position:relative;display:flex;flex-direction:column;gap:6px;min-height:168px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,var(--panel2),var(--panel));cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .12s,border-color .15s}
.tile:active{transform:scale(.975);border-color:var(--t)}
.tile:focus-visible{outline:3px solid var(--t);outline-offset:2px}
.ic{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(85,229,209,.34);border-radius:13px;background:rgba(85,229,209,.07)}
.ic svg{width:25px;height:25px;fill:none;stroke:var(--t);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tile b{margin-top:6px;font-size:17px;font-weight:900;letter-spacing:.08em}
.tile .d{color:var(--mute);font-size:13px;line-height:1.35}
.tag{margin-top:auto;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--t)}.tag.part{color:var(--warn)}
.grid .tile:last-child:nth-child(odd){grid-column:1/-1;min-height:120px}
.none{margin:14px 0 0;color:var(--mute);text-align:center}
/* Offline */
.off{grid-area:off;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.off-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.off h2{margin:0 0 4px;font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--t)}
.off p{margin:0 0 14px;color:#b4c8c8;font-size:14px}
.state{padding:5px 11px;border:1px solid var(--line2);border-radius:99px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.state.ok{color:var(--t)}.state.no{color:var(--warn);border-color:rgba(255,180,84,.4)}
.meter{height:6px;margin-bottom:14px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}.meter i{display:block;height:100%;width:0;background:var(--t);transition:width .3s}
.btn{width:100%;min-height:50px;padding:13px;border:0;border-radius:14px;background:var(--t);color:#03211d;font-weight:900;font-size:16px;cursor:pointer}.btn:disabled{opacity:.6}
.btn.again{background:rgba(85,229,209,.12);color:var(--t);border:1px solid var(--line2)}
.off small{display:block;margin-top:10px;color:var(--mute);font-size:12px;min-height:1em}
details{margin-top:8px;border-top:1px solid var(--line)}
summary{padding:12px 0;font-size:14px;font-weight:700;cursor:pointer;color:#cfe6e4}
#offList{list-style:none;margin:0 0 4px;padding:0}#offList li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}
#offList em{font-style:normal;color:var(--mute);text-align:right;max-width:62%}
.inst{display:block;margin-top:10px;color:var(--t);font-size:14px;font-weight:700;text-decoration:none}
/* Viewer */
#viewer{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:var(--bg)}#viewer[hidden]{display:none}
.vbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(8px + var(--sat)) calc(12px + var(--sar)) 8px calc(12px + var(--sal));border-bottom:1px solid var(--line);background:rgba(3,9,11,.97)}
.vbar button{min-width:72px;min-height:44px;padding:8px 16px;border:1px solid var(--line2);border-radius:99px;background:var(--panel);font-weight:800;cursor:pointer}
.vbar b{font-size:14px;letter-spacing:.14em}
#frame{flex:1;width:100%;border:0;background:#05090c;padding-bottom:var(--sab)}
/* iPad hochkant / iPhone quer: 3 Spalten */
@media(min-width:600px){#shell{padding-left:calc(28px + var(--sal));padding-right:calc(28px + var(--sar));gap:20px}.grid{grid-template-columns:repeat(3,1fr);gap:14px}.grid .tile:last-child:nth-child(odd){grid-column:auto;min-height:168px}.tile{min-height:190px;padding:20px}.tile b{font-size:19px}.tile .d{font-size:14px}.bm{width:60px;height:60px;font-size:26px}.bt b{font-size:24px}.search{min-height:60px}.search input{font-size:19px}}
/* iPad quer / Mac: zwei Spalten, links Marke + Suche + Offline, rechts Kacheln */
@media(min-width:1000px){#shell{grid-template-columns:minmax(300px,380px) 1fr;grid-template-areas:"brand tiles" "search tiles" "off tiles";align-content:start;gap:22px 34px;padding-top:calc(30px + var(--sat))}.grid{grid-template-columns:repeat(2,1fr);gap:16px}.tile{min-height:210px}.grid .tile:last-child:nth-child(odd){grid-column:1/-1;min-height:150px}}
@media(min-width:1000px) and (max-height:700px){.tile{min-height:160px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- NavTool App 2.0 ---- */
:root{--bg:#05090c;--p:rgba(10,21,27,.82);--t:#55e5d1}
html,body{background:#05090c}body{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
#splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;align-content:center;gap:30px;background:#05090c;transition:opacity .6s}#splash.out{opacity:0}
#splash img{width:min(72vw,420px);animation:pop 1s ease both}#splash i{display:block;width:120px;height:3px;border-radius:9px;background:rgba(85,229,209,.2);overflow:hidden;position:relative}#splash i::after{content:"";position:absolute;inset:0;width:40%;background:#55e5d1;border-radius:9px;animation:ld 1.1s ease-in-out infinite}
@keyframes ld{0%{left:-40%}100%{left:100%}}@keyframes pop{from{opacity:0;transform:scale(.92)}}
header.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 6px}header.top .logo{height:24px;width:auto}header.top .pill{justify-self:end}
.view{padding:0 16px}.vh{font-size:26px;letter-spacing:-.04em;margin:14px 0}
.feat{background-image:url(/pic/app/home-banner.svg),linear-gradient(135deg,rgba(30,185,168,.3),rgba(10,21,27,.9));background-repeat:no-repeat;background-position:right center,0 0;position:relative;display:block;width:100%;text-align:left;margin:12px 0 4px;padding:18px 54px 18px 18px;border-radius:22px;border:1px solid rgba(85,229,209,.35);background:linear-gradient(135deg,rgba(30,185,168,.3),rgba(10,21,27,.9));color:#ecfbf9;font:inherit}
.feat b{display:block;font-size:20px;letter-spacing:-.02em;margin-top:6px}.feat small{display:block;margin-top:4px;color:#9fb8b7;font-size:13px}.feat i{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-style:normal;font-size:22px;color:#55e5d1}
.new,em.new{padding:3px 8px;border-radius:99px;background:#55e5d1;color:#03211d;font:900 9px system-ui;letter-spacing:.12em;font-style:normal;margin-left:6px}.feat .new{margin:0}
#topics{display:grid;gap:8px;margin-top:10px}.topic{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-radius:16px;border:1px solid rgba(85,229,209,.3);background:rgba(85,229,209,.08);color:#ecfbf9;font:inherit;text-align:left}.topic small{color:#55e5d1;font-weight:800}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0}@media(min-width:700px){.grid{grid-template-columns:repeat(3,1fr)}}
.tile{position:relative;border-radius:22px;border:1px solid rgba(85,229,209,.16);background:var(--p);padding:16px;display:flex;flex-direction:column;gap:6px;min-height:150px;cursor:pointer;color:#ecfbf9;text-align:left}.tile.off{opacity:.5}
.tile .star{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#7e9697;font-size:20px}.tile .star.on{color:#ffd166}
.card{margin:12px 0;padding:18px;border-radius:20px;border:1px solid rgba(85,229,209,.16);background:var(--p);display:grid;gap:10px}.card h3{font-size:16px}.card input{padding:12px 14px;border-radius:12px;border:1px solid rgba(85,229,209,.2);background:#0b1a21;color:#ecfbf9;font:inherit}
.mu{color:#7e9697;font-size:13px}.err{color:#ff7070}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lnk{display:block;text-decoration:none;color:#55e5d1;font-weight:800}
#tabbar{position:fixed;z-index:500;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(420px,calc(100% - 28px));height:66px;padding:6px;display:flex;border-radius:34px;touch-action:none;user-select:none;background:rgba(20,36,42,.5);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(24px) saturate(1.7);-webkit-backdrop-filter:blur(24px) saturate(1.7);box-shadow:0 12px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.18)}
#bub{position:absolute;left:6px;top:6px;bottom:6px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(85,229,209,.16));border:1px solid rgba(255,255,255,.28);box-shadow:0 4px 18px rgba(85,229,209,.2),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .35s cubic-bezier(.3,1.4,.5,1),width .2s}
#tabbar button{position:relative;flex:1;display:grid;place-items:center;align-content:center;gap:2px;border:0;background:transparent;color:#8ba7a8;font:800 10px system-ui;letter-spacing:.04em}#tabbar button.on{color:#55e5d1}#tabbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#toast{position:fixed;left:50%;bottom:calc(98px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);padding:11px 16px;border-radius:99px;background:#0d2a2c;border:1px solid #55e5d1;color:#ecfbf9;font:700 13px system-ui;opacity:0;pointer-events:none;transition:.3s;z-index:600}#toast.on{opacity:1;transform:translate(-50%,0)}
#viewer{z-index:1000}

/* ================= NavTool App 2.2 · Gerätegerecht & schöner ================= */
.view[hidden]{display:none!important}
html{--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);overscroll-behavior:none}
body{overflow-x:hidden;-webkit-user-select:none;user-select:none}
input{-webkit-user-select:text;user-select:text}
.view{max-width:1180px;margin:0 auto;padding:0 calc(16px + var(--sar)) 0 calc(16px + var(--sal))}
header.top{max-width:1180px;margin:0 auto;padding-left:calc(16px + var(--sal));padding-right:calc(16px + var(--sar))}
header.top .logo{height:26px;filter:drop-shadow(0 0 14px rgba(85,229,209,.25))}
.pill{min-height:34px}

/* Begrüßung */
.hello{margin:10px 2px 14px}
.hello small{display:block;font-size:12px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--t)}
.hello h1{margin:4px 0 0;font-size:clamp(28px,7.4vw,40px);line-height:1.05;letter-spacing:-.045em;font-weight:900;background:linear-gradient(180deg,#fff,#b7f3ea);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Suche */
.search{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 18px;border:1px solid rgba(85,229,209,.3);border-radius:18px;background:rgba(13,27,34,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.search svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--t);stroke-width:2;stroke-linecap:round}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;color:inherit;font:inherit;font-size:17px}
.search input::placeholder{color:#6d8788}

/* Schnellzugriff */
#chips{display:flex;gap:8px;margin:12px -16px 0;padding:2px 16px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#chips::-webkit-scrollbar{display:none}#chips[hidden]{display:none}
.chip{flex:none;min-height:40px;padding:0 15px;border-radius:99px;border:1px solid color-mix(in srgb,var(--c,#55e5d1) 45%,transparent);background:color-mix(in srgb,var(--c,#55e5d1) 10%,#0a151b);color:#ecfbf9;font:700 13.5px system-ui;white-space:nowrap;transition:transform .12s}
.chip:active{transform:scale(.95)}

/* Weitermachen */
.resume{display:flex;align-items:center;gap:14px;width:100%;margin:12px 0 0;padding:12px 16px 12px 12px;border-radius:20px;border:1px solid color-mix(in srgb,var(--c,#55e5d1) 50%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--c,#55e5d1) 16%,#0a151b),#0a151b);text-align:left;color:#ecfbf9;transition:transform .12s}
.resume[hidden]{display:none}.resume:active{transform:scale(.98)}
.resume .ic{flex:none;border-color:color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 14%,transparent)}
.resume .ic svg{stroke:var(--c)}
.rt{flex:1;min-width:0;display:grid}.rt small{font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--c)}.rt b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resume i{font-style:normal;font-size:22px;color:var(--c)}

/* Simulator-Karte */
.feat{position:relative;overflow:hidden;display:block;width:100%;margin:12px 0 4px;padding:20px 62px 20px 20px;border-radius:24px;border:1px solid rgba(255,180,84,.45);background:radial-gradient(260px 140px at 100% 0,rgba(255,180,84,.22),transparent),linear-gradient(135deg,#17262a,#0a151b);text-align:left;color:#ecfbf9;box-shadow:0 14px 40px rgba(0,0,0,.35);transition:transform .12s}
.feat:active{transform:scale(.98)}
.fart{position:absolute;right:-18px;top:50%;width:118px;height:118px;margin-top:-59px;fill:none;stroke:rgba(255,180,84,.4);stroke-width:1.5;opacity:.9;animation:spin 40s linear infinite}
.fart .nd{fill:rgba(255,180,84,.55);stroke:none}
@keyframes spin{to{transform:rotate(360deg)}}
.feat .new{background:#ffb454;color:#241600}
.feat b{display:block;margin-top:8px;font-size:21px;letter-spacing:-.03em}
.feat small{display:block;margin-top:5px;max-width:30ch;color:#a9bdbd;font-size:13.5px;line-height:1.4}
.feat i{color:#ffb454}

/* Kacheln mit Themenfarbe */
.grid{gap:12px}
.tile{--c:#55e5d1;min-height:156px;padding:16px 16px 14px;border-radius:24px;border:1px solid color-mix(in srgb,var(--c) 28%,transparent);background:radial-gradient(180px 110px at 100% 0,color-mix(in srgb,var(--c) 14%,transparent),transparent),linear-gradient(160deg,#0f202a,#0a151b);box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .14s cubic-bezier(.3,1.4,.5,1),border-color .2s}
.tile:active{transform:scale(.96);border-color:var(--c)}
.tile .ic{width:50px;height:50px;border-radius:16px;border-color:color-mix(in srgb,var(--c) 50%,transparent);background:color-mix(in srgb,var(--c) 13%,transparent)}
.tile .ic svg{width:27px;height:27px;stroke:var(--c)}
.tile b{font-size:16px;letter-spacing:.09em}
.tile .tag{color:var(--c)}.tile .tag.part{color:var(--warn)}
.tile .star{width:40px;height:40px;top:8px;right:8px}
.card{border-radius:22px}.card input{min-height:48px;font-size:16px}
.btn{min-height:52px}

/* Viewer */
.vbar{padding-top:calc(6px + var(--sat))}
.vbar button{min-height:42px}
#viewer{background:#05090c}

/* ---------- Handy hochkant (Standard) ---------- */
html[data-dev=phone] body{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
html[data-dev=phone] .tile .d{font-size:12.5px}

/* ---------- Handy quer: Tab-Leiste als Seitenleiste ---------- */
#tabbar.v{left:calc(12px + var(--sal));top:50%;bottom:auto;transform:translateY(-50%);width:68px;height:min(250px,calc(100dvh - 40px));flex-direction:column;border-radius:34px}
#tabbar.v #bub{left:6px;right:6px;top:6px;bottom:auto;width:auto}
#tabbar.v button{font-size:9px}
html[data-dev=phone][data-orient=land] body{padding-bottom:20px}
html[data-dev=phone][data-orient=land] .view,html[data-dev=phone][data-orient=land] header.top{padding-left:calc(96px + var(--sal))}
html[data-dev=phone][data-orient=land] #toast{bottom:20px}
html[data-dev=phone][data-orient=land] .grid{grid-template-columns:repeat(3,1fr)}
html[data-dev=phone][data-orient=land] .tile{min-height:132px}
html[data-dev=phone][data-orient=land] .hello h1{font-size:26px}
html[data-dev=phone][data-orient=land] header.top{padding-top:calc(4px + env(safe-area-inset-top,0px))}

/* ---------- Tablet / Desktop ---------- */
@media(min-width:700px){
 .view,header.top{padding-left:calc(28px + var(--sal));padding-right:calc(28px + var(--sar))}
 .grid{grid-template-columns:repeat(3,1fr);gap:16px}.tile{min-height:190px;padding:20px}.tile b{font-size:18px}.tile .d{font-size:14px}.tile .ic{width:56px;height:56px}
 .hello h1{font-size:44px}.search{min-height:62px}.search input{font-size:19px}
 #tabbar:not(.v){width:min(460px,calc(100% - 28px));height:72px}
}
@media(min-width:1000px){
 #v-home{display:grid;grid-template-columns:minmax(320px,400px) 1fr;gap:0 40px;align-items:start}
 #v-home .hl{position:sticky;top:calc(10px + var(--sat))}
 .grid{grid-template-columns:repeat(2,1fr)}.tile{min-height:200px}
 #chips{flex-wrap:wrap;margin:12px 0 0;padding:0;overflow:visible}
}
@media(min-width:1000px) and (max-height:760px){.tile{min-height:160px}.hello h1{font-size:34px}}
html[data-dev=desktop] .tile:hover,html[data-dev=desktop] .chip:hover,html[data-dev=desktop] .feat:hover,html[data-dev=desktop] .resume:hover{filter:brightness(1.12);cursor:pointer}
@media(prefers-reduced-motion:reduce){.fart{animation:none}}
/* Alte Raster-Hülle neutralisieren */
#shell{display:block;max-width:none;width:100%;padding:0;gap:0}

header.top{display:flex;align-items:center;justify-content:space-between}
header.top>span{display:none}
.pill{white-space:nowrap;font-size:10px;padding:7px 12px}
/* Handy quer: zwei Spalten */
html[data-dev=phone][data-orient=land] #v-home{display:grid;grid-template-columns:minmax(250px,320px) 1fr;gap:0 18px;align-items:start}
html[data-dev=phone][data-orient=land] #v-home .hl{position:sticky;top:6px}
html[data-dev=phone][data-orient=land] #chips{display:none}
html[data-dev=phone][data-orient=land] .grid{grid-template-columns:repeat(2,1fr)}
html[data-dev=phone][data-orient=land] .feat{padding:14px 56px 14px 16px}
html[data-dev=phone][data-orient=land] .hello{margin:2px 2px 10px}
html[data-dev=phone][data-orient=land] .search{min-height:48px}
#v-home>.hl,#v-home>.tiles{grid-area:auto}
@media(min-width:1000px){.hello h1{font-size:36px}}

/* ---- v8: Handy-Ansicht näher dran, Ladebildschirm kurz ---- */
html,body{overflow-x:hidden;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
#splash{transition:opacity .3s}
#splash img{animation-duration:.4s}
#splash i::after{animation-duration:.7s}
html[data-dev=phone][data-orient=port] .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
html[data-dev=phone][data-orient=port] .grid .tile:last-child:nth-child(odd){grid-column:1/-1;min-height:120px}
html[data-dev=phone][data-orient=port] .tile{min-height:178px;padding:18px 16px 16px;border-radius:24px}
html[data-dev=phone] .tile .ic{width:56px;height:56px}
html[data-dev=phone] .tile .ic svg{width:30px;height:30px}
html[data-dev=phone] .tile b{font-size:18px}
html[data-dev=phone] .tile .d{font-size:14.5px;line-height:1.35}
html[data-dev=phone] .tile .tag{font-size:11px}
html[data-dev=phone] .hello h1{font-size:clamp(32px,9.4vw,44px)}
html[data-dev=phone] .hello small{font-size:13px}
html[data-dev=phone] .search{min-height:60px}
html[data-dev=phone] .search input{font-size:18px}
html[data-dev=phone] .chip{min-height:46px;font-size:15px;padding:0 18px}
html[data-dev=phone] .feat b{font-size:23px}
html[data-dev=phone] .feat small{font-size:14.5px}
html[data-dev=phone] header.top .logo{height:28px}
html[data-dev=phone] #tabbar button{font-size:12px}
