:root{color-scheme:dark;--red:#b4091c;--red-deep:#490008;--wine:#260006;--gold:#f5c400;--cream:#fff6dc;--green:#27c776;--muted:#c8a9a2;font-family:"Bricolage Grotesque",sans-serif;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box;-webkit-user-select:none;user-select:none}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#100003;color:var(--cream);touch-action:manipulation}button,input{font:inherit}button{touch-action:manipulation}.app{width:100vw;height:100dvh;max-width:560px;margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--wine)}
.topbar{min-height:78px;padding:max(18px,env(safe-area-inset-top)) 16px 12px;display:flex;align-items:center;justify-content:space-between;background:#780712;border-bottom:5px solid var(--gold);box-shadow:0 8px 24px #0007;z-index:3}.identity{display:flex;align-items:center;gap:11px;min-width:0}.seal{width:38px;height:38px;display:grid;place-items:center;flex:none;border:2px solid var(--gold);border-radius:50%;color:var(--gold);font-family:"IBM Plex Mono",monospace;font-size:1.25rem;font-weight:600;box-shadow:inset 0 0 0 3px #780712,0 0 0 1px #f5c40055}.topbar h1{font-size:1rem;line-height:1;letter-spacing:.105em;margin:0;font-weight:800;font-stretch:condensed}.topbar p{font:500 .63rem/1.2 "IBM Plex Mono",monospace;color:#eac8bc;margin:5px 0 0;text-transform:uppercase;letter-spacing:.04em}.header-actions{display:flex;gap:7px}.icon-button{position:relative;width:36px;height:36px;border:1px solid #e1a9a4;border-radius:10px;background:#55020b;color:#fff0d0;font-size:1.2rem}.icon-button.info{border-radius:50%;font-family:Georgia,serif;font-size:1rem}.icon-button b{position:absolute;right:-4px;top:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--gold);color:#3a0006;font:600 .6rem/17px "IBM Plex Mono",monospace}
.scanner{position:relative;min-height:0;overflow:hidden;background:#090103}.scanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.scanner.active video{opacity:1}.camera-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:8px;padding:32px;background:radial-gradient(ellipse at center,#4f0711 0,#210006 58%,#0d0002 100%)}.scanner.active .camera-placeholder{display:none}.camera-placeholder strong{font-size:1.05rem}.camera-placeholder span{font-size:.78rem;color:var(--muted)}.scan-glyph{width:68px;height:50px;margin:0 auto 12px;border-inline:2px solid #9b5960}.scan-glyph::after{content:"";display:block;width:48px;height:28px;margin:11px auto;background:repeating-linear-gradient(90deg,var(--gold) 0 2px,transparent 2px 5px)}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#150004cc 0 18%,transparent 18% 73%,#150004e6 73%)}.frame{position:absolute;left:9%;right:9%;top:21%;height:46%;border:1px solid #fff2c222;border-radius:18px}.frame::before{content:"";position:absolute;inset:-2px;border:4px solid var(--gold);border-left-color:transparent;border-right-color:transparent;border-radius:19px;clip-path:polygon(0 0,22% 0,22% 10%,78% 10%,78% 0,100% 0,100% 100%,78% 100%,78% 90%,22% 90%,22% 100%,0 100%)}.laser{position:absolute;left:7%;right:7%;top:50%;height:2px;background:var(--gold);box-shadow:0 0 14px var(--gold);animation:scan 2.1s ease-in-out infinite}.scanner:not(.active) .laser{opacity:.3;animation-play-state:paused}@keyframes scan{0%,100%{transform:translateY(-58px);opacity:.3}50%{transform:translateY(58px);opacity:1}}.camera-status{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#2e0007e8;border:1px solid #8b3540;border-radius:8px;padding:8px 11px;font:500 .66rem/1 "IBM Plex Mono",monospace;color:#f6ded3}.camera-status span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 7px var(--gold);margin-right:7px}
.controls{z-index:2;display:grid;grid-template-columns:1.35fr 1fr;gap:9px;padding:12px 14px calc(9px + env(safe-area-inset-bottom));background:#5d020c;border-top:1px solid #b34d58}.controls button{height:50px;border-radius:11px;font-weight:750}.camera-button{border:0;background:var(--gold);color:#3c0705;box-shadow:0 6px 18px #0005}.camera-button:disabled{opacity:.72}.manual-button{border:1px solid #db8f8d;background:#390006;color:#fff2dc}.controls button>span+span{margin-left:7px}.controls p{grid-column:1/-1;margin:0;text-align:center;color:#d7aaa5;font:500 .58rem/1.3 "IBM Plex Mono",monospace}.controls p i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:4px}.camera-icon{display:inline-block;width:17px;height:12px;border:2px solid currentColor;border-radius:3px;vertical-align:-1px;position:relative}.camera-icon::after{content:"";position:absolute;width:4px;height:4px;border:2px solid currentColor;border-radius:50%;left:4px;top:2px}
.result-overlay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;background:#1c0005f3;opacity:0;visibility:hidden;transition:.18s}.result-overlay.show{opacity:1;visibility:visible}.result-overlay.negative{background:#3a0008f5}.result-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:1px solid #ffffff55;border-radius:50%;background:#19000488;color:white;font-size:1.55rem}.result-visual{position:relative;width:132px;height:132px;margin-bottom:18px}.result-visual img{width:100%;height:100%;object-fit:contain;border-radius:20px;background:white;border:4px solid #fff}.result-symbol{position:absolute;right:-10px;bottom:-9px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:4px solid currentColor;background:#160004;color:var(--green);font-size:0;animation:pop .5s cubic-bezier(.2,1.7,.4,1)}.result-symbol::after{content:"✓";font-size:2.3rem;font-weight:900;line-height:1}.result-overlay.negative .result-symbol{color:#ff4355;border-radius:13px}.result-overlay.negative .result-symbol::after{content:"×";font-size:3rem}.result-overlay.unknown .result-symbol{color:var(--gold)}.result-overlay.unknown .result-symbol::after{content:"?";font-size:2rem}.morocco-flag{display:none;position:absolute;left:-25px;top:-25px;font-size:4.1rem;filter:drop-shadow(0 8px 12px #0008);transform:rotate(-8deg);animation:flagIn .65s cubic-bezier(.2,1.5,.4,1)}.result-overlay.negative .morocco-flag{display:block}.result-kicker{color:var(--gold)!important;font:600 .65rem/1.2 "IBM Plex Mono",monospace!important;letter-spacing:.12em;text-transform:uppercase}.result-overlay h2{font-size:1.85rem;line-height:1.02;margin:6px 0 9px;max-width:360px}.result-overlay>p{max-width:340px;margin:0;color:#ecd7ce;line-height:1.4}.result-overlay code{margin-top:14px;color:#b98e8b;font:500 .66rem "IBM Plex Mono",monospace}@keyframes pop{0%{transform:scale(.1);opacity:0}75%{transform:scale(1.16)}100%{transform:scale(1)}}@keyframes flagIn{0%{transform:scale(.2) rotate(-25deg);opacity:0}100%{transform:scale(1) rotate(-8deg);opacity:1}}#confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}
dialog{width:min(92%,430px);max-height:min(82dvh,680px);border:1px solid #8e3b45;border-radius:18px;background:#290006;color:var(--cream);padding:0;box-shadow:0 28px 90px #000c}dialog::backdrop{background:#100003db;backdrop-filter:blur(6px)}dialog form,dialog>section{padding:26px;position:relative}dialog h2{font-size:1.65rem;margin:4px 0 8px}dialog p{color:#d5b2a9;line-height:1.45;font-size:.88rem}.eyebrow{color:var(--gold);font:600 .65rem "IBM Plex Mono",monospace;letter-spacing:.12em}.close{position:absolute;right:14px;top:12px;background:transparent;border:0;color:#d9b7ad;font-size:1.8rem}input{width:100%;height:55px;border:1px solid #93434d;border-radius:10px;background:#150003;color:white;font:600 1rem "IBM Plex Mono",monospace;padding:0 13px;margin:9px 0 12px;outline:0;-webkit-user-select:text;user-select:text}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f5c40026}.primary{width:100%;height:52px;border:0;border-radius:11px;background:var(--gold);color:#3a0006;font-weight:800}
.history-dialog{height:min(82dvh,680px)}.history-dialog>section{height:100%;display:flex;flex-direction:column}.history-list{overflow:auto;margin-top:12px;padding-right:3px}.history-empty{display:grid;place-items:center;min-height:210px;text-align:center;color:#bc9891;font-size:.86rem}.history-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid #6a2630}.history-item img,.history-thumb{width:58px;height:58px;border-radius:10px;object-fit:contain;background:#fff}.history-thumb{display:grid;place-items:center;background:#5a101a;color:var(--gold);font-weight:800}.history-copy{min-width:0}.history-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.history-copy span{display:block;margin-top:4px;color:#d2ada5;font-size:.72rem}.history-copy em{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:5px;background:#063b24;color:#8bf0ba;font:500 .58rem "IBM Plex Mono",monospace;font-style:normal}.history-item.morocco em{background:#680815;color:#ffd3d4}.history-item.unknown em{background:#574100;color:#ffe58b}
.result-visual.no-image::before{content:"P";position:absolute;inset:0;display:grid;place-items:center;border:2px solid #98505a;border-radius:20px;background:#5a0712;color:var(--gold);font:800 4rem "Bricolage Grotesque",sans-serif}
:root{font-family:"Alegreya Sans",sans-serif}.topbar h1,.seal,.controls button,.result-overlay h2,dialog h2,.history-copy strong,.result-visual.no-image::before{font-family:"Unbounded",sans-serif}.topbar h1{font-size:.73rem;letter-spacing:.035em;font-weight:800}.seal{font-size:1rem}.topbar p,.icon-button b,.camera-status,.controls p,.result-kicker,.result-overlay code,.eyebrow,input,.history-copy em{font-family:"Alegreya Sans",sans-serif}.topbar p{font-size:.64rem;font-weight:700;letter-spacing:.12em}.controls button{font-size:.68rem;letter-spacing:-.02em}.result-overlay h2{font-size:1.45rem;letter-spacing:-.04em;line-height:1.1}.result-kicker,.eyebrow{font-weight:800;letter-spacing:.16em}.camera-status{font-size:.72rem;font-weight:700}.history-copy strong{font-size:.72rem;letter-spacing:-.035em;line-height:1.25}dialog h2{font-size:1.28rem;letter-spacing:-.04em}dialog p,.result-overlay>p,.camera-placeholder span,.history-copy span{font-size:.95rem}.primary{font-family:"Unbounded",sans-serif;font-size:.72rem}
.brand-logo{width:46px;height:46px;flex:none;border:0;border-radius:50%;object-fit:cover;background:transparent;box-shadow:none}.identity h1{font-family:"Unbounded",sans-serif;font-size:.78rem;letter-spacing:.025em;margin:0}
:root{--red:#e0041d;--red-deep:#78000f;--wine:#210006}.app{background:radial-gradient(circle at 85% 8%,#ff3d5366 0,transparent 28%),radial-gradient(circle at 5% 72%,#e0041d33 0,transparent 34%),linear-gradient(155deg,#350007 0%,#170003 52%,#2b0006 100%)}.topbar{background:radial-gradient(circle at 28% -80%,#ff7888 0,transparent 45%),linear-gradient(135deg,#e0041d 0%,#b00016 48%,#76000e 100%);border-bottom:1px solid #ffffff38;box-shadow:0 1px 0 #ff91a244 inset,0 12px 35px #5e000d55}.topbar::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#ffffff1f 0%,transparent 34%,#ffffff0b 62%,transparent 100%)}.icon-button{border-color:#ffffff4d;background:linear-gradient(145deg,#ffffff24,#ffffff0b);box-shadow:inset 0 1px 0 #ffffff40,0 7px 20px #65000d66;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.scanner{background:#120003}.camera-placeholder{background:radial-gradient(circle at 78% 15%,#e0041d52 0,transparent 30%),radial-gradient(circle at 18% 75%,#8f00143d 0,transparent 38%),linear-gradient(155deg,#2a0007,#0e0002 68%)}.shade{background:linear-gradient(#210004b8 0 18%,transparent 18% 70%,#1b0004d6 70%)}.camera-status{background:linear-gradient(135deg,#63000edb,#270006d9);border-color:#ffffff38;box-shadow:inset 0 1px 0 #ffffff20,0 8px 24px #0008;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.controls{background:radial-gradient(circle at 16% 0,#ff43595c 0,transparent 32%),linear-gradient(135deg,#d0041bfa,#930013fa 58%,#67000dfa);border-top:1px solid #ff9aa744;box-shadow:0 -16px 45px #3c000978}.camera-button{background:linear-gradient(180deg,#ffe06a 0%,#f5c400 58%,#d9a900 100%);box-shadow:inset 0 1px 0 #fff6c7,0 9px 25px #49000866}.manual-button{border-color:#ffffff61;background:linear-gradient(145deg,#ffffff20,#ffffff09);box-shadow:inset 0 1px 0 #ffffff35,0 8px 22px #63000d5c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.result-overlay{background:radial-gradient(circle at 50% 25%,#e0041d52,transparent 42%),linear-gradient(160deg,#280006f5,#100002f8)}.result-overlay.negative{background:radial-gradient(circle at 50% 25%,#ff3852a8,transparent 38%),linear-gradient(155deg,#a00015f7,#380007fa 62%,#170003fa)}dialog{border-color:#ffffff2b;background:radial-gradient(circle at 90% 0,#e0041d5c,transparent 34%),linear-gradient(150deg,#4a000bfa,#210005fa);box-shadow:inset 0 1px 0 #ffffff26,0 28px 90px #000d;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}input{border-color:#ffffff38;background:linear-gradient(145deg,#160003d9,#3a0008a8);box-shadow:inset 0 1px 0 #ffffff12}.history-item{border-top-color:#ffffff21}.history-thumb{background:linear-gradient(145deg,#e0041d,#71000f)}
.icon-button.muted{opacity:.52}.idle-mascot{position:absolute;z-index:3;right:11px;bottom:47px;width:118px;height:118px;pointer-events:none;animation:mascotFloat 3.2s ease-in-out infinite}.idle-mascot img{position:absolute;right:-7px;bottom:-5px;width:88px;height:106px;object-fit:contain;filter:drop-shadow(0 10px 14px #0009)}.comic-bubble,.reaction-bubble{position:absolute;background:#fff;color:#2a0005;border:2px solid #210005;box-shadow:4px 5px 0 #e0041d;padding:8px 10px;border-radius:14px;font-family:"Unbounded",sans-serif;z-index:2;animation:bubblePop .6s cubic-bezier(.2,1.6,.4,1)}.comic-bubble{left:-72px;top:-8px;min-width:112px;font-size:.5rem;line-height:1.35;transform:rotate(-4deg)}.comic-bubble::after,.reaction-bubble::after{content:"";position:absolute;width:12px;height:12px;background:#fff;border-right:2px solid #210005;border-bottom:2px solid #210005;transform:rotate(45deg)}.comic-bubble::after{right:13px;bottom:-8px}.comic-bubble span,.comic-bubble strong{display:block}.comic-bubble strong{font-size:.72rem;color:#e0041d;animation:gameText 1.5s ease-in-out infinite}.reaction-stage{position:relative;width:210px;height:205px;margin:4px 0 8px}.reaction-image{position:absolute;inset:8px 20px 0;width:170px;height:190px;object-fit:contain;filter:drop-shadow(0 14px 18px #0009);animation:reactionIn .7s cubic-bezier(.2,1.45,.4,1)}.reaction-bubble{right:-18px;top:8px;max-width:145px;font-size:.7rem;line-height:1.2;transform:rotate(4deg)}.reaction-bubble::after{left:18px;bottom:-8px}.reaction-stage .result-symbol{right:10px;bottom:3px}.reaction-stage .morocco-flag{left:1px;top:5px;font-size:3rem}.product-summary{display:flex;align-items:center;justify-content:center;gap:10px;max-width:340px}.product-summary>img{width:43px;height:43px;flex:none;object-fit:contain;border-radius:9px;background:#fff;border:2px solid #fff}.product-summary .result-kicker{text-align:left;margin:0!important}.product-summary h2{text-align:left;margin:3px 0 6px!important}.result-overlay>p{font-size:.84rem}.result-overlay code{margin-top:8px}.result-overlay.show .reaction-bubble{animation:bubblePop .6s .18s both cubic-bezier(.2,1.6,.4,1)}@keyframes mascotFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes bubblePop{0%{opacity:0;transform:scale(.2) rotate(-12deg)}75%{transform:scale(1.12) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(-2deg)}}@keyframes gameText{0%,100%{transform:scale(1);color:#e0041d}50%{transform:scale(1.05);color:#a60015}}@keyframes reactionIn{0%{opacity:0;transform:translateY(30px) scale(.65) rotate(-8deg)}70%{transform:translateY(-5px) scale(1.05) rotate(2deg)}100%{opacity:1;transform:none}}@media(max-height:700px){.reaction-stage{width:170px;height:155px}.reaction-image{width:135px;height:150px}.idle-mascot{transform:scale(.88);transform-origin:bottom right}.result-overlay{padding-block:18px}}
.topbar{padding-inline:12px}.brand-logo{width:38px;height:38px}.identity{gap:7px}.identity h1{font-size:.64rem;letter-spacing:0}.header-actions{gap:5px;flex:none}.header-actions .icon-button{width:32px;height:32px;font-size:1rem}
.idle-mascot{left:11px;right:auto}.idle-mascot img{left:-7px;right:auto}.comic-bubble{left:70px;right:auto;top:-8px;transform:rotate(4deg)}.comic-bubble::after{left:13px;right:auto}.idle-mascot{transform-origin:bottom left}
.reaction-stage{height:222px}.reaction-image{inset:4px 25px auto;width:160px;height:166px}.reaction-stage .result-symbol{left:50%;right:auto;bottom:0;transform:translateX(-50%);animation:symbolPop .5s cubic-bezier(.2,1.7,.4,1)}@keyframes symbolPop{0%{transform:translateX(-50%) scale(.1);opacity:0}75%{transform:translateX(-50%) scale(1.14)}100%{transform:translateX(-50%) scale(1)}}@media(max-height:700px){.reaction-stage{height:178px}.reaction-image{width:125px;height:128px;left:22px}.reaction-stage .result-symbol{bottom:0}}
.result-overlay.other .reaction-bubble,.result-overlay.spain .reaction-bubble{top:-36px;right:-8px}.result-overlay.spain{background:radial-gradient(circle at 50% 22%,#8ee7ae80 0,transparent 38%),linear-gradient(155deg,#34b161f7 0%,#19834afa 55%,#07552efa 100%)}.result-overlay.spain .result-symbol{color:#fff;background:#116c3b;border-color:#d7ffe5}.result-overlay.spain .result-kicker{color:#e3ffec!important}.history-item.spain em{background:#0b6137;color:#caffdd}
@media(min-width:600px){body{display:grid;place-items:center;padding:20px}.app{height:calc(100dvh - 40px);border:1px solid #8c303c;border-radius:24px;box-shadow:0 30px 100px #000;overflow:hidden}}@media(max-height:640px){.topbar{min-height:67px;padding-top:max(13px,env(safe-area-inset-top))}.controls button{height:44px}.controls{padding-top:8px}.frame{top:18%;height:48%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
.desktop-gate{display:none}.desktop-blocked body{display:block;padding:0;overflow:auto;background:#110003}.desktop-blocked .app,.desktop-blocked body>audio,.desktop-blocked body>dialog{display:none}.desktop-blocked .desktop-gate{position:relative;isolation:isolate;width:100%;min-height:100dvh;display:grid;grid-template-columns:minmax(390px,1fr) minmax(420px,.9fr);align-items:center;gap:clamp(40px,7vw,120px);overflow:hidden;padding:clamp(48px,7vw,110px);background:radial-gradient(circle at 8% 0,#ff40596b 0,transparent 28%),radial-gradient(circle at 94% 84%,#e0041d52 0,transparent 32%),linear-gradient(145deg,#390008 0%,#170003 48%,#290006 100%)}.desktop-gate::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(120deg,#ffffff0b 0%,transparent 28%,#ffffff05 51%,transparent 70%)}.desktop-copy{max-width:690px}.desktop-brand{display:flex;align-items:center;gap:14px;margin-bottom:clamp(55px,8vh,95px)}.desktop-brand img{width:58px;height:58px;object-fit:contain}.desktop-brand span{font:800 .8rem "Unbounded",sans-serif;letter-spacing:.04em}.desktop-eyebrow{margin:0 0 20px;color:#f5c400;font:800 .72rem "Unbounded",sans-serif;letter-spacing:.18em}.desktop-copy h2{max-width:680px;margin:0;color:#fff7e7;font:700 clamp(2.5rem,5vw,5.6rem)/.98 "Unbounded",sans-serif;letter-spacing:-.065em}.desktop-message{max-width:650px;margin:30px 0 34px;color:#e8cbc8;font:500 clamp(1.15rem,1.55vw,1.45rem)/1.5 "Alegreya Sans",sans-serif}.desktop-devices{display:flex;align-items:center;gap:13px;color:#fff5df;font:700 .72rem "Unbounded",sans-serif;letter-spacing:.02em}.desktop-devices i{width:4px;height:4px;border-radius:50%;background:#f5c400}.device-scene{position:relative;display:grid;place-items:center;min-height:650px}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:520px;height:520px;background:radial-gradient(circle at 35% 30%,#ff6d80,#e0041d 35%,#79000f 72%);box-shadow:0 50px 120px #e0041d44}.orb-two{width:330px;height:330px;right:-17%;bottom:-6%;background:radial-gradient(circle at 32% 28%,#ffe165,#f5c400 43%,#b97800 78%);opacity:.88}.phone-shell{position:relative;z-index:2;width:290px;height:590px;padding:30px 20px 22px;border:1px solid #ffffff52;border-radius:52px;background:linear-gradient(145deg,#41000ad9,#120003ed);box-shadow:inset 0 1px 1px #ffffff4f,inset 0 -1px 1px #000,0 48px 95px #210005b8;backdrop-filter:blur(28px);transform:rotate(5deg)}.phone-speaker{position:absolute;top:13px;left:50%;width:72px;height:7px;border-radius:8px;background:#050001;transform:translateX(-50%)}.phone-brand{display:flex;align-items:center;gap:8px}.phone-brand img{width:32px;height:32px}.phone-brand b{font:700 .55rem "Unbounded",sans-serif}.phone-scan{position:relative;height:350px;margin:28px 0 26px;border:1px solid #ffffff21;border-radius:25px;background:radial-gradient(circle at 50% 45%,#830014,#280006 65%)}.phone-scan::before{content:"";position:absolute;inset:24px;border:3px solid #f5c400;border-left-color:transparent;border-right-color:transparent;border-radius:18px}.phone-scan span{position:absolute;left:34px;right:34px;top:50%;height:2px;background:#f5c400;box-shadow:0 0 15px #f5c400}.phone-button{height:53px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(#ffe46c,#f5c400);color:#4a0008;font:800 .58rem "Unbounded",sans-serif}.desktop-note{position:absolute;z-index:3;right:-18px;top:16%;padding:18px 50px 18px 20px;border:1px solid #ffffff60;border-radius:18px;background:#ffffffed;color:#350006;font:600 1rem/1.2 "Alegreya Sans",sans-serif;box-shadow:0 18px 42px #3500086b;transform:rotate(-4deg)}.desktop-note strong{font:700 1.15rem "Unbounded",sans-serif}.desktop-note span{position:absolute;right:17px;top:50%;font-size:1.5rem;transform:translateY(-50%)}@media(max-width:900px){.desktop-blocked .desktop-gate{grid-template-columns:1fr;padding:48px 30px}.desktop-copy{margin:auto;text-align:center}.desktop-brand,.desktop-devices{justify-content:center}.desktop-copy h2{font-size:clamp(2.2rem,8vw,4rem)}.device-scene{display:none}}

.desktop-copy h2{max-width:none;font-size:clamp(2.5rem,4.3vw,5rem)}
.desktop-title-line{display:block;white-space:nowrap}
.title-flag{display:inline-block;font-size:.7em;letter-spacing:0;vertical-align:.08em;filter:drop-shadow(0 8px 16px #0007)}
.store-buttons{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}
.store-button{min-width:215px;height:74px;display:flex;align-items:center;gap:14px;padding:0 18px;border:1px solid #ffffff38;border-radius:19px;background:linear-gradient(145deg,#ffffff19,#ffffff0a);box-shadow:inset 0 1px 0 #ffffff2e,0 18px 45px #09000155;backdrop-filter:blur(18px)}
.store-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:#fff;color:#190003;box-shadow:0 8px 22px #0004;font-size:1.15rem}
.store-icon-play{padding-left:3px;color:#e0041d}
.store-icon-apple{font-size:0;color:#111}
.store-icon-apple::before{content:"";font:700 1.55rem/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.store-label{text-align:left}
.store-label small,.store-label strong{display:block}
.store-label small{color:#f5c400;font:800 .55rem/1 "Unbounded",sans-serif;letter-spacing:.08em}
.store-label strong{margin-top:7px;color:#fff7e7;font:700 1rem/1 "Unbounded",sans-serif;letter-spacing:-.035em}
@media(max-width:900px){.desktop-copy h2{font-size:clamp(2.15rem,8vw,3.6rem)}.store-buttons{justify-content:center}.store-button{min-width:205px}}
.reaction-stage{width:250px;height:258px;margin-bottom:12px}.reaction-image{left:25px;width:200px;height:202px}.reaction-bubble{max-width:170px;padding:10px 13px;font-size:.82rem}.reaction-stage .result-symbol{width:60px;height:60px}.reaction-stage .result-symbol::after{font-size:2.7rem}.result-overlay.negative .result-symbol::after{font-size:3.35rem}.reaction-stage .morocco-flag{font-size:3.55rem}.product-summary{gap:13px;max-width:385px}.product-summary>img{width:58px;height:58px;border-radius:12px}.product-summary h2{font-size:1.65rem!important;line-height:1.08!important}.product-summary .result-kicker{font-size:.72rem!important}.result-overlay>p{max-width:385px;font-size:1rem;line-height:1.4}.result-overlay code{font-size:.76rem;margin-top:11px}.history-dialog{width:min(94%,480px);height:min(88dvh,760px)}.history-dialog>section{padding:30px}.history-dialog h2{font-size:1.55rem}.history-list{margin-top:18px}.history-item{grid-template-columns:74px minmax(0,1fr);gap:15px;padding:16px 0}.history-item img,.history-thumb{width:74px;height:74px;border-radius:13px}.history-copy strong{font-size:.86rem;line-height:1.3}.history-copy span{margin-top:6px;font-size:.88rem}.history-copy em{margin-top:7px;padding:4px 8px;font-size:.66rem}@media(max-height:700px){.reaction-stage{width:205px;height:198px;margin-bottom:7px}.reaction-image{left:24px;width:158px;height:150px}.reaction-bubble{font-size:.68rem;padding:8px 10px}.reaction-stage .result-symbol{width:52px;height:52px}.product-summary>img{width:48px;height:48px}.product-summary h2{font-size:1.32rem!important}.result-overlay>p{font-size:.86rem}.result-overlay code{font-size:.66rem}}
.product-summary h2{font-size:1.92rem!important;line-height:1.12!important}.product-summary .result-kicker{font-size:.9rem!important;line-height:1.25!important;letter-spacing:.12em}.result-overlay>p{font-size:1.15rem;line-height:1.45}.result-overlay code{font-size:.86rem}.product-summary{max-width:410px}@media(max-height:700px){.product-summary h2{font-size:1.52rem!important}.product-summary .result-kicker{font-size:.76rem!important}.result-overlay>p{font-size:.98rem}.result-overlay code{font-size:.74rem}}
.product-summary{width:min(94vw,440px);gap:15px}.product-summary>img{width:68px;height:68px}.product-summary h2{font-size:2.3rem!important;line-height:1.08!important;letter-spacing:-.055em!important}.product-summary .result-kicker{font-size:1.05rem!important;line-height:1.3!important;letter-spacing:.1em}.result-overlay>p{max-width:430px;font-size:1.32rem;line-height:1.42}.result-overlay code{font-size:1rem;font-weight:700}@media(max-height:700px){.product-summary>img{width:56px;height:56px}.product-summary h2{font-size:1.8rem!important}.product-summary .result-kicker{font-size:.9rem!important}.result-overlay>p{font-size:1.08rem}.result-overlay code{font-size:.84rem}}
.product-summary>img.product-placeholder{object-fit:cover;border-color:#ffffff80;background:#fff;filter:saturate(.9)}

.product-summary{display:grid;grid-template-columns:clamp(116px,29vw,138px) minmax(0,1fr);align-items:center;gap:18px;width:min(94vw,520px);max-width:520px;text-align:left}
.product-summary>img{width:100%;height:clamp(152px,23vh,178px);border-radius:17px;object-fit:contain;align-self:center;box-shadow:0 15px 34px #0005}
.product-details{min-width:0}
.product-summary .product-details .result-kicker{margin:0!important;font-size:clamp(.78rem,2.5vw,1rem)!important}
.product-summary .product-details h2{margin:5px 0 8px!important;font-size:clamp(1.45rem,5.4vw,2.05rem)!important;line-height:1.06!important;overflow-wrap:anywhere}
.product-details #resultText{margin:0;color:#f7e7df;font-size:clamp(1rem,3.5vw,1.2rem);line-height:1.3}
.product-details #resultCode{display:block;margin-top:10px;color:#e3bebb;font-size:clamp(.74rem,2.7vw,.92rem);font-weight:700;overflow-wrap:anywhere}
@media(max-height:700px){.product-summary{grid-template-columns:105px minmax(0,1fr);gap:14px}.product-summary>img{height:130px}.product-summary .product-details h2{font-size:1.42rem!important}.product-details #resultText{font-size:.94rem}.product-details #resultCode{margin-top:7px;font-size:.72rem}}

.product-summary{grid-template-columns:clamp(145px,31vw,165px) minmax(0,1fr);align-items:stretch;gap:18px}
.product-photo-frame{width:100%;aspect-ratio:1/1;align-self:center;overflow:hidden;border:3px solid #fff;border-radius:19px;background:#fff;box-shadow:0 16px 38px #0006}
.product-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;background:#fff}
.product-photo-frame img[hidden]{display:none}
.product-photo-frame img.product-placeholder{object-fit:cover;filter:saturate(.9)}
.product-details{display:flex;min-height:100%;flex-direction:column;justify-content:center}
@media(max-width:390px){.product-summary{grid-template-columns:132px minmax(0,1fr);gap:14px}.product-summary .product-details h2{font-size:1.34rem!important}.product-details #resultText{font-size:.92rem}.product-details #resultCode{font-size:.7rem}}
@media(max-height:700px){.product-summary{grid-template-columns:118px minmax(0,1fr)}.product-photo-frame{height:130px;aspect-ratio:auto}}
