:root{--navy:#062b50;--blue:#0b5d9b;--cyan:#27c7ff;--paper:#f5f9fd;--ink:#10263a;--muted:#60758a;--danger:#b42336;--ok:#118055;--shadow:0 16px 38px rgba(2,35,67,.16)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eaf6ff,#f8fbfe 38%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.hero{padding:max(20px,env(safe-area-inset-top)) 18px 20px;background:linear-gradient(135deg,#031f3c,#0b5e9e 58%,#063865);color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:13px}.brand img{width:62px;height:62px;border-radius:17px;box-shadow:0 0 22px rgba(39,199,255,.5)}h1{margin:0;font-size:29px;letter-spacing:.2px}.brand p{margin:5px 0 0;color:#d5efff;font-size:13px}.ghost{border:1px solid #75cdf7;background:#ffffff17;color:#fff;border-radius:13px;padding:11px 10px;font-weight:700}.tabs{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:8px;background:#dceefa;border-bottom:1px solid #c3dfef}.tab{border:0;background:transparent;padding:13px 3px;color:#315a76;font-weight:700;border-radius:10px;font-size:12px}.tab.active{background:#fff;color:#075a95;box-shadow:0 4px 14px #174d7020}main{max-width:720px;margin:auto;padding:18px 17px 50px}.panel{display:none}.panel.active{display:block;animation:appear .2s ease}@keyframes appear{from{opacity:.2;transform:translateY(5px)}}h2{font-size:27px;margin:5px 0 8px}p{line-height:1.45}.primary,.secondary{width:100%;min-height:52px;border-radius:15px;padding:12px 15px;font-size:15px;font-weight:800;margin:7px 0}.primary{border:1px solid #56c9fc;background:linear-gradient(135deg,#073c70,#158ed3,#075181);color:white;box-shadow:0 9px 18px #075b962e}.secondary{border:1px solid #91b9d1;background:#fff;color:#164d70}.file-button{display:flex;align-items:center;justify-content:center;cursor:pointer}.file-button input{display:none}.drop-zone{height:min(74vw,390px);min-height:245px;margin:17px 0 10px;border:2px dashed #8fc5e3;background:white;border-radius:22px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted)}#preview{display:none;max-width:100%;max-height:100%;object-fit:contain}.status{text-align:center;padding:11px;font-weight:700}.result-card,.install-card{background:#fff;border:1px solid #d6e6f0;border-radius:18px;padding:16px;margin:10px 0;box-shadow:0 8px 22px #0b42670d}.badge{display:inline-block;border-radius:999px;padding:7px 11px;font-weight:800;background:#e7f7ef;color:var(--ok)}.badge.warn{background:#fff0ee;color:var(--danger)}pre{white-space:pre-wrap;word-break:break-word;font-family:inherit}.actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.actions .primary{grid-column:1/-1}textarea{width:100%;border:1px solid #a8cce1;border-radius:16px;padding:15px;font:inherit;background:#fff;resize:vertical}.generated{display:flex;justify-content:center;margin:20px auto}.generated img{width:min(82vw,360px);border-radius:17px;background:#fff;padding:16px;box-shadow:var(--shadow)}.history-item{background:#fff;border:1px solid #d6e6f0;border-radius:15px;padding:13px;margin:8px 0;word-break:break-word}.history-item small{display:block;color:var(--muted);margin-top:5px}.install-card{display:flex;align-items:center;gap:14px}.install-card p{margin:0}.step{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0a4d83,#21b7ee);color:#fff;font-weight:900}.privacy{font-size:13px;color:var(--muted)}.hidden{display:none!important}footer{text-align:center;padding:18px 10px calc(18px + env(safe-area-inset-bottom));color:#61778a}footer a{color:#075e99}#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(120px);background:#071f34;color:white;padding:12px 17px;border-radius:13px;transition:.25s;z-index:20;max-width:90%;text-align:center}#toast.show{transform:translateX(-50%) translateY(0)}
@media(min-width:700px){.hero{padding-left:calc((100% - 720px)/2);padding-right:calc((100% - 720px)/2)}.tab{font-size:14px}}
