:root{--bg:#F0F5FA;--ink:#0B2545;--blue:#0B3B60;--teal:#00A896;--muted:#536B82;--orange:#F58220;--yellow:#FFB81C;--line:#DCE6F0;--green:#2E933C;font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}a{color:var(--blue)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button:disabled{opacity:.55;cursor:wait}.hidden{display:none!important}.primary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 22px;background:var(--blue);border:1px solid var(--blue);border-radius:13px;color:white;font-weight:700;text-decoration:none}.primary span{font-size:23px}.secondary{padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--blue);min-height:44px;font-weight:650}.eyebrow{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.4px;line-height:1.6}.notice{padding:14px 18px;background:#FFF5DB;border-radius:12px;line-height:1.5;margin:10px 0 18px}.institutional{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;background:white;padding:25px 24px;border-top:1px solid var(--line)}.institutional img{object-fit:contain;max-width:125px;max-height:40px;flex:0 1 auto}.institutional img:first-child{max-height:32px}.institutional img:nth-child(2){max-width:85px}.institutional img:last-child{max-width:135px}footer{margin-top:42px}.card-page{background:radial-gradient(ellipse at 8% 15%,#dcefea66,transparent 45%),radial-gradient(ellipse at 95% 65%,#f8e4c644,transparent 40%),var(--bg);min-height:100dvh}.card-main{width:min(100% - 32px,420px);margin:0 auto;padding:24px 0 4px}.card-header{text-align:center;margin-bottom:26px}.card-header>img{width:145px;height:95px;object-fit:contain}.card-header>p{font-size:10px;letter-spacing:2.2px;font-weight:750;color:var(--muted);margin:13px 0 0}.card-topline{display:flex;align-items:center;gap:7px;font-size:12px;margin:0 4px 13px;color:var(--muted);font-weight:600}.connection-dot{width:7px;height:7px;background:var(--teal);border-radius:50%}.tag{margin-left:auto;font-size:10px;letter-spacing:.1px;padding:5px 9px;background:#e1efed;color:var(--blue);border-radius:20px}.card-stage{perspective:1500px}.flipper{display:grid;grid-template-columns:1fr;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.65,.25,1)}.flipper.is-front{transform:rotateY(180deg)}.card-face{grid-area:1/1;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:25px;border:1px solid #d6e2ec;background:white;overflow:hidden;box-shadow:0 20px 60px -25px #0b3b6033,0 4px 12px #0b3b6008}.card-front{transform:rotateY(180deg);padding:26px 26px 20px}.code-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}.public-code{display:block;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:33px;letter-spacing:5px;line-height:1.4}.mini-network{font-size:40px;color:var(--teal)}.concept{padding:23px 0 21px}.concept h1{font-family:Outfit,system-ui,sans-serif;font-size:26px;font-weight:750;letter-spacing:-.9px;line-height:1.2;margin:10px 0 12px;overflow-wrap:anywhere}.concept p{font-size:15px;line-height:1.7;margin:0;color:var(--muted)}.question-box{background:#F0F5FA;border:1px solid #E6EEF4;border-left:3px solid var(--teal);border-radius:13px;padding:17px 16px;margin:0 0 25px}.question-box h2{font-size:18px;line-height:1.5;font-weight:650;letter-spacing:-.2px;margin:10px 0 0}#answer-form label{display:block;font-size:13px;font-weight:650;margin-bottom:9px}.input-wrap{position:relative}.input-wrap input{width:100%;min-height:52px;border:1px solid #8499AA;border-radius:11px;padding:13px 42px 13px 15px;color:var(--ink);background:white;font-size:18px;letter-spacing:2px;text-transform:uppercase}.input-wrap>span{position:absolute;right:16px;top:12px;color:var(--muted);font-size:22px}.help{font-size:11px;line-height:1.5;color:var(--muted);margin:9px 0 17px}#answer-form>.primary{width:100%}.card-front details{margin-top:19px;font-size:12px;line-height:1.7;color:var(--muted)}details summary{cursor:pointer;min-height:30px;padding:6px 0}details p{padding:0 5px}.source{border-top:1px solid var(--line);padding-top:5px;margin-top:8px!important;font-size:11px!important}.feedback{padding:15px;background:#e8f6f4;border-radius:12px;line-height:1.6;font-size:14px;margin-top:16px}.feedback.warn{background:#FFF5DB}.card-back{position:relative;min-height:650px;padding:43px 24px 30px;display:flex;align-items:center;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fff 30%,#f2f9f8 100%)}.back-kicker{z-index:1;font-size:9px;font-weight:800;letter-spacing:2px;color:var(--muted);margin-bottom:55px}.back-logo{position:relative;z-index:1;padding:28px 12px;background:white;border-radius:24px;box-shadow:0 12px 35px #0b3b6009}.back-logo img{width:min(100%,260px);height:auto;display:block}.back-message{position:relative;text-align:center;z-index:1;margin-top:42px}.back-message h2{font-family:Outfit,system-ui,sans-serif;font-size:30px;line-height:1.25;letter-spacing:-.6px;margin:0 0 16px}.back-message p{color:var(--muted);font-size:14px;line-height:1.8}.back-bottom{position:relative;z-index:1;font-size:10px;letter-spacing:1.3px;font-weight:700;color:var(--teal);margin-top:34px}.back-decoration{position:absolute;inset:20px;border:1px solid #00a89620;border-radius:19px;pointer-events:none}.back-decoration:before,.back-decoration:after{content:'';position:absolute;border:1px solid #00a89618;border-radius:50%;width:350px;height:350px;left:-190px;top:50px}.back-decoration:after{left:auto;right:-200px;top:auto;bottom:-50px;width:420px;height:420px}.back-decoration i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--teal);opacity:.55}.back-decoration i:nth-child(1){top:26%;left:10%}.back-decoration i:nth-child(2){top:18%;right:15%;background:var(--orange)}.back-decoration i:nth-child(3){bottom:14%;left:20%;background:var(--yellow)}.back-decoration i:nth-child(4){bottom:29%;right:8%}.back-decoration i:nth-child(5){top:47%;right:18%;background:var(--green)}.flip-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin:17px auto 0;padding:10px 19px;border:1px solid #d2e1e8;border-radius:25px;background:#ffffffb0;color:var(--blue);font-size:12px;font-weight:700}.flip-button>span:first-child{font-size:22px}.card-footnote{text-align:center;color:var(--muted);font-size:11px;margin:19px 0 0}.card-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:18px}.card-tabs button{padding:10px 16px;border-radius:20px;border:1px solid var(--line);background:white;color:var(--ink)}.card-tabs button.active{background:var(--blue);color:white}.group-panel{margin-top:20px;padding:22px;background:#e8f6f4;border-radius:20px;border:1px solid #b9e4dc;line-height:1.6}.group-panel h2{font-size:22px;margin:5px 0}.group-panel p{font-size:14px}.card-page .institutional{gap:16px;padding:20px 18px}.card-page .institutional img{max-width:90px;max-height:30px}.card-page .institutional img:nth-child(2){max-width:65px}.card-page .institutional img:first-child{max-height:24px}.card-page .institutional img:last-child{max-width:110px}
@media(max-width:360px){.card-main{width:calc(100% - 24px);padding-top:18px}.card-front{padding:22px 19px 18px}.concept h1{font-size:24px}.question-box{padding:15px 13px}.tag{font-size:9px}.card-topline{font-size:11px}.card-header{margin-bottom:20px}.card-header>img{width:130px;height:85px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.flipper{transform:none!important}.card-back{visibility:visible}.card-front{transform:none;visibility:hidden}.flipper.is-front .card-front{visibility:visible}.flipper.is-front .card-back{visibility:hidden}}
.welcome{max-width:640px;margin:55px auto 70px;text-align:center;padding:20px}.expo{width:165px;height:110px;object-fit:contain}.welcome h1{font-family:Outfit,system-ui,sans-serif;font-size:clamp(34px,6vw,52px);letter-spacing:-1.5px}.welcome p{color:var(--muted);font-size:18px;line-height:1.8}.welcome .primary{width:fit-content;margin:26px auto}.muted{color:var(--muted);line-height:1.6}.surface{background:white;border:1px solid var(--line);border-radius:22px;padding:25px}.admin-main{max-width:1120px;margin:0 auto;padding:32px 22px}.admin-header{display:flex;align-items:center;gap:32px;margin-bottom:32px}.admin-header h1{font-size:34px;margin:8px 0}.admin-header p:last-child{color:var(--muted)}.admin-main form{display:grid;gap:14px;max-width:600px}.admin-main input,.admin-main select{width:100%;padding:13px;border:1px solid #8ba0b2;border-radius:10px;background:white;color:var(--ink)}.admin-main label{font-size:14px;font-weight:650}.admin-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.admin-stats strong{display:block;font-size:42px;margin:8px 0}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-actions a{display:inline-flex;align-items:center;text-decoration:none}.admin-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.admin-groups .surface{padding:18px}.admin-groups h3{font-size:16px}.admin-groups strong{font-size:24px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted)}.logout{margin-top:20px}dialog{border:1px solid var(--line);border-radius:24px;max-width:480px;padding:28px;color:var(--ink)}dialog::backdrop{background:#0b254577}.dialog-actions{display:flex;justify-content:end;gap:12px;margin-top:24px}.tickets{max-width:1000px;margin:30px auto;padding:20px}.ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ticket{border:1px dashed #8499aa;padding:20px;background:white;border-radius:15px;text-align:center;break-inside:avoid}.ticket-expo{width:90px;height:60px;object-fit:contain}.ticket h2{font-size:18px}.qr{width:170px;height:170px;max-width:100%}.ticket p{font-size:12px;line-height:1.5}.ticket-link{overflow-wrap:anywhere;font-size:8px!important}.two-cards{font-weight:700}.print-heading{margin-bottom:24px}.projection-page{height:100dvh;overflow:hidden}.projection-page footer{display:none}#projection-root{height:100dvh;position:relative;overflow:hidden;background:var(--bg)}.projection-brands{height:12.6vh;display:flex;align-items:center;justify-content:center;gap:3.75vw;background:white;border-bottom:1px solid var(--line);position:relative;z-index:5;padding:2vh 3vw}.projection-brands img{width:11vw;max-height:7vh;object-fit:contain}.projection-brands img:nth-child(2){width:8vw}.projection-brands img:first-child{max-height:5.6vh}.projection-brands img:last-child{width:12vw}.projection-idle{position:absolute;inset:12.6vh 0 0}.projection-expo{position:absolute;top:4vh;width:15.6vw;height:19vh;left:50%;transform:translateX(-50%);object-fit:contain}.progress-box{position:absolute;top:5vh;right:3.3vw;width:18.3vw;padding:2.2vh 1.6vw;background:white;border:1px solid var(--line);border-radius:1.25vw}.progress-box:before{content:'';display:block;width:2.3vw;height:.5vh;background:var(--teal);border-radius:5px}.progress-box h2{font-size:1.56vw;margin:1.6vh 0 0}.progress-box strong{font-size:4vw;line-height:1.3;display:block;white-space:nowrap}.progress-box small{font-size:2.6vw;color:var(--muted)}.progress-box p{font-size:1.25vw;margin:0;color:var(--muted)}.projection-idle h1{position:absolute;left:5vw;right:5vw;top:27vh;margin:0;text-align:center;font-family:Outfit,system-ui,sans-serif;font-size:4.06vw;line-height:1.25;font-weight:650;letter-spacing:-.08vw}.celebration{position:absolute;inset:12.6vh 0 0;background:var(--bg);z-index:4;display:flex;align-items:center;flex-direction:column;padding:1.9vh 4vw 3vh;text-align:center}.celebration-expo{width:12.5vw;height:15.2vh;object-fit:contain;position:relative;z-index:2;flex:none}.celebration-content{position:relative;z-index:2;max-width:82vw;width:100%;display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;flex:1;min-height:0}.celebration-content h1{font-family:Outfit,system-ui,sans-serif;font-size:2.8vw;margin:1.3vh 0 .4vh}.celebration-origin{font-size:1.67vw;color:var(--muted);margin:.4vh 0}.celebration-content h2{font-size:2.45vw;font-weight:550;line-height:1.35;margin:1.3vh 0;max-width:76vw}.answer-label{font-size:1.35vw;color:var(--muted);margin:1vh 0 0}.celebration-content h3{font-family:Outfit,system-ui,sans-serif;font-size:4vw;line-height:1.08;letter-spacing:-.06vw;color:var(--blue);margin:1vh 0;max-width:85vw}.celebration-content h3.long{font-size:3.55vw}.celebration-content>p:last-child{font-size:1.77vw;line-height:1.45;color:var(--muted);max-width:76vw;margin:1vh 0}#confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.projection-setup{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0b254588;padding:20px}.projection-setup>.surface{max-width:520px;max-height:95vh;overflow:auto;display:flex;flex-direction:column;gap:15px}.projection-setup h1{margin:0}.projection-setup select{padding:11px;border:1px solid var(--line);border-radius:10px}.check-label{font-size:13px;display:flex;gap:10px;align-items:center}.projection-settings{position:absolute;right:12px;bottom:10px;border:0;background:#fff9;border-radius:50%;width:40px;height:40px;color:var(--blue);z-index:8;opacity:0;transition:opacity .3s}.projection-settings:focus-visible,.projection-settings.show{opacity:1}.projection-status{position:absolute;left:24px;bottom:12px;z-index:8;font-size:14px;background:#fffD;padding:8px 14px;border-radius:8px}
@media(max-width:700px){.admin-header{flex-direction:column;text-align:center;gap:12px}.admin-header h1{font-size:27px}.admin-groups{grid-template-columns:1fr 1fr}.admin-stats{gap:10px}.admin-stats .surface{padding:18px}.admin-stats strong{font-size:32px}.ticket-grid{grid-template-columns:1fr 1fr}}
@media print{body{background:white}.tickets{margin:0;padding:0}.print-heading{display:none}.ticket-grid{grid-template-columns:repeat(2,1fr);gap:8mm}.ticket{border-radius:0;padding:6mm}.qr{width:35mm;height:35mm}.ticket-expo{width:22mm;height:15mm}.ticket-link{font-size:7px!important}.ticket h2{margin:2mm 0;font-size:14px}}
/* A carta é a própria tela: nenhuma moldura ou informação externa. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.card-page{height:100dvh;overflow:hidden;background:white}
.card-page .card-main{position:relative;width:100%;max-width:none;height:100dvh;margin:0;padding:0}
.card-page .card-stage,.card-page .flipper{width:100%;height:100%;min-height:0}
.card-page .flipper{grid-template-rows:minmax(0,1fr)}
.card-page .card-face{width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none;overscroll-behavior:contain}
.card-page .card-front{padding:max(24px,env(safe-area-inset-top)) 24px max(20px,env(safe-area-inset-bottom));overflow-y:auto;background:#fff}
.card-page .code-row{padding-right:50px;align-items:center;min-height:100px;padding-bottom:18px}
.card-expo{width:82px;height:62px;object-fit:contain;margin-left:auto;margin-right:5px}
.card-page .code-row .tag{display:inline-block;font-size:9px;padding:3px 7px;margin:4px 0 0}
.card-page .concept{padding:21px 0}
.card-page .concept h1{font-size:clamp(25px,5.6vw,36px)}
.card-page .question-box{margin-bottom:22px}
.card-page .card-back{padding:40px 28px max(36px,env(safe-area-inset-bottom));overflow:hidden;background:linear-gradient(155deg,#fff 35%,#f0f8f7 100%)}
.card-page .back-kicker{margin-bottom:clamp(24px,7vh,60px)}
.card-page .back-logo{width:min(100%,340px);padding:28px 20px}
.card-page .back-logo img{width:100%;max-width:none}
.card-page .back-message{margin-top:clamp(24px,5vh,45px)}
.card-page .back-message h2{font-size:clamp(29px,6vw,42px)}
.card-page .back-bottom{margin-top:18px}
.card-page #open-card{position:relative;z-index:1;flex:none;margin-top:28px;min-width:210px}
.card-page .flip-button{position:absolute;top:max(20px,env(safe-area-inset-top));right:16px;z-index:3;width:44px;height:44px;min-height:44px;margin:0;padding:5px;border:1px solid var(--line);background:white}
.card-page .flip-button{display:none}
.card-page .card-main:has(.flipper.is-front) .flip-button{display:flex}
.card-page .card-tabs{margin-top:18px}
@media(min-width:700px){.card-page .card-front{padding-left:max(32px,calc((100vw - 600px)/2));padding-right:max(32px,calc((100vw - 600px)/2))}.card-page .flip-button{right:max(20px,calc((100vw - 600px)/2))}}
@media(max-height:680px){.card-page .back-kicker{margin-bottom:20px}.card-page .back-logo{max-width:270px;padding:20px}.card-page .back-message{margin-top:20px}.card-page .back-message h2{font-size:28px;margin-bottom:8px}.card-page .back-message p{margin:8px 0;font-size:13px}.card-page #open-card{margin-top:18px}.card-page .back-bottom{margin-top:8px}.card-page .card-back{padding-top:25px;padding-bottom:25px}}
