:root{color:#083b5b;font-synthesis:none;--navy:#083b5b;--muted:#919baf;--line:#dbe3e9;--red:#e2271d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#edf3f7;font-family:Outfit,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #0089c7}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.035em;font-size:clamp(1.8rem,6.7vw,2.2rem);line-height:1.15}h2{font-size:1.25rem;line-height:1.25}p{line-height:1.5}button{color:inherit}small{font-size:.82rem}.app-shell{background:linear-gradient(155deg,#fbfcfd,#f0f4f8);max-width:520px;min-height:100dvh;margin:auto;box-shadow:0 0 90px #062f500a}.brand-header{padding:calc(22px + env(safe-area-inset-top)) 24px 22px;justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{letter-spacing:-.055em;white-space:nowrap;font-size:clamp(1.55rem,6.1vw,2rem);font-weight:600;text-decoration:none}.brand>img{height:19px}.brand>span{background:#d8dee4;width:2px;height:22px;margin-bottom:-3px;margin-left:4px;margin-right:4px;display:inline-block}.brand small{color:#6d747d;letter-spacing:-.03em;margin-left:2px;font-size:.8em;font-weight:500}.help-button{border:2px solid var(--navy);background:0 0;border-radius:50%;flex-shrink:0;width:28px;height:28px;padding:0;font-size:1.15rem;line-height:1}.brand-header .help-button{position:relative}.help-button:after{content:"";position:absolute;inset:-8px}main{padding:12px 24px 32px}.authenticated main{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.eyebrow{letter-spacing:.18em;color:var(--muted);margin-bottom:8px;font-size:.72rem;font-weight:600}.page-heading{margin:8px 0 24px}.identity{color:var(--muted);align-items:center;gap:10px;margin-top:8px;font-size:.9rem;display:flex}.activation-intro{margin:0 0 24px}.activation-intro>p:last-child{margin-top:12px;font-size:1.1rem}.brand-art{object-fit:contain;width:66px;height:61px;margin:0 0 18px}.activation-intro .eyebrow{margin-bottom:9px}.card{border:1px solid var(--line);background:#fff;border-radius:17px;box-shadow:0 1px 2px #063a5b04}.activation-card{text-align:center;padding:25px 21px}.activation-card .muted{margin:12px 0 24px}.person-row{text-align:left;align-items:center;gap:14px;min-width:0;display:flex}.person-row>div{min-width:0}.person-row h2,.person-row h3,.person-row h4{overflow-wrap:anywhere}.person-row p{margin-top:5px;font-size:.87rem}.avatar{background:linear-gradient(90deg, var(--navy) 49%, #e1e6ec 49%, #d5dbe2);border-radius:50%;flex:none;width:56px;height:56px;display:block;box-shadow:inset 0 0 0 1px #063a5b06}.avatar.small{width:38px;height:38px}.activation-person .avatar,.activation-person .group-symbol{width:67px;height:67px}.activation-person h2{font-size:1.5rem}.activation-person p{font-size:1rem}.recognized{margin:26px 0 31px;font-weight:500}.recognized span{margin-right:8px}.badge-illustration{border:2px solid var(--line);border-radius:12px;justify-content:center;align-items:center;gap:12px;width:120px;height:89px;margin:0 auto 25px;display:flex;transform:rotate(-6deg)}.badge-illustration .avatar{width:36px;height:36px}.badge-lines{border-top:3px solid var(--line);border-bottom:3px solid var(--line);width:38px;height:22px}label{text-align:left;margin-bottom:9px;font-weight:500;display:block}.code-input{letter-spacing:.28em;text-align:center;text-transform:uppercase;width:100%;height:61px;color:var(--navy);background:#fbfcfd;border:1px solid #b5c5d1;border-radius:9px;margin-bottom:20px;padding:10px 12px;font-size:1.5rem;display:block}.code-input:focus{outline-offset:2px;outline:2px solid #0089c7}.field-help{color:var(--muted);margin:14px 0 20px;font-size:.9rem}.primary,.secondary{border-radius:11px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:56px;padding:14px 18px;font-size:1.1rem;font-weight:600;display:flex}.primary{background:var(--navy);border:1px solid var(--navy);color:#fff;box-shadow:0 2px 3px #063a5b0a}.scan-icon{filter:invert();flex-shrink:0;width:24px;height:24px;margin-left:auto}.primary:hover:not(:disabled){background:#095078}.secondary{border:1px solid var(--line);color:var(--navy);background:#eef4f8}.text-button{text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:10px 0;font-size:.94rem;font-weight:500;text-decoration:underline}.help-link{margin:15px auto 0;display:block}.muted{color:var(--muted)}.progress-heading{justify-content:space-between;align-items:center;gap:8px;font-size:.95rem;display:flex}.progress-track{gap:5px;height:22px;margin:16px 0 10px;display:flex}.progress-track>span{clip-path:polygon(0 0,80% 0,100% 50%,80% 100%,0 100%,20% 50%);background:#dce3ea;flex:1}.progress-track>span:first-child{clip-path:polygon(0 0,80% 0,100% 50%,80% 100%,0 100%,20% 50%)}.progress-track .selected-match{background:var(--navy)}.progress-track .lucky-match{background:#b66b08}.progress-track .unknown-match{background:#737f8c}.progress-legend{flex-wrap:wrap;gap:6px 16px;margin-bottom:20px;font-size:.75rem;display:flex}.lucky-match{color:#935300}.unknown-match{color:var(--muted)}.group-symbol{object-fit:contain;flex-shrink:0;width:48px;height:48px}.group-symbol.small{width:38px;height:38px}.result-discovery{margin:8px 0 16px;font-weight:600}.discovery-help{margin-bottom:20px;font-size:.9rem;line-height:1.5}.intro-copy{color:var(--muted);margin-bottom:19px;font-size:.93rem}.clue-list,.encounter-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.clue-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:13px;width:100%;min-height:76px;padding:15px 13px;display:flex}.clue-card.selected{border:1.5px solid var(--navy);background:#f9fcff;box-shadow:0 0 0 2px #063a5b09}.clue-card.found{background:#f6fafc}.clue-card.found.lucky-match{color:var(--navy);background:#fff9ef;border-color:#ead5b6}.clue-card.lucky-match .found-check,.clue-card.lucky-match .discovery-label{color:#935300}.clue-card.selected-match .discovery-label{color:var(--navy)}.clue-number{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:500;display:grid}.clue-copy{overflow-wrap:anywhere;flex:1;font-size:.94rem;line-height:1.4}.clue-copy small{color:var(--muted);margin-top:6px;font-size:.75rem;display:block}.clue-copy .found-person{margin-top:9px;font-size:.87rem;font-weight:600}.found-person small{margin-top:2px;font-weight:400}.clue-arrow{color:var(--muted);padding:0 2px;font-size:1.8rem}.found-check{font-size:1.2rem}.selection-caption{text-align:center;color:var(--muted);margin-bottom:10px;font-size:.8rem}.scan-action{margin-top:24px}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);width:100%;max-width:520px;padding:11px 18px calc(10px + env(safe-area-inset-bottom));z-index:2;background:#ffffffed;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#727880;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:5px;min-height:55px;padding:4px;font-size:.92rem;font-weight:500;display:flex}.bottom-nav button[aria-current]{color:var(--navy)}.nav-chevron{clip-path:polygon(0 0,48% 0,100% 50%,48% 100%,0 100%,51% 50%);background:currentColor;width:29px;height:27px;display:block}.nav-encounters{background:linear-gradient(90deg,currentColor 47%,#0000 47% 53%,currentColor 53%);border-radius:50%;width:27px;height:27px;display:block}.encounters-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;font-size:.94rem;display:flex}.encounters-heading .text-button{font-size:.8rem}.encounter-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:20px;display:grid}.encounter-options{margin-bottom:16px}.encounter-options>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:.9rem}.encounter-options>summary small{color:var(--muted);font-size:.75rem}.encounter-options[open]>summary{margin-bottom:8px}.encounter-controls label{min-width:0;margin:0;font-size:.8rem}.encounter-controls>div{min-width:0}.encounter-sort{grid-column:1/-1}.encounter-controls select{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--navy);font:inherit;background:#fff;border-radius:8px;margin-top:6px;padding:8px;font-size:.9rem;display:block}.encounter-filter-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-bottom:16px;font-size:.8rem;display:flex}.encounter-filter-summary .text-button{font-size:inherit}.encounter-card{padding:18px 15px}.encounter-card h2{font-size:1.05rem}.status-pill{background:#eaf2f8;border-radius:7px;align-items:center;gap:7px;padding:7px 9px;font-size:.73rem;font-weight:500;line-height:1.2;display:inline-flex}.encounter-card>.status-pill{margin:12px 0 0 70px}.status-pill span{font-size:1.2rem;line-height:1}.status-pill.incoming{color:#b02529;background:#fff0ef}.status-pill.outgoing{color:#53606a;background:#f0f1f3}.empty-state{text-align:center;padding:30px 22px}.empty-state p{color:var(--muted);margin-top:12px;font-size:.98rem}.empty-symbol{margin-bottom:14px;font-size:3rem;display:block}.notice,.error-box,.completion,.etiquette{border:1px solid var(--line);background:#eaf1f7;border-radius:11px;margin-bottom:17px;padding:13px 15px;font-size:.9rem;line-height:1.5}.error-box,.etiquette{color:#a52327;background:#fff2f1;border-color:#f0c5c3}.error-box p{overflow-wrap:anywhere}.error-box .text-button{margin-bottom:-5px}.completion{color:#175c4b;background:#e9f5f1;border-color:#d1e8de}.loading{color:var(--muted);justify-content:center;align-items:center;gap:14px;padding:55px 0;font-size:.95rem;display:flex}.loading-mark{border:2px solid var(--line);border-top-color:var(--navy);border-radius:50%;width:23px;height:23px;animation:.8s linear infinite turn}@keyframes turn{to{transform:rotate(360deg)}}.game-dialog{color:#092f4e;overscroll-behavior:contain;background:#fff;border:0;border-radius:23px 23px 0 0;width:100%;max-width:520px;max-height:92dvh;margin:auto auto 0;padding:0;box-shadow:0 -10px 70px #031d3930}.game-dialog::backdrop{background:#06152591}.dialog-header{background:inherit;z-index:2;justify-content:space-between;align-items:center;gap:10px;padding:19px 23px 8px;display:flex;position:sticky;top:0}.dialog-header h2{font-size:1.15rem}.icon-button{background:0 0;border:0;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:1.8rem;font-weight:300;line-height:1}.dialog-body{padding:10px 23px calc(24px + env(safe-area-inset-bottom))}.dialog-intro{color:var(--muted);margin-bottom:24px}.camera-dialog{color:#fff;background:#0a1927;border-radius:0;height:100dvh;max-height:100dvh}.camera-dialog .dialog-header{padding-top:calc(12px + env(safe-area-inset-top))}.camera-dialog .dialog-body{padding-top:8px}.scanner{flex-direction:column;gap:20px;display:flex}.viewfinder{aspect-ratio:1;background:#102130;border-radius:16px;width:100%;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%}.scan-frame{pointer-events:none;border:2px solid #ffffffcf;border-radius:20px;position:absolute;inset:16%;box-shadow:0 0 0 80px #03132140}.camera-status{text-align:center;background:#0a192760;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.selected-hint{color:#0c2942;background:#edf4fa;border-radius:12px;align-items:center;gap:14px;padding:17px;display:flex}.selected-hint p{margin-top:4px;font-size:.9rem}.selected-hint strong{font-size:.88rem}.chevron{background:var(--navy);clip-path:polygon(0 0,100% 50%,0 100%);flex-shrink:0;width:27px;height:35px}.scanner-instruction{text-align:center;font-size:1rem}.manual-link{color:#bce7fc;text-underline-offset:3px;background:0 0;border:0;border-top:1px solid #ffffff45;min-height:50px;margin-top:8px;padding:22px 10px 10px;text-decoration:underline}.camera-error{color:#ffd3cc}.light{color:#fff;background:#20374a;border-color:#465d6d}.confirm-person{margin:9px 0 23px}.result-content{text-align:center}.result-symbol{background:linear-gradient(90deg, var(--navy) 50%, #dfe5eb 50%);color:#fff;border-radius:50%;place-items:center;width:89px;height:89px;margin:7px auto 22px;font-size:3.1rem;display:grid}.result-symbol.success{color:var(--navy);background:#eaf3f8;border-radius:22px;font-size:4rem;transform:rotate(-7deg)}.result-title{letter-spacing:-.025em;margin-bottom:14px;font-size:1.6rem}.other-clue{color:#b02529;border:1px solid #e7b6b4;border-radius:7px;margin-bottom:17px;padding:7px 12px;font-size:.9rem;display:inline-block}.result-person{text-align:left;margin:17px 0;padding:17px}.result-fact{margin-bottom:17px;font-size:1.1rem;font-weight:600}.result-person h4{font-size:1rem}.result-person p{font-size:.86rem}.recorded,.mutual-message{color:#315d79;margin:17px 0;font-size:.9rem}.result-progress{margin:21px 0;font-weight:500}.result-content>.primary{margin-top:22px}.help-content h3{margin:4px 0 15px;font-size:1rem}.rules{counter-reset:rule;gap:15px;margin:0 0 25px;padding:0;list-style:none;display:grid}.rules li{counter-increment:rule;align-items:center;gap:12px;font-size:.92rem;line-height:1.45;display:flex}.rules li:before{content:counter(rule);background:#f6f9fb;border:1px solid #b8c8d5;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.help-content details{border:1px solid var(--line);border-radius:9px;margin:9px 0;padding:0 14px}.help-content summary{cursor:pointer;padding:16px 0;font-size:.95rem}.help-content details p{color:var(--muted);margin:0 0 15px;font-size:.88rem}.help-content .secondary{margin-bottom:15px}.support-copy{color:var(--muted);margin:23px 0 10px;font-size:.88rem}.logout-button{color:var(--red);margin:14px auto 0;display:block}@media (width>=600px){.app-shell{border-left:1px solid #dbe3e980;border-right:1px solid #dbe3e980}.brand-header{padding-top:34px}.game-dialog{border-radius:23px;max-height:90dvh;margin:auto}.camera-dialog{border-radius:23px;height:auto;max-height:94dvh}.camera-dialog .dialog-header{padding-top:15px}.dialog-body{padding-bottom:25px}}@media (width<=360px){main,.brand-header{padding-left:17px;padding-right:17px}.activation-card{padding:20px 16px}.person-row{gap:10px}.avatar{width:47px;height:47px}.encounter-card>.status-pill{margin-left:57px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}
