:root{color-scheme:dark;--bg: #0b1220;--bg-soft: #121b2e;--card: #18233a;--line: rgba(255, 255, 255, .12);--text: #f4f7ff;--muted: #9aa8c7;--accent: #3d9cff;--accent-2: #22c55e;--danger: #fb7185;--radius: 18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif}body{min-height:100dvh}#app{min-height:100dvh;display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top)) 16px calc(108px + env(safe-area-inset-bottom));gap:12px}.topbar,.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.header-actions{display:flex;align-items:center;gap:4px}#create-btn svg,#history-btn svg{width:1.75rem;height:1.75rem}.install-btn{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;min-height:0;padding:0 4px;background:transparent;border:0;box-shadow:none;color:var(--text);font-size:.78rem;line-height:1}.install-btn img{width:20px;height:20px;object-fit:contain;display:block}.install-btn[hidden],#install-btn[hidden]{display:none!important}@media(display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){#install-btn{display:none!important}}.install-help{margin:0;color:var(--muted);line-height:1.45}.logo{width:36px;height:36px;flex:0 0 auto;border-radius:10px;object-fit:cover}h1,h2{margin:0;font-size:1.4rem}.brand h1{font-size:1rem;font-weight:600}.brand h1 a{color:#7dd3fc;text-decoration:none}.brand h1 a:hover{text-decoration:underline}@property --neon-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.stage{position:relative;flex:0 0 auto;width:min(100%,calc(100dvh - 16rem));aspect-ratio:1 / 1;align-self:center;overflow:hidden;border-radius:28px;border:2px solid transparent;background:#000 padding-box,conic-gradient(from var(--neon-angle),#123a66,#3d9cff,#67e8f9,#a78bfa,#3d9cff,#123a66) border-box;box-shadow:0 0 10px #3d9cff80,0 0 22px #22d3ee47,inset 0 0 14px #3d9cff2e;filter:drop-shadow(0 0 8px rgba(61,156,255,.55))}.stage.neon-on{animation:neon-spin 2.6s linear infinite,neon-glow 2.2s ease-in-out infinite}@keyframes neon-spin{to{--neon-angle: 360deg}}@keyframes neon-glow{0%,to{box-shadow:0 0 8px #3d9cff66,0 0 16px #22d3ee33,inset 0 0 10px #3d9cff1f;filter:drop-shadow(0 0 6px rgba(61,156,255,.4))}50%{box-shadow:0 0 16px #67e8f9bf,0 0 34px #3d9cff8c,inset 0 0 18px #67e8f947;filter:drop-shadow(0 0 14px rgba(103,232,249,.7))}}.stage.scanned{animation:none;filter:drop-shadow(0 0 6px rgba(61,156,255,.4));box-shadow:0 0 8px #3d9cff66,0 0 16px #22d3ee33,inset 0 0 10px #3d9cff1f}@media(prefers-reduced-motion:reduce){.stage{animation:none;--neon-angle: 210deg}}#preview,#preview-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}#preview-image{z-index:1}.stage.has-still .viewfinder{display:none}.viewfinder{position:absolute;top:18%;right:18%;bottom:18%;left:18%;z-index:2;pointer-events:none}.viewfinder span{position:absolute;width:28px;height:28px;border:3px solid #fff}.viewfinder span:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.viewfinder span:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}.viewfinder span:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}.viewfinder span:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}.status{position:absolute;right:16px;bottom:16px;left:16px;z-index:2;margin:0;padding:10px 12px;border-radius:999px;background:#0b1220b8;color:var(--text);text-align:center;font-size:.92rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status.error{color:#fecdd3;background:#7f1d1db8}.footer{position:fixed;right:0;bottom:0;left:0;z-index:8;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:#0b1220f0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.footer-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.footer .icon-btn{display:grid;grid-template-rows:52px auto;justify-items:center;align-items:end;gap:4px;min-height:0;padding:4px 4px 2px;background:transparent;color:var(--text);font-size:.78rem;line-height:1.1}.footer .icon-btn.active{background:var(--card)}.footer .file-btn{background:transparent;border:0}.footer .btn-icon{width:36px;height:36px;object-fit:contain}#camera-btn .btn-icon{width:52px;height:52px}button,.file-btn,#open-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 12px;border:0;border-radius:var(--radius);font:inherit;text-decoration:none;cursor:pointer}.icon-btn svg{width:1.15rem;height:1.15rem;flex:0 0 auto}button:disabled{opacity:.45;cursor:not-allowed}.primary,#open-link.primary{background:var(--accent);color:#071018;font-weight:700}.secondary,.file-btn{background:var(--card);color:var(--text);border:1px solid var(--line)}.ghost{background:transparent;color:var(--muted)}#install-btn{position:absolute;top:0;right:16px;z-index:9;flex-direction:row;gap:6px;min-height:0;padding:0 6px;transform:translateY(calc(-100% - 6px));background:transparent;border:0;box-shadow:none;border-radius:0;color:var(--text);font-size:.78rem}.result-panel{display:grid;gap:10px;flex:0 1 auto;max-height:34dvh;overflow:auto;padding:12px;border-radius:20px;background:var(--card);border:1px solid var(--line)}.result-panel[hidden],.history-panel[hidden]{display:none}.history-panel{display:grid;gap:10px;flex:0 1 auto;max-height:32dvh;overflow:auto;padding:12px;border-radius:20px;background:var(--card);border:1px solid var(--line)}.history-panel h2{font-size:1.05rem}.result-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.result-head .icon-btn{min-height:40px}.result-link{display:block;padding:12px;border-radius:14px;background:#0d1526;color:#7dd3fc;word-break:break-word;text-decoration:underline;font-size:.95rem}.result-link[hidden]{display:none}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;align-items:end;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#00000073;z-index:10}.sheet[hidden]{display:none}.sheet-card{display:grid;gap:12px;max-height:78dvh;overflow:auto;padding:20px;border-radius:24px;background:var(--card);border:1px solid var(--line)}#create-text{width:100%;resize:vertical;min-height:96px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#0d1526;color:var(--text);font:inherit}.create-error{margin:0;color:#fecdd3;font-size:.88rem}.create-preview{display:grid;gap:10px;justify-items:center}.create-preview[hidden]{display:none}.create-preview img{width:min(100%,240px);height:auto;border-radius:12px;background:#fff;padding:8px}.chip{width:fit-content;margin:0;padding:4px 10px;border-radius:999px;background:#3d9cff29;color:#93c5fd;font-size:.8rem}.chip.url{background:#22c55e29;color:#86efac}pre{margin:0;padding:12px;border-radius:14px;background:#0d1526;white-space:pre-wrap;word-break:break-word;font-size:.95rem}.hex{color:#cbd5e1;font-size:.78rem}.sheet-actions{display:grid;gap:8px}.history-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.history-list li{padding:12px;border-radius:14px;background:#0d1526}.history-list strong{display:block;margin-bottom:4px;color:#93c5fd;font-size:.8rem}.history-list p,.history-list a{margin:0;color:var(--text);word-break:break-word}.history-list a{color:#7dd3fc;text-decoration:underline}.empty{color:var(--muted)}@media(min-width:720px){#app{max-width:480px;margin:0 auto}.footer{left:50%;right:auto;width:480px;transform:translate(-50%)}}
