*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{color:var(--ink);font-family:var(--font-geist-sans), "Pretendard", "Noto Sans KR", system-ui, sans-serif;background:#0a87a8;margin:0}button,input,select,textarea{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}:is(button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,label:focus-within){outline-offset:3px;outline:3px solid #ffc65cf2}.ocean-app{background:#0b91b3;min-height:100vh;overflow:hidden}.topbar{z-index:500;border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px)saturate(1.14);backdrop-filter:blur(18px)saturate(1.14);background:#fafdfadb;border-radius:25px;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:8px 16px 8px 10px;display:flex;position:fixed;top:18px;left:20px;right:20px;box-shadow:0 18px 50px #033b522e,inset 0 1px #ffffffe6}.brand{color:inherit;flex:none;align-items:center;text-decoration:none;display:flex}.brand-logo{object-fit:contain;background:#fff;border-radius:18px;width:66px;height:66px;display:block;box-shadow:0 8px 20px #36262617}.top-actions{align-items:center;gap:12px;display:flex}.live-badge,.friend-count{letter-spacing:-.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:13px;font-weight:800;display:inline-flex}.live-badge{color:#fff;background:linear-gradient(135deg,#0ba0ae,#087c9b);box-shadow:0 8px 20px #077c9b33}.live-badge i{background:#a9ffe2;border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite livePulse;box-shadow:0 0 0 5px #a9ffe229}.friend-count strong{color:#067f9a;font-size:15px}.view-mode-toggle{color:#286a7e;cursor:pointer;white-space:nowrap;background:#ffffffc2;border:1px solid #0a809721;border-radius:999px;align-items:center;gap:9px;min-height:42px;padding:0 15px;font-size:12px;font-weight:900;transition:color .2s,background .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 7px 18px #064e6314}.view-mode-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 22px #064e6321}.view-mode-toggle i{border:2px solid;border-radius:80% 20%;width:17px;height:11px;position:relative;transform:rotate(45deg)}.view-mode-toggle i:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:2px}.view-mode-toggle.is-active{color:#fff;background:linear-gradient(135deg,#11aab4,#087d9a)}.view-mode-toggle.is-active i{border:0;border-radius:50%;width:15px;height:15px;transform:none}.view-mode-toggle.is-active i:before,.view-mode-toggle.is-active i:after{content:"";background:currentColor;border-radius:2px;height:3px;position:absolute;top:6px;left:2px;right:2px}.view-mode-toggle.is-active i:after{width:3px;height:auto;inset:2px 6px}.announcement-bar{z-index:490;color:#245d70;-webkit-backdrop-filter:blur(16px)saturate(1.12);backdrop-filter:blur(16px)saturate(1.12);background:#f8fdfae6;border:1px solid #ffffffb8;border-radius:17px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:min(880px,100% - 40px);min-height:45px;padding:7px 13px 7px 9px;display:grid;position:fixed;top:108px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #033d5326}.announcement-bar-kind{color:#fff;text-align:center;white-space:nowrap;background:#0c99aa;border-radius:10px;min-width:50px;padding:7px 9px;font-size:10px;font-weight:950}.announcement-bar.kind-maintenance .announcement-bar-kind{background:#e77d54}.announcement-bar.kind-product .announcement-bar-kind{background:#8b6bc7}.announcement-bar-message{min-width:0;animation:.46s both announcementEnter;overflow:hidden}.announcement-bar-message a,.announcement-bar-message>span{color:inherit;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:820;line-height:1.45;text-decoration:none;display:block;overflow:hidden}.announcement-bar-message a:hover{text-decoration:underline}.announcement-bar-message i{margin-left:5px;font-style:normal}.announcement-bar>small{color:#7c9ca7;white-space:nowrap;font-size:9px;font-weight:850}.ocean-app.has-announcements .hero-copy{top:172px}.ocean-stage{isolation:isolate;background-image:linear-gradient(#0c899f08,#023c661f),url(/safari-world.png);background-position:bottom;background-size:cover;min-height:100svh;position:relative;overflow:hidden}.ocean-stage:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 26%,#e7fff733,#0000 32%),linear-gradient(90deg,#034d6f0d,#0000 22% 78%,#034d6f0d);position:absolute;inset:0}.ocean-stage:after{content:"";z-index:0;pointer-events:none;opacity:.18;background-image:radial-gradient(circle,#fff 0 1px,#0000 1.6px);background-size:86px 94px;animation:22s linear infinite waterDust;position:absolute;inset:0}.surface-caustics{z-index:2;pointer-events:none;mix-blend-mode:screen;position:absolute;inset:0 0 38%;overflow:hidden}.surface-caustics i{opacity:.22;filter:blur(14px);transform-origin:50% 0;background:linear-gradient(#fffff48f,#aefdf10d 66%,#0000);border-radius:50%;width:22%;height:112%;animation:8s ease-in-out infinite alternate causticDrift;position:absolute;top:-18%;transform:rotate(9deg)}.surface-caustics i:first-child{left:17%}.surface-caustics i:nth-child(2){opacity:.17;width:16%;animation-duration:11s;animation-delay:-5s;left:43%}.surface-caustics i:nth-child(3){opacity:.14;width:19%;animation-duration:9.5s;animation-delay:-2s;right:14%}.safari-grass{z-index:7;pointer-events:none;opacity:.82;filter:drop-shadow(0 7px 7px #2d441b29);width:250px;height:132px;position:absolute;bottom:-8px}.safari-grass-left{left:-26px}.safari-grass-center{opacity:.5;width:310px;left:50%;transform:translate(-50%)scale(.82)}.safari-grass-right{right:-26px;transform:scaleX(-1)}.safari-grass i{left:var(--blade-left,22px);width:var(--blade-width,17px);height:var(--blade-height,98px);transform:rotate(var(--blade-angle,-8deg));transform-origin:50% 100%;animation:grassSway var(--blade-speed,4.8s) ease-in-out infinite alternate;animation-delay:var(--blade-delay,0s);background:linear-gradient(90deg,#315d28,#6f9439 46%,#a8b84d 72%,#47742d);border-radius:100% 12% 70% 8%;position:absolute;bottom:0;box-shadow:inset 2px 0 #dee78329}.safari-grass i:first-child{--blade-left:8px;--blade-height:74px;--blade-width:15px;--blade-angle:-21deg;--blade-speed:5.2s;--blade-delay:-1.2s}.safari-grass i:nth-child(2){--blade-left:31px;--blade-height:112px;--blade-width:18px;--blade-angle:-13deg;--blade-speed:4.7s;--blade-delay:-3.5s}.safari-grass i:nth-child(3){--blade-left:64px;--blade-height:91px;--blade-width:16px;--blade-angle:-4deg;--blade-speed:5.8s;--blade-delay:-2.1s}.safari-grass i:nth-child(4){--blade-left:94px;--blade-height:126px;--blade-width:19px;--blade-angle:3deg;--blade-speed:4.4s;--blade-delay:-.7s}.safari-grass i:nth-child(5){--blade-left:127px;--blade-height:101px;--blade-width:17px;--blade-angle:10deg;--blade-speed:5.5s;--blade-delay:-4s}.safari-grass i:nth-child(6){--blade-left:158px;--blade-height:119px;--blade-width:18px;--blade-angle:17deg;--blade-speed:4.9s;--blade-delay:-2.8s}.safari-grass i:nth-child(7){--blade-left:194px;--blade-height:84px;--blade-width:15px;--blade-angle:23deg;--blade-speed:6.1s;--blade-delay:-1.7s}.safari-grass i:nth-child(8){--blade-left:222px;--blade-height:106px;--blade-width:16px;--blade-angle:29deg;--blade-speed:5.6s;--blade-delay:-3.2s}.habitat-trees{z-index:150;pointer-events:none;position:absolute;inset:0;overflow:hidden}.habitat-tree{--tree-scale:1;bottom:-64px;left:var(--tree-x);filter:drop-shadow(0 20px 18px #422d1433);width:clamp(255px,29vw,430px);transform:translateX(-50%) scale(var(--tree-scale));transform-origin:50% 100%;position:absolute}.habitat-tree-left{--tree-x:14%;--tree-scale:.93}.habitat-tree-center{--tree-x:52%;--tree-scale:.78;opacity:.82}.habitat-tree-right{--tree-x:87%;--tree-scale:1.01}.habitat-tree img{transform-origin:50% 100%;width:100%;height:auto;animation:7s ease-in-out infinite alternate canopyBreathe;display:block}.habitat-tree-center img{animation-delay:-3.1s}.habitat-tree-right img{animation-delay:-5.4s}.motion-coral{z-index:9;pointer-events:none;transform-origin:50% 100%;filter:drop-shadow(0 9px 10px #03516626);width:126px;height:166px;animation:5.6s ease-in-out infinite alternate coralSway;position:absolute;bottom:3.5%}.motion-coral-left{left:9%}.motion-coral-right{animation-duration:6.8s;animation-delay:-3.2s;right:10%;transform:scaleX(-1)}.motion-coral i{transform-origin:50% 100%;background:linear-gradient(90deg,#ffb097,#e96f88 68%,#c95879);border-radius:999px 999px 16px 16px;width:16px;height:132px;position:absolute;bottom:0;left:54px;box-shadow:inset 3px 0 #ffffff2e}.motion-coral i:before,.motion-coral i:after{content:"";background:inherit;width:13px;height:58px;box-shadow:inherit;transform-origin:50% 100%;border-radius:999px;position:absolute}.motion-coral i:before{top:32px;left:-7px;transform:rotate(-41deg)}.motion-coral i:after{top:50px;right:-8px;transform:rotate(43deg)}.motion-coral i:nth-child(2){background:linear-gradient(90deg,#ffd58b,#f4a968 72%,#df8a5e);height:88px;left:20px;transform:rotate(-9deg)}.motion-coral i:nth-child(3){background:linear-gradient(90deg,#c3a9f1,#8068ce 72%,#6650b0);height:107px;left:90px;transform:rotate(8deg)}.motion-coral i:nth-child(4){background:linear-gradient(90deg,#6ae0b6,#22aa98 72%,#16897f);height:68px;left:70px;transform:rotate(14deg)}.motion-seaweed{z-index:8;pointer-events:none;width:150px;height:190px;position:absolute;bottom:2.5%}.motion-seaweed-left{left:1.2%}.motion-seaweed-right{right:1.5%;transform:scaleX(-1)}.motion-seaweed i{transform-origin:50% 100%;background:linear-gradient(90deg,#0f7d8bdb,#56c7a9e6);border-radius:90% 10% 80% 20%/88% 12%;width:28px;height:168px;animation:4.8s ease-in-out infinite alternate seaweedSway;position:absolute;bottom:0;left:58px;transform:rotate(-7deg);box-shadow:inset 6px 0 8px #ffffff1f}.motion-seaweed i:nth-child(2){opacity:.82;width:23px;height:135px;animation-duration:5.9s;animation-delay:-2s;left:18px;transform:rotate(-18deg)}.motion-seaweed i:nth-child(3){width:25px;height:145px;animation-duration:6.5s;animation-delay:-3.4s;left:96px;transform:rotate(12deg)}.motion-seaweed i:nth-child(4){opacity:.84;width:20px;height:101px;animation-duration:4.2s;animation-delay:-1.2s;left:122px;transform:rotate(22deg)}.motion-seaweed i:nth-child(5){opacity:.72;width:19px;height:108px;animation-duration:5.2s;animation-delay:-4s;left:47px;transform:rotate(7deg)}.hero-copy{z-index:120;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#004e7180,#02778b3d);border:1px solid #ffffff61;border-radius:22px;max-width:min(470px,100vw - 80px);padding:17px 22px 18px;position:absolute;top:126px;left:40px;box-shadow:0 14px 36px #034a631f}.hero-copy p{color:#b7fff1;letter-spacing:.22em;margin:0 0 5px;font-size:10px;font-weight:900}.hero-copy h1{letter-spacing:-.055em;text-shadow:0 3px 18px #00365233;margin:0;font-size:clamp(24px,3vw,38px);line-height:1.05}.hero-copy span{color:#f4fffce0;margin-top:9px;font-size:13px;font-weight:650;line-height:1.55;display:block}.hero-copy{transition:opacity .28s,transform .28s,visibility .28s}.ocean-app.is-viewing .hero-copy{visibility:hidden;opacity:0;transform:translateY(-10px)}.characters-layer{z-index:30;pointer-events:none;position:absolute;inset:0}.ocean-character{--character-size:145px;--crossing-duration:37.5s;--direction-duration:75s;--character-delay:0s;left:0;bottom:calc(9% + var(--character-depth));width:var(--character-size);filter:drop-shadow(0 14px 9px #04445c2e);will-change:transform, opacity;position:absolute}.ocean-character.heading-right{animation:traverseOcean var(--crossing-duration) linear var(--character-delay) infinite alternate}.ocean-character.heading-left{animation:traverseOcean var(--crossing-duration) linear var(--character-delay) infinite alternate-reverse}.ocean-character.direction-hover{left:var(--character-x);animation:none;transform:translate(-50%)}.ocean-character.habitat-character{left:var(--character-x);bottom:var(--habitat-bottom);transform:translateX(-50%) rotate(var(--habitat-tilt));animation:none}.habitat-character .character-body{animation:none}.habitat-owl .character-rig{transform-origin:50% 94%}.habitat-koala .character-rig{transform-origin:68% 70%}.character-rig{transform-origin:50% 100%;width:100%;animation:3.8s ease-in-out infinite alternate characterBob;position:relative}.character-body{object-fit:contain;transform-origin:50% 60%;width:100%;height:auto;max-height:180px;display:block}.heading-right .character-body{animation:faceRightCycle var(--direction-duration) steps(1, end) var(--character-delay) infinite}.heading-left .character-body{animation:faceLeftCycle var(--direction-duration) steps(1, end) var(--character-delay) infinite}.motion-kangaroo.heading-right .character-body{animation-name:faceRightNativeCycle}.motion-kangaroo.heading-left .character-body{animation-name:faceLeftNativeCycle}.motion-fairy .character-rig{animation:2.8s ease-in-out infinite fairyFlutter}.motion-octopus .character-rig{animation:4.6s ease-in-out infinite octopusPulse}.motion-walrus .character-rig{animation:6.4s ease-in-out infinite walrusGlide}.motion-whale .character-rig{animation:7.2s ease-in-out infinite whaleCruise}.motion-turtle .character-rig{animation:4.8s ease-in-out infinite turtlePaddle}.motion-crab .character-rig{animation:.72s steps(2,end) infinite crabScuttle}.motion-shark .character-rig{animation:3.1s ease-in-out infinite sharkHunt}.motion-starfish .character-rig{animation:9s ease-in-out infinite starfishDrift}.motion-seahorse .character-rig{animation:5.6s ease-in-out infinite seahorseRise}.motion-puffer .character-rig{animation:4.2s ease-in-out infinite pufferPuff}.motion-narwhal .character-rig{animation:6.6s ease-in-out infinite narwhalArc}.ocean-character.motion-crab,.ocean-character.motion-fairy,.ocean-character.motion-starfish{bottom:clamp(6%, calc(9% + var(--character-depth)), 22%)}.character-speech{z-index:4;color:#0b5269;text-align:center;background:#ffffffed;border:2px solid #ffffffbf;border-radius:15px 15px 15px 5px;min-width:max-content;max-width:150px;padding:7px 11px;font-size:12px;font-weight:850;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 7px 18px #003e5a24}.character-speech:after{content:"";border:6px solid #0000;border-top-color:#ffffffed;border-left-width:2px;position:absolute;top:100%;left:18px}.empty-ocean{z-index:8;color:#edfffcc7;text-shadow:0 2px 8px #004a6533;flex-direction:column;align-items:center;gap:13px;font-size:13px;font-weight:800;display:flex;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.empty-ocean i{border:1px solid #ffffff7a;border-radius:50%;width:42px;height:42px;animation:3s ease-in-out infinite alternate emptyFloat;display:block;box-shadow:inset 0 0 18px #fff3,0 0 16px #a1f9f226}.scanner-card{z-index:220;border:1px solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(1.12);backdrop-filter:blur(22px)saturate(1.12);border-radius:28px;width:min(430px,100vw - 48px);padding:22px;animation:.28s ease-out both scannerReveal;position:absolute;bottom:22px;right:24px;box-shadow:0 25px 65px #02395340,inset 0 1px #ffffffe6}.scanner-heading{align-items:center;gap:13px;display:flex}.step-chip{color:#fff;letter-spacing:.13em;background:linear-gradient(135deg,#129fb0,#067b98);border-radius:999px;flex:none;place-items:center;min-width:64px;height:38px;padding:0 13px;font-size:12px;font-weight:950;display:inline-grid;box-shadow:0 8px 18px #057c972e}.scanner-heading h2{color:#0d4860;letter-spacing:-.045em;margin:0;font-size:20px}.scanner-heading p{color:#6a96a7;margin:4px 0 0;font-size:11px;font-weight:650;line-height:1.45}.speech-field{margin-top:17px}.speech-label-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.speech-label-row label{color:#174e63;font-size:13px;font-weight:900}.speech-label-row label small{color:#79a1ad;margin-left:4px;font-size:9px;font-weight:800}.speech-label-row span{color:#6290a0;font-size:11px;font-weight:800}.speech-field input{color:#0e4c62;background:#ffffffb8;border:2px solid #1c9ba624;border-radius:16px;width:100%;height:50px;padding:0 16px;font-size:15px;font-weight:780;transition:border-color .18s,box-shadow .18s,background .18s}.speech-field input::placeholder{color:#a4c6cc}.speech-field input:focus{background:#fff;border-color:#0c9eab8f;outline:none;box-shadow:0 0 0 4px #14b5b81a}.speech-field p{color:#6d98a7;min-height:17px;margin:6px 2px 0;font-size:10px;font-weight:650}.speech-field.has-error input{border-color:#e05b5599}.speech-field.has-error p{color:#c64642}.scan-actions{grid-template-columns:1.35fr .8fr;gap:9px;margin-top:13px;display:grid}.scan-actions.is-camera-only{grid-template-columns:1fr}.scan-primary,.gallery-button{cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:50px;font-size:13px;font-weight:900;transition:transform .18s,box-shadow .18s,opacity .18s;display:flex}.scan-primary{color:#fff;background:linear-gradient(135deg,#17b8be,#087f9c);box-shadow:0 12px 25px #04859d38}.scan-primary input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.scan-primary span{font-size:18px}.gallery-button{color:#167187;background:#dff3f1}.scan-primary:hover,.gallery-button:hover{transform:translateY(-2px)}.scan-primary.is-disabled,.gallery-button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none;transform:none}.scan-primary.is-busy{background:linear-gradient(110deg,#0f99a7,#22c5b8,#0f99a7) 0 0/200% 100%;animation:1.4s linear infinite busySweep}.scanner-notice{color:#5d8c9e;background:#e4f7f4b8;border-radius:16px;align-items:center;gap:11px;min-height:54px;margin-top:12px;padding:9px 12px;display:flex}.scanner-notice>span{color:#0ab1b3;background:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.scanner-notice img{object-fit:contain;filter:drop-shadow(0 4px 3px #04596c1a);width:42px;height:42px}.scanner-notice strong{color:#17677a;margin-bottom:2px;font-size:11px;display:block}.scanner-notice p{margin:0;font-size:11px;font-weight:650;line-height:1.45}.scanner-notice.has-result{background:#daf9e7c7}.privacy-note{color:#83a8b2;text-align:center;margin-top:9px;font-size:9px;font-weight:650;display:block}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.admin-shell{color:#183d4b;background:#eef6f4;min-height:100vh}.admin-topbar{background:#ffffffeb;border-bottom:1px solid #d9e8e4;justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding:10px clamp(20px,5vw,72px);display:flex}.admin-brand{align-items:center;gap:13px;display:flex}.admin-brand img{object-fit:contain;border-radius:17px;width:64px;height:64px}.admin-brand span{color:#286475;letter-spacing:.18em;font-size:12px;font-weight:950}.admin-topbar nav{gap:8px;display:flex}.admin-topbar a{color:#3c6c79;background:#e9f3f1;border-radius:12px;padding:10px 14px;font-size:12px;font-weight:850;text-decoration:none}.admin-content{width:min(1180px,100% - 40px);margin:0 auto;padding:48px 0 72px}.admin-title-row{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.admin-title-row>div:first-child>span{color:#0897a4;letter-spacing:.2em;font-size:10px;font-weight:950}.admin-title-row h1{letter-spacing:-.06em;margin:8px 0 6px;font-size:clamp(30px,5vw,48px)}.admin-title-row p{color:#6e8c95;margin:0;font-size:14px}.admin-summary-group{gap:10px;display:flex}.admin-summary{color:#fff;text-align:right;background:linear-gradient(135deg,#0faab3,#087b99);border-radius:20px;min-width:170px;padding:17px 20px;box-shadow:0 14px 28px #097d9729}.admin-summary.is-fish{background:linear-gradient(135deg,#7565bd,#527aa9)}.admin-summary strong{font-size:32px;line-height:1;display:block}.admin-summary span{opacity:.84;margin-top:5px;font-size:10px;font-weight:800;display:block}.admin-status{color:#54747e;background:#fff;border:1px solid #dcebe7;border-radius:14px;align-items:center;gap:8px;margin:28px 0 20px;padding:13px 16px;font-size:12px;font-weight:700;display:flex}.admin-status i{background:#1cc596;border-radius:50%;width:8px;height:8px}.admin-status small{color:#8ba2a8;margin-left:auto}.admin-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 34px;display:grid}.admin-tabs button{color:#638087;cursor:pointer;text-align:left;background:#ffffffb3;border:1px solid #dceae7;border-radius:18px;gap:3px;min-height:68px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;position:relative}.admin-tabs button:hover{border-color:#a9d9d5;transform:translateY(-1px)}.admin-tabs button.is-active{color:#174f5c;background:#fff;border-color:#26a9ad;box-shadow:0 12px 28px #2371781a}.admin-tabs button>span{color:#11a0a8;letter-spacing:.18em;font-size:8px;font-weight:950}.admin-tabs button>strong{font-size:14px}.admin-tabs button>small{color:#537b84;text-align:center;background:#e7f3f1;border-radius:999px;min-width:23px;padding:4px 7px;font-size:9px;font-weight:900;position:absolute;top:15px;right:16px}.admin-tabs button.is-active>small{color:#087f8d;background:#d9f2ef}.admin-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.admin-section-heading span{color:#0897a4;letter-spacing:.19em;font-size:9px;font-weight:950}.admin-section-heading h2{color:#174d5c;letter-spacing:-.045em;margin:6px 0 4px;font-size:24px}.admin-section-heading p{color:#78959d;margin:0;font-size:12px}.usage-admin{margin-top:8px}.usage-heading{align-items:flex-end}.usage-period{background:#fff;border:1px solid #dceae7;border-radius:13px;gap:5px;padding:4px;display:flex}.usage-period button{color:#719097;cursor:pointer;background:0 0;border:0;border-radius:9px;min-width:54px;height:34px;font-size:10px;font-weight:900}.usage-period button.is-active{color:#fff;background:#8b7a3f}.usage-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:15px;display:grid}.usage-kpi-grid article{background:#fff;border:1px solid #dceae7;border-radius:18px;min-width:0;padding:17px 16px;box-shadow:0 10px 24px #244d540d}.usage-kpi-grid article>span,.usage-kpi-grid article>small{color:#78969d;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;display:block;overflow:hidden}.usage-kpi-grid article>strong{color:#587b35;letter-spacing:-.04em;margin:9px 0 7px;font-size:clamp(25px,3vw,36px);line-height:1;display:block}.usage-kpi-grid article.is-upload>strong{color:#6759ad}.usage-kpi-grid article.is-rate>strong{color:#b56d42}.usage-panel{background:#fff;border:1px solid #dceae7;border-radius:21px;min-width:0;padding:20px;box-shadow:0 12px 28px #244d540d}.usage-panel>header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.usage-panel h3{color:#184d5a;letter-spacing:-.025em;margin:0;font-size:16px}.usage-panel header p{color:#819da3;margin:5px 0 0;font-size:10px}.usage-panel header>strong{color:#3c747e;font-size:11px}.usage-chart-panel{margin-bottom:15px;overflow:hidden}.usage-chart{border-bottom:1px solid #e2ece9;align-items:stretch;gap:4px;height:218px;padding:8px 2px 0;display:flex;overflow-x:auto}.usage-chart-day{flex:1 0 20px;grid-template-rows:1fr 22px;min-width:20px;display:grid}.usage-chart-bars{justify-content:center;align-items:flex-end;gap:2px;min-height:0;display:flex}.usage-chart-bars i{border-radius:7px 7px 2px 2px;width:min(9px,42%);min-height:0;transition:height .25s;display:block}.usage-chart-bars i.is-visitors,.usage-legend i.is-visitors{background:linear-gradient(#a6ce63,#678d38)}.usage-chart-bars i.is-uploads,.usage-legend i.is-uploads{background:linear-gradient(#b3a5e5,#7162bb)}.usage-chart-day>span{color:#8aa1a6;text-align:center;white-space:nowrap;align-self:end;font-size:8px;overflow:visible}.usage-legend{color:#6f8b92;justify-content:flex-end;gap:13px;margin-top:10px;font-size:9px;font-weight:800;display:flex}.usage-legend span{align-items:center;gap:5px;display:flex}.usage-legend i{border-radius:3px;width:9px;height:9px}.usage-detail-grid{grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);gap:15px;display:grid}.usage-template-list{gap:13px;display:grid}.usage-template-list>div{grid-template-columns:92px minmax(50px,1fr) 35px;align-items:center;gap:9px;display:grid}.usage-template-list span{color:#486d75;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.usage-template-list>div>i{background:#edf3f1;border-radius:999px;height:8px;overflow:hidden}.usage-template-list b{border-radius:inherit;background:linear-gradient(90deg,#a5ca61,#658e38);height:100%;display:block}.usage-template-list strong{color:#456e77;text-align:right;font-size:10px}.usage-empty-small{color:#8ba2a7;text-align:center;padding:30px 10px;font-size:11px}.usage-table-wrap{border:1px solid #e2ece9;border-radius:13px;max-height:310px;overflow:auto}.usage-table-wrap table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:9px}.usage-table-wrap th,.usage-table-wrap td{color:#65838a;text-align:right;border-bottom:1px solid #edf2f0;padding:10px 11px}.usage-table-wrap thead th{z-index:1;color:#4b747c;background:#f4f9f7;font-weight:900;position:sticky;top:0}.usage-table-wrap th:first-child{text-align:left}.usage-table-wrap tbody tr:last-child th,.usage-table-wrap tbody tr:last-child td{border-bottom:0}.usage-exclusion-panel{margin-top:15px}.usage-exclusion-panel header>strong{color:#806934;white-space:nowrap;background:#fff5cf;border-radius:999px;padding:7px 10px}.usage-exclusion-panel header>strong.is-excluded{color:#287154;background:#dff4e8}.usage-exclusion-actions{flex-wrap:wrap;gap:8px;display:flex}.usage-exclusion-actions button,.usage-exclusion-list button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#789b43,#51742e);border:0;border-radius:11px;min-height:38px;padding:0 13px;font-size:10px;font-weight:900}.usage-exclusion-actions button:disabled,.usage-exclusion-list button:disabled{cursor:wait;opacity:.5}.usage-exclusion-warning{color:#b26343;margin:10px 0 0;font-size:10px}.usage-exclusion-list{gap:8px;margin-top:14px;display:grid}.usage-exclusion-list>div{background:#f8fbfa;border:1px solid #e2ece9;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.usage-exclusion-list span{min-width:0}.usage-exclusion-list span>strong,.usage-exclusion-list span>small{display:block}.usage-exclusion-list span>strong{color:#3e625d;font-size:11px}.usage-exclusion-list span>small{color:#879e9f;margin-top:3px;font-size:9px}.usage-exclusion-list button{color:#a2493f;background:#fff0ed;flex:none}.usage-privacy{color:#849da3;margin:13px 2px 0;font-size:9px;line-height:1.5}.announcement-admin{margin-top:0}.announcement-form{background:#fff;border:1px solid #dcebe7;border-radius:23px;margin-bottom:18px;padding:21px;box-shadow:0 12px 30px #244d540f}.announcement-form-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:15px;display:flex}.announcement-form-heading strong{color:#174d5c;font-size:17px}.announcement-form-heading span{color:#8aa2a8;font-size:10px}.announcement-form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.announcement-form-grid label{color:#4d727c;gap:6px;font-size:10px;font-weight:850;display:grid}.announcement-form-grid label small{color:#8da5aa;font-size:9px}.announcement-form-grid .is-wide{grid-column:1/-1}.announcement-form-grid input:not([type=checkbox]),.announcement-form-grid select{color:#245360;background:#f8fbfa;border:1px solid #d8e8e4;border-radius:12px;width:100%;height:44px;padding:0 12px;font-size:12px}.announcement-form-grid input:focus,.announcement-form-grid select:focus{background:#fff;border-color:#20aab3;outline:3px solid #20aab31a}.announcement-active-check{grid-column:1/-1;grid-auto-flow:column;justify-content:start;align-items:center;gap:8px!important;display:flex!important}.announcement-active-check input{accent-color:#0796a3;width:18px;height:18px}.announcement-form-actions{justify-content:flex-end;gap:8px;margin-top:17px;display:flex}.announcement-form-actions button,.announcement-card-actions button{color:#4b7480;cursor:pointer;background:#eaf3f1;border:0;border-radius:11px;min-height:38px;padding:0 14px;font-size:10px;font-weight:900}.announcement-form-actions .is-primary{color:#fff;background:linear-gradient(135deg,#0ba9b2,#087f9b);min-width:110px}.announcement-form-actions button:disabled,.announcement-card-actions button:disabled{cursor:wait;opacity:.5}.announcement-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.announcement-admin-card{background:#fff;border:1px solid #dceae7;border-radius:19px;min-width:0;padding:17px;box-shadow:0 10px 24px #244d540d}.announcement-card-meta{align-items:center;gap:7px;margin-bottom:10px;display:flex}.announcement-card-meta small{color:#8aa2a8;margin-left:auto;font-size:9px;font-weight:750}.announcement-kind,.announcement-status{border-radius:8px;padding:5px 8px;font-size:9px;font-weight:950}.announcement-kind{color:#087e91;background:#dcf3f1}.announcement-kind.kind-maintenance{color:#b75d38;background:#fff0e8}.announcement-kind.kind-product{color:#7255ad;background:#f0ebfb}.announcement-status{color:#738f96;background:#edf3f1}.announcement-status.is-live{color:#167d5b;background:#ddf5e9}.announcement-status.is-scheduled{color:#8b6a1e;background:#fff3d2}.announcement-status.is-ended,.announcement-status.is-hidden{color:#8d7e82;background:#f2edef}.announcement-admin-card>strong{color:#174d5c;font-size:14px;line-height:1.5;display:block}.announcement-admin-card>p{color:#819ba2;margin:8px 0 0;font-size:10px}.announcement-admin-card>a{color:#078fa0;margin-top:8px;font-size:10px;font-weight:800;display:inline-block}.announcement-card-actions{gap:6px;margin-top:14px;display:flex}.announcement-card-actions button{flex:1;min-width:0;padding:0 8px}.announcement-card-actions .is-danger{color:#b43b3c;background:#fff0ef}.character-admin{margin-top:44px}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.admin-card{background:#fff;border:1px solid #dceae7;border-radius:21px;grid-template-columns:92px 1fr;gap:14px;padding:15px;display:grid;box-shadow:0 12px 28px #244d540f}.admin-preview{background:linear-gradient(160deg,#d8f4f1,#eaf8f4);border-radius:16px;grid-row:span 2;place-items:center;min-height:106px;display:grid}.admin-preview img{object-fit:contain;max-width:82px;max-height:92px}.admin-card-copy{align-self:center;min-width:0}.admin-card-copy span,.admin-card-copy small{color:#7b999f;font-size:10px;font-weight:750;display:block}.admin-card-copy strong{color:#184b5a;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 7px;font-size:16px;display:block;overflow:hidden}.admin-card button{color:#b43b3c;cursor:pointer;background:#fff0ef;border:0;border-radius:11px;grid-column:2;min-height:36px;font-size:11px;font-weight:900}.admin-card button:hover{color:#fff;background:#d95050}.admin-card button:disabled{cursor:wait;opacity:.55}.admin-empty{color:#7b969b;text-align:center;background:#fff9;border:1px dashed #c9dfda;border-radius:22px;padding:52px 20px}.admin-gate{background:linear-gradient(145deg,#d7f4ef,#eef8f5);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-gate section{text-align:center;background:#fff;border-radius:28px;width:min(460px,100%);padding:38px;box-shadow:0 25px 70px #1e4e5424}.admin-gate img{object-fit:contain;width:112px;height:112px}.admin-gate section>span{color:#0796a3;letter-spacing:.2em;margin-top:12px;font-size:10px;font-weight:950;display:block}.admin-gate h1{letter-spacing:-.04em;margin:10px 0 8px;font-size:26px}.admin-gate p{color:#718e96;font-size:13px;line-height:1.6}.admin-gate div{justify-content:center;gap:8px;margin-top:20px;display:flex}.admin-gate a{color:#fff;background:#078e9f;border-radius:12px;padding:11px 15px;font-size:12px;font-weight:850;text-decoration:none}.admin-gate a+a{color:#47737f;background:#e8f3f1}@keyframes livePulse{50%{opacity:.42;transform:scale(.78)}}@keyframes waterDust{to{background-position:86px -94px}}@keyframes grassSway{0%{transform:rotate(calc(var(--blade-angle) - 3deg)) skewX(-1.5deg)}to{transform:rotate(calc(var(--blade-angle) + 5deg)) skewX(2deg)}}@keyframes canopyBreathe{0%{transform:rotate(-.8deg)}to{transform:rotate(1.1deg)}}@keyframes causticDrift{0%{opacity:.1;transform:translate(-26px)rotate(7deg)scaleX(.8)}to{opacity:.28;transform:translate(35px)rotate(14deg)scaleX(1.18)}}@keyframes coralSway{0%{transform:rotate(-2.5deg)}to{transform:rotate(3.2deg)}}@keyframes seaweedSway{0%{transform:rotate(-14deg)skew(-2deg)}to{transform:rotate(10deg)skew(3deg)}}@keyframes characterBob{to{transform:translateY(-9px)rotate(.8deg)}}@keyframes traverseOcean{0%{transform:translateX(calc(0px - var(--character-size) - 24px))}to{transform:translate(calc(100vw + 24px))}}@keyframes faceRightCycle{0%,49.99%{transform:scaleX(-1)}50%,99.99%{transform:scaleX(1)}to{transform:scaleX(-1)}}@keyframes faceLeftCycle{0%,49.99%{transform:scaleX(1)}50%,99.99%{transform:scaleX(-1)}to{transform:scaleX(1)}}@keyframes faceRightNativeCycle{0%,49.99%{transform:scaleX(1)}50%,99.99%{transform:scaleX(-1)}to{transform:scaleX(1)}}@keyframes faceLeftNativeCycle{0%,49.99%{transform:scaleX(-1)}50%,99.99%{transform:scaleX(1)}to{transform:scaleX(-1)}}@keyframes fairyFlutter{0%,to{transform:translateY(8px)rotate(-3deg)}35%{transform:translateY(-24px)rotate(4deg)}68%{transform:translateY(-5px)rotate(-1deg)}}@keyframes octopusPulse{0%,to{transform:translateY(10px)scale(1)}45%{transform:translateY(-16px)scale(.94,1.06)}62%{transform:translateY(-8px)scale(1.04,.97)}}@keyframes penguinDart{0%,to{transform:translateY(12px)rotate(5deg)}48%{transform:translateY(-27px)rotate(-7deg)}}@keyframes walrusGlide{0%,to{transform:translateY(5px)rotate(-1deg)}50%{transform:translateY(-7px)rotate(1deg)}}@keyframes whaleCruise{0%,to{transform:translateY(16px)rotate(2deg)}42%{transform:translateY(-25px)rotate(-2deg)}72%{transform:translateY(-8px)rotate(1deg)}}@keyframes turtlePaddle{0%,to{transform:translateY(9px)rotate(-3deg)}50%{transform:translateY(-17px)rotate(3deg)}}@keyframes crabScuttle{0%{transform:translateY(0)rotate(-1deg)}to{transform:translateY(-4px)rotate(1deg)}}@keyframes sharkHunt{0%,to{transform:translateY(14px)rotate(3deg)}38%{transform:translateY(-20px)rotate(-4deg)}70%{transform:translateY(-7px)rotate(1deg)}}@keyframes starfishDrift{0%,to{transform:translateY(17px)rotate(-8deg)}50%{transform:translateY(-22px)rotate(10deg)}}@keyframes seahorseRise{0%,to{transform:translateY(22px)rotate(-4deg)}52%{transform:translateY(-31px)rotate(4deg)}}@keyframes pufferPuff{0%,to{transform:translateY(8px)scale(.96)}48%{transform:translateY(-18px)scale(1.06)}}@keyframes narwhalArc{0%,to{transform:translateY(18px)rotate(3deg)}50%{transform:translateY(-28px)rotate(-3deg)}}@keyframes scannerReveal{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes emptyFloat{to{opacity:.62;transform:translateY(-12px)scale(.92)}}@keyframes busySweep{to{background-position:-200% 0}}@keyframes announcementEnter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media (max-width:920px){.hero-copy{max-width:410px;top:118px;left:22px}.scanner-card{bottom:16px;right:16px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-summary-group{width:100%}.admin-summary{flex:1}.usage-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-detail-grid{grid-template-columns:1fr}}@media (max-width:640px){.topbar{border-radius:20px;min-height:66px;padding:6px 9px;top:10px;left:10px;right:10px}.brand-logo{border-radius:15px;width:54px;height:54px}.top-actions{gap:6px}.live-badge,.friend-count,.view-mode-toggle{min-height:34px;padding:0 10px;font-size:9px}.friend-count{display:none}.view-mode-toggle{gap:6px}.view-mode-toggle i{transform:rotate(45deg)scale(.82)}.view-mode-toggle.is-active i{transform:scale(.82)}.announcement-bar{border-radius:14px;gap:7px;width:calc(100% - 20px);min-height:41px;padding:6px 9px 6px 6px;top:84px}.announcement-bar-kind{min-width:43px;padding:6px 7px;font-size:8px}.announcement-bar-message a,.announcement-bar-message>span{font-size:10px}.announcement-bar>small{font-size:8px}.ocean-stage{background-position:bottom;min-height:100svh}.hero-copy{border-radius:17px;max-width:none;padding:12px 15px 13px;top:88px;left:12px;right:12px}.ocean-app.has-announcements .hero-copy{top:136px}.hero-copy h1{font-size:23px}.hero-copy span{margin-top:6px;font-size:11px}.scanner-card{border-radius:22px;width:auto;padding:16px;bottom:10px;left:10px;right:10px}.scanner-heading h2{font-size:17px}.scanner-heading p{display:none}.step-chip{min-width:56px;height:34px;font-size:10px}.speech-field{margin-top:13px}.speech-field input{height:46px}.scan-actions{grid-template-columns:1.3fr .8fr}.scan-primary,.gallery-button{min-height:46px;font-size:12px}.scanner-notice{min-height:48px;margin-top:9px}.privacy-note{margin-top:7px}.ocean-character{width:min(var(--character-size), 125px);bottom:calc(24% + var(--character-depth))}.habitat-tree{width:250px;bottom:-42px}.habitat-tree-left{--tree-x:2%;--tree-scale:.8}.habitat-tree-center{--tree-x:50%;--tree-scale:.66}.habitat-tree-right{--tree-x:98%;--tree-scale:.82}.character-speech{font-size:10px}.empty-ocean{top:42%}.motion-coral{transform-origin:50% 100%;width:94px;height:126px;transform:scale(.72)}.motion-coral-left{left:-5px}.motion-coral-right{right:-5px;transform:scaleX(-1)scale(.72)}.motion-seaweed{transform-origin:50% 100%;transform:scale(.72)}.motion-seaweed-left{left:-22px}.motion-seaweed-right{right:-22px;transform:scaleX(-1)scale(.72)}.admin-topbar{min-height:72px;padding:8px 14px}.admin-brand img{width:52px;height:52px}.admin-brand span{display:none}.admin-topbar a{padding:9px 10px;font-size:10px}.admin-content{width:min(100% - 24px,1180px);padding:28px 0 54px}.admin-title-row{flex-direction:column;align-items:flex-start}.admin-summary{text-align:left;width:100%;min-width:0;padding:14px 16px}.admin-summary strong{font-size:26px}.admin-tabs{gap:6px;margin-bottom:28px}.admin-tabs button{border-radius:14px;min-height:58px;padding:10px 9px}.admin-tabs button>span{display:none}.admin-tabs button>strong{font-size:11px}.admin-tabs button>small{min-width:19px;padding:3px 5px;font-size:8px;top:7px;right:7px}.usage-heading{flex-direction:column;align-items:flex-start}.usage-period{width:100%}.usage-period button{flex:1}.usage-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-kpi-grid article{padding:14px 13px}.usage-kpi-grid article.is-rate{grid-column:1/-1}.usage-panel{padding:15px}.usage-panel>header{flex-direction:column;align-items:flex-start;gap:7px}.usage-chart{min-width:520px;height:190px}.usage-chart-panel{overflow-x:auto}.usage-detail-grid{grid-template-columns:minmax(0,1fr)}.usage-table-panel{padding-left:10px;padding-right:10px}.usage-exclusion-actions{grid-template-columns:1fr;display:grid}.usage-exclusion-list>div{flex-direction:column;align-items:flex-start}.usage-exclusion-list button{width:100%}.announcement-form{padding:16px}.announcement-form-heading{flex-direction:column;align-items:flex-start;gap:4px}.announcement-form-grid{grid-template-columns:1fr}.announcement-form-grid .is-wide,.announcement-active-check{grid-column:auto}.announcement-list,.admin-grid{grid-template-columns:1fr}.admin-status{flex-wrap:wrap;align-items:flex-start}.admin-status small{width:100%;margin-left:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.surface-caustics i,.motion-coral,.motion-seaweed i,.safari-grass i,.tree-canopy{animation-duration:12s}.character-rig{animation-duration:9s}}:root{--ink:#4b351f;--muted:#80694d;--glass:#fffbefeb;--glass-line:#ffffffb8;--aqua:#df8b3e;--aqua-dark:#a74f25;--coral:#ef7654;--cream:#fff8e7}body{background:#b97836}.ocean-app{background:#c38a47}.topbar{background:#fffcf1e0;border-color:#ffffffb3;box-shadow:0 18px 50px #4e2d1429,inset 0 1px #ffffffeb}.live-badge{background:linear-gradient(135deg,#5f8e45,#3f6f3b);box-shadow:0 8px 20px #41673638}.live-badge i{background:#e4ffac;box-shadow:0 0 0 5px #e4ffac2e}.friend-count{color:#765233;background:#f6e8bfbf}.friend-count strong{color:#aa5425}.view-mode-toggle{color:#80502d;border-color:#8e4e2329;box-shadow:0 7px 18px #60371814}.view-mode-toggle.is-active{background:linear-gradient(135deg,#de8b3f,#a84e27)}.ocean-stage{background-image:linear-gradient(#fff6d305,#683a1814),url(/safari-world.png);background-position:bottom}.ocean-stage:before{background:radial-gradient(circle at 52% 12%,#fffbd238,#0000 35%),linear-gradient(90deg,#5d3a1a0d,#0000 22% 78%,#5d3a1a0d)}.ocean-stage:after{opacity:.16;background-image:radial-gradient(#fff3aee6 0 1px,#0000 1.7px);background-size:93px 84px;animation:28s linear infinite waterDust}.surface-caustics{mix-blend-mode:soft-light;inset:0 0 45%}.surface-caustics i{opacity:.17;background:linear-gradient(#fffad0e6,#ffe28c08 72%,#0000)}.hero-copy{color:#fffdf5;background:linear-gradient(135deg,#5f401f9e,#9b5b2b59);border-color:#ffffff8c;box-shadow:0 14px 36px #58321424}.hero-copy p{color:#ffe08b}.hero-copy span{color:#fffce9eb}.ocean-character{bottom:calc(4% + var(--character-depth));filter:drop-shadow(0 14px 9px #4b2c1433)}.character-body{max-height:192px}.motion-monkey .character-rig{animation:2.35s cubic-bezier(.45,0,.35,1) infinite monkeyBound}.motion-deer .character-rig{animation:1.65s ease-in-out infinite deerPrance}.motion-fox .character-rig{animation:1.8s ease-in-out infinite foxTrot}.motion-rabbit .character-rig{animation:1.9s cubic-bezier(.4,0,.35,1) infinite rabbitHop}.motion-otter .character-rig{animation:2.8s ease-in-out infinite otterLope}.motion-elephant .character-rig{animation:3.4s ease-in-out infinite elephantWalk}.motion-koala .character-rig{animation:6.4s ease-in-out infinite koalaBranchSway}.motion-owl .character-rig{animation:4.2s ease-in-out infinite owlPerchBob}.motion-kangaroo .character-rig{animation:1.75s cubic-bezier(.42,0,.32,1) infinite kangarooHop}.motion-penguin .character-rig{animation:1.7s ease-in-out infinite penguinWaddle}.motion-lion .character-rig{animation:2.65s ease-in-out infinite lionProwl}.motion-crocodile .character-rig{animation:4.6s ease-in-out infinite crocodileCreep}.ocean-character.motion-crocodile{bottom:clamp(3%, calc(4% + var(--character-depth)), 15%)}.empty-ocean{color:#5b3b1ebd;text-shadow:0 2px 8px #fff9d3bf}.empty-ocean i{background:#ffe79638;border-color:#fff3b7b3;box-shadow:inset 0 0 18px #ffffff59,0 0 16px #ffcf6542}.scanner-card{box-shadow:0 25px 65px #5831143d,inset 0 1px #ffffffeb}.step-chip{color:#fff;background:linear-gradient(135deg,#e89845,#b35a2f)}.scanner-heading h2{color:#5b3b22}.scanner-heading p{color:#927252}.scan-primary{background:linear-gradient(135deg,#eb9949,#b4582d);box-shadow:0 12px 25px #a84f263d}.scanner-notice{color:#846447;background:#fbedc5b8}.scanner-notice>span{color:#d27a32}.scanner-notice strong{color:#6e4828}.access-gate{z-index:700;-webkit-backdrop-filter:blur(9px)saturate(.9);backdrop-filter:blur(9px)saturate(.9);background:linear-gradient(#3622112e,#4927106b);place-items:center;padding:22px;display:grid;position:fixed;inset:0}.access-card{color:#654325;text-align:center;background:#fffbedf2;border:1px solid #ffffffd1;border-radius:32px;width:min(460px,100%);padding:32px;box-shadow:0 32px 90px #3e220d52,inset 0 1px #fff}.access-kicker{color:#bd6a31;letter-spacing:.2em;font-size:9px;font-weight:950}.access-icon{color:#fff7d5;background:linear-gradient(145deg,#eaa34e,#c06134);border-radius:24px;place-items:center;width:70px;height:70px;margin:15px auto 13px;display:grid;transform:rotate(-3deg);box-shadow:0 13px 25px #a652253d}.access-icon span{font-size:29px;transform:rotate(3deg)}.access-card h2{color:#4c321d;letter-spacing:-.055em;margin:0;font-size:27px}.access-card>p{color:#85684c;max-width:340px;margin:10px auto 22px;font-size:13px;line-height:1.65}.access-card form{text-align:left}.access-card label{color:#6f5135;margin-bottom:7px;font-size:11px;font-weight:900;display:block}.access-input-row{grid-template-columns:1fr auto;gap:8px;display:grid}.access-input-row input{color:#55371f;letter-spacing:.04em;text-transform:uppercase;background:#fffef8;border:1px solid #e4cfaa;border-radius:14px;min-width:0;height:49px;padding:0 14px;font-size:14px;font-weight:800}.access-input-row button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#df8b3e,#a74f25);border:0;border-radius:14px;min-width:76px;font-size:12px;font-weight:950}.access-input-row button:disabled{cursor:not-allowed;opacity:.46}.access-card form small{color:#987858;min-height:18px;margin-top:8px;font-size:10px;line-height:1.5;display:block}.access-card>a{color:#a35b2d;margin-top:18px;font-size:11px;font-weight:850;text-decoration:none;display:inline-block}.access-card>a:hover{text-decoration:underline}.access-checking{color:#8b6b4d;justify-content:center;align-items:center;gap:9px;min-height:70px;font-size:12px;font-weight:800;display:flex}.access-checking i{border:2px solid #eed7af;border-top-color:#c36c33;border-radius:50%;width:17px;height:17px;animation:.8s linear infinite accessSpin}@keyframes monkeyBound{0%,12%,to{transform:translate(0)rotate(-2deg)}34%{transform:translate(3px,-16px)rotate(3deg)}56%{transform:translate(7px,-11px)rotate(1deg)}76%{transform:translate(2px)rotate(-3deg)}}@keyframes deerPrance{0%,to{transform:translateY(0)rotate(-.8deg)}25%{transform:translateY(-8px)rotate(.9deg)}50%{transform:translateY(-1px)rotate(-.5deg)}75%{transform:translateY(-7px)rotate(.7deg)}}@keyframes foxTrot{0%,to{transform:translate(0)rotate(-1.2deg)}25%{transform:translate(2px,-5px)rotate(.8deg)}50%{transform:translate(4px,-1px)rotate(-.7deg)}75%{transform:translate(2px,-5px)rotate(1deg)}}@keyframes rabbitHop{0%,20%,to{transform:translate(0)rotate(-1deg)}42%{transform:translate(5px,-29px)rotate(3deg)}63%{transform:translate(9px,-18px)rotate(1deg)}78%{transform:translate(3px)rotate(-2deg)}}@keyframes otterLope{0%,to{transform:translateY(1px)rotate(-3deg)}28%{transform:translate(4px,-9px)rotate(3deg)}55%{transform:translate(8px,-3px)rotate(1deg)}78%{transform:translate(3px,-7px)rotate(-2deg)}}@keyframes elephantWalk{0%,to{transform:translateY(1px)rotate(-.5deg)}25%{transform:translateY(-3px)rotate(.45deg)}50%{transform:translateY(0)rotate(-.35deg)}75%{transform:translateY(-3px)rotate(.5deg)}}@keyframes koalaBranchSway{0%,to{transform:translateY(1px)rotate(-2.6deg)}45%{transform:translateY(-3px)rotate(2.4deg)}68%{transform:translateY(-2px)rotate(1.4deg)}}@keyframes owlPerchBob{0%,18%,to{transform:translateY(1px)rotate(-1.4deg)}42%{transform:translateY(-5px)rotate(1.2deg)}58%{transform:translateY(-2px)rotate(-.6deg)}76%{transform:translateY(-6px)rotate(1deg)}}@keyframes kangarooHop{0%,18%,to{transform:translate(0)rotate(-1deg)}40%{transform:translate(8px,-34px)rotate(3deg)}62%{transform:translate(13px,-21px)rotate(1deg)}78%{transform:translate(4px)rotate(-2deg)}}@keyframes penguinWaddle{0%,to{transform:translate(-3px)rotate(-6deg)}25%{transform:translateY(-3px)rotate(0)}50%{transform:translate(3px)rotate(6deg)}75%{transform:translateY(-3px)rotate(0)}}@keyframes lionProwl{0%,to{transform:translate(0)rotate(-.7deg)}25%{transform:translate(2px,-4px)rotate(.5deg)}50%{transform:translate(4px,-1px)rotate(-.35deg)}75%{transform:translate(2px,-4px)rotate(.6deg)}}@keyframes crocodileCreep{0%,14%,to{transform:translateY(2px)rotate(-.5deg)}36%{transform:translate(5px)rotate(.45deg)}58%{transform:translate(9px,2px)rotate(-.35deg)}78%{transform:translate(12px)rotate(.35deg)}}@keyframes accessSpin{to{transform:rotate(360deg)}}@media (max-width:720px){.access-gate{padding:14px}.access-card{border-radius:26px;padding:25px 20px 22px}.access-card h2{font-size:23px}.access-input-row{grid-template-columns:1fr}.access-input-row button{min-height:46px}.ocean-character{width:min(var(--character-size), 128px);bottom:calc(5% + var(--character-depth))}}
