:root{color:#173b3d;font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:#78c9d5;margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:5px;outline:3px solid #ee8359}button{border:0}a{color:inherit}#world{touch-action:none;width:100%;height:100%;position:fixed;inset:0}header{z-index:3;justify-content:space-between;align-items:center;display:flex;position:absolute;top:26px;left:36px;right:36px}.identity{letter-spacing:2px;align-items:center;gap:15px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.identity small{letter-spacing:2.4px;margin-top:7px;font-size:9px;font-weight:400;display:block}.monogram{letter-spacing:-3px;font-family:Georgia,serif;font-size:32px}.monogram span{color:#cd714c}nav{align-items:center;gap:9px;display:flex}nav button,nav a{color:#254c4a;background:#fff8e9d9;border-radius:24px;padding:13px 17px;font-size:11px;text-decoration:none;box-shadow:0 3px 18px #21454508}nav button:first-child{background:0 0}nav span{margin-left:12px}#location{align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;top:112px;left:38px}#location small{letter-spacing:1.8px;opacity:.65;margin-left:13px;font-size:8px}.live-dot{background:#427c63;border-radius:100%;width:6px;height:6px}#welcome{z-index:2;max-width:460px;transition:opacity .5s,transform .6s;position:absolute;top:25%;left:6.4%}.eyebrow{letter-spacing:3px;color:#47706b;font-size:9px;font-weight:700}h1{letter-spacing:-3.5px;margin:23px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,5.5vw,82px);font-weight:400;line-height:1.04}p.intro{color:#41645f;font-size:13px;line-height:1.9}.primary{color:#fff9e9;background:#214e49;border-radius:30px;margin-top:17px;padding:18px 23px;font-size:12px;box-shadow:0 8px 26px #244d3c22}.primary span{margin-left:30px}.text-button{color:#42635c;background:0 0;padding:20px 0;font-size:10px;display:block}.welcome-note{letter-spacing:1px;border-top:1px solid #456e5c38;gap:20px;margin-top:18px;padding-top:19px;font-size:8px;display:flex}body.playing #welcome{opacity:0;pointer-events:none;transform:translateY(16px)}#map{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff9e6d9;border-radius:16px;width:168px;padding:15px;position:absolute;bottom:92px;right:30px;box-shadow:0 5px 25px #244d3c1a}.map-head{letter-spacing:1.8px;justify-content:space-between;align-items:center;font-size:8px;display:flex}.map-head button{color:#42645e;background:0 0;font-size:24px}#map svg{width:100%}.map-caption{letter-spacing:.6px;justify-content:space-between;font-size:6px;display:flex}#controls{color:#f7fbec;text-shadow:0 1px 7px #164e54;align-items:center;gap:22px;font-size:9px;display:flex;position:absolute;bottom:24px;left:36px;right:36px}kbd{border:1px solid #fff7;border-radius:6px;margin-right:6px;padding:6px 8px;font-family:inherit;font-size:8px}#controls button{color:#244f49;background:#eaf6e7d9;border-radius:14px;padding:9px 12px;font-size:9px}#scene-labels>div{letter-spacing:1.8px;color:#214940;text-align:center;pointer-events:none;white-space:nowrap;background:#fff6dfde;border:1px solid #fff7;border-radius:20px;padding:9px 13px;font-size:9px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 14px #255d5720}#scene-labels small{letter-spacing:1px;opacity:.65;margin-top:4px;font-size:7px;display:block}#prompt{color:#fff6e4;background:#173e39eb;border:1px solid #fff6;border-radius:28px;padding:15px 24px;font-size:12px;position:absolute;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 7px 30px #123b3922}dialog{color:#214844;background:#fcf9ef;border:0;border-radius:22px;width:min(800px,92vw);max-height:85dvh;padding:40px;box-shadow:0 25px 100px #072d3a60}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#133d4859}dialog h2{margin:15px 0 25px;font-family:Georgia,serif;font-size:36px;font-weight:400}#close{float:right;color:#385851;background:#e6ecdf;border-radius:50%;width:32px;height:32px;font-size:23px;position:sticky;top:0}#panel-content{font-size:13px;line-height:1.8}#panel-content h2{margin:18px 0 8px;font-family:inherit;font-size:19px}#panel-content h3{font-size:15px}#panel-content a{overflow-wrap:anywhere;color:#1d7775}#panel-content img{border-radius:10px;max-width:100%;height:auto}#panel-content img:not([src]){display:none}.portfolio-stat-grid,.directory-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.portfolio-stat,.portfolio-entry,.dashboard-card{background:#f1f2e7;border-radius:12px;margin:10px 0;padding:18px}.portfolio-stat strong,.portfolio-stat span{display:block}.portfolio-stat strong{font-size:24px}.directory-grid button{text-align:left;color:#224f48;background:#e9eee2;border-radius:10px;padding:16px;font-size:13px}.directory-grid small{opacity:.7;margin-top:5px;font-size:9px;display:block}.dialogue-text{font-family:Georgia,serif;font-size:24px;line-height:1.5}.choices{gap:8px;margin-top:24px;display:grid}.choices button{text-align:left;color:#295b51;background:0 0;border:1px solid #cdd8c5;border-radius:11px;padding:14px 18px}.choices button:hover,.directory-grid button:hover{background:#dbe7d4}.npc-tag{background:#e1eadb;border-radius:20px;padding:4px 10px;font-size:10px;display:inline-block}#loading{z-index:20;background:#eff2df;align-content:center;justify-items:center;transition:opacity .5s;display:grid;position:fixed;inset:0}#loading p{letter-spacing:2px;font-size:11px}#toast{opacity:0;pointer-events:none;background:#fff9eb;border-radius:25px;padding:12px 22px;font-size:12px;transition:opacity .3s;position:absolute;top:100px;left:50%;transform:translate(-50%)}#toast.visible{opacity:1}#touch-controls,body.playing #location small{display:none}.source-note{color:#698277;border-top:1px solid #d8e0ce;margin-top:22px;padding-top:18px;font-size:10px}.portfolio-gallery,.about-hero-media,.publication-image{display:none}@media (max-width:700px){header{top:18px;left:20px;right:20px}.identity{letter-spacing:1px;gap:10px;font-size:9px}.identity small{font-size:7px}.monogram{font-size:27px}nav{gap:3px}nav a,nav button:first-child{display:none}nav button{padding:11px 14px;font-size:9px}#location{top:83px;left:20px}#location small{display:none}#welcome{max-width:80%;top:23%;left:24px}h1{letter-spacing:-2px;font-size:54px}.intro{max-width:260px}.welcome-note{gap:12px;max-width:290px;font-size:7px}#map{width:116px;padding:10px;bottom:105px;right:16px}.map-head{font-size:6px}.map-caption{font-size:5px}#controls{gap:8px;bottom:18px;left:20px;right:20px}#controls>span{display:none}#controls button:first-of-type{margin-left:0}dialog{max-height:83dvh;padding:25px 22px}dialog h2{font-size:29px}.directory-grid{grid-template-columns:1fr}.dialogue-text{font-size:21px}#prompt{white-space:nowrap;max-width:85vw;font-size:10px;bottom:180px}.portfolio-stat-grid{grid-template-columns:1fr}#scene-labels>div{letter-spacing:1px;padding:7px 9px;font-size:7px}#touch-controls{pointer-events:none;visibility:hidden;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:65px;left:22px;right:22px}body.playing #touch-controls{visibility:visible}#joystick{pointer-events:auto;touch-action:none;background:#f3ffe428;border:1px solid #fff9;border-radius:50%;place-items:center;width:104px;height:104px;display:grid}#joystick span{background:#fff9e6b8;border-radius:50%;width:40px;height:40px}#touch-interact{color:#fff5df;pointer-events:auto;background:#214e49e8;border-radius:28px;width:85px;height:53px;font-size:10px}body.playing #map{bottom:160px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}#compatibility{letter-spacing:.6px;color:#365d59;pointer-events:none;background:#fff7ddce;border-radius:12px;margin:0;padding:6px 10px;font-size:9px;position:absolute;top:139px;left:38px}@media (max-width:700px){#compatibility{font-size:8px;top:107px;left:20px}body:not(.playing) #scene-labels{display:none}#welcome{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9e8e8;border:1px solid #fff8;border-radius:20px;width:calc(100% - 40px);max-width:none;padding:20px;top:auto;bottom:130px;left:20px}#welcome h1{letter-spacing:-1.8px;margin:16px 0;font-size:43px}#welcome .eyebrow{letter-spacing:2px;font-size:7px}#welcome p.intro{margin:0;font-size:11px}#welcome .primary{margin-top:15px;padding:14px 19px}#welcome .text-button{padding:14px 0 0;font-size:9px}.welcome-note,body:not(.playing) #map{display:none}}.publication-image{float:left;max-width:150px;margin:0 18px 12px 0;display:block}.publication-card{background:#f1f2e7;border-radius:12px;margin:14px 0;padding:18px;display:flow-root}.publication-image img{width:100%;height:auto}@media (max-width:700px){.publication-image{max-width:85px;margin-right:12px}}:is(dialog:has(#panel-content .portfolio-stat-grid),dialog:has(#panel-content .portfolio-entry),dialog:has(#panel-content .publication-card),dialog:has(#panel-content .dashboard-card)){background:#faf8f1;width:min(1080px,96vw);max-height:90dvh;padding:clamp(20px,3vw,45px)}#panel-content{--theme-accent:#287f7b;--theme-dark:#173f46;--theme-soft:#d6eee6;color:#294b4e;overflow-wrap:break-word;min-width:0;font-size:15px;line-height:1.75}#panel-content h2{color:#174953;margin:12px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.5vw,27px);font-weight:600;line-height:1.25}#panel-content h3{color:#246a6c;margin:22px 0 10px;font-size:18px}#panel-content p{margin:10px 0 15px}#panel-content .portfolio-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}#panel-content .portfolio-stat{text-align:center;background:#fff;border:1px solid #dce9e3;border-radius:16px;margin:0;padding:20px;box-shadow:0 5px 20px #143d4510}#panel-content .portfolio-stat strong{color:#18515b;font-size:clamp(19px,2.2vw,26px)}#panel-content .portfolio-stat span{color:#506f72;margin-top:9px;font-size:13px;line-height:1.55}#panel-content .portfolio-entry,#panel-content .dashboard-card{background:#fff;border:1px solid #d9e5df;border-radius:18px;margin:18px 0;padding:clamp(20px,3vw,30px);box-shadow:0 9px 26px #173f4510}#panel-content .portfolio-entry-heading{align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}#panel-content .portfolio-entry-icon{background:#e5f2eb;border-radius:13px;flex:0 0 50px;place-items:center;width:50px;height:50px;font-size:26px;display:grid}#panel-content .portfolio-entry-heading h2{margin:0;font-size:clamp(18px,2vw,24px)}#panel-content .portfolio-entry-heading p{margin:6px 0}#panel-content .degree-ribbon{color:#fff;letter-spacing:.04em;background:#277c7a;border-radius:999px;margin-bottom:16px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-block}#panel-content .academic-timeline{border-left:3px solid #b7d9d0;margin-left:14px;padding-left:24px;position:relative}#panel-content .academic-timeline .degree-card{position:relative}#panel-content .academic-timeline .degree-card:before{content:"";background:#277c7a;border-radius:50%;width:13px;height:13px;position:absolute;top:27px;left:-35px;box-shadow:0 0 0 4px #faf8f1}#panel-content .portfolio-thesis-title{color:#245964;font-weight:600}#panel-content .portfolio-meta,#panel-content .portfolio-tags{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}#panel-content .portfolio-meta span,#panel-content .portfolio-tags span{color:#245d63;background:#e7f3ef;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600}#panel-content .portfolio-gallery,#panel-content .about-hero-media{display:block}#panel-content .portfolio-gallery{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:13px;margin:20px 0;display:grid}#panel-content .portfolio-gallery img,#panel-content .about-hero-media img{object-fit:contain;width:100%;height:auto;max-height:420px;display:block}#panel-content .publication-card{background:#fff;border:1px solid #e1e8de;border-left:4px solid #3b8d83;border-radius:14px;margin:14px 0;padding:20px;display:flow-root}#panel-content .publication-image{float:left;max-width:160px;margin:0 20px 12px 0;display:block}#panel-content .publication-image img{object-fit:cover;width:100%;height:auto;display:block}#panel-content .publication-year{color:#317e7b;font-weight:700}#panel-content .publication-journal{letter-spacing:.06em;color:#437c80;font-size:12px;font-weight:700}#panel-content a{color:#147c7b;text-underline-offset:3px;text-decoration:underline}#panel-content a:hover{color:#0c575b}#panel-content table{border-collapse:collapse;white-space:normal;width:100%;display:block;overflow-x:auto}#panel-content td,#panel-content th{text-align:left;border-bottom:1px solid #d7e4df;padding:10px 12px}#panel-content ul,#panel-content ol{padding-left:23px}#panel-content li{margin-bottom:7px}#panel-content .portfolio-entry:after{content:"";clear:both;display:block}@media (max-width:700px){:is(dialog:has(#panel-content .portfolio-stat-grid),dialog:has(#panel-content .portfolio-entry),dialog:has(#panel-content .publication-card)){width:96vw;max-height:91dvh;padding:22px 18px}#panel-content{font-size:14px}#panel-content .portfolio-stat-grid{grid-template-columns:1fr;gap:10px}#panel-content .portfolio-entry-heading{gap:10px}#panel-content .portfolio-entry-icon{flex-basis:38px;width:38px;height:38px;font-size:20px}#panel-content .academic-timeline{margin-left:9px;padding-left:13px}#panel-content .academic-timeline .degree-card:before{left:-24px}#panel-content .publication-image{max-width:110px;margin-right:12px}}header{z-index:5;align-items:flex-start;top:12px}.identity{letter-spacing:1.45px;align-items:flex-start;max-width:min(58vw,570px);margin-top:2px;font-size:clamp(10px,1vw,12px)}.identity small{letter-spacing:2px;margin-top:5px;line-height:1.4}nav{grid-template-columns:auto auto;grid-template-areas:"guide traditional"".directory";place-items:center stretch;gap:7px 10px;display:grid}nav #guide{grid-area:guide}nav a{grid-area:traditional}nav #directory{text-align:center;background:#fff9e9ee;grid-area:directory}nav button,nav a{white-space:nowrap}#map .map-actions{align-items:center;gap:4px;display:flex}#map .map-actions button{color:#37645e;border-radius:8px;min-width:24px;height:24px;font-size:13px;line-height:24px}#map .map-actions #overview{font-size:23px}#map svg #map-destinations circle{cursor:help}#map .map-caption{color:#53776f;gap:12px}@media (max-width:700px){header{align-items:flex-start;top:10px;left:12px;right:12px}.identity{letter-spacing:.5px;gap:7px;max-width:48vw;font-size:8px}.identity small{letter-spacing:.7px;font-size:6px}.monogram{font-size:25px}nav{grid-template-columns:auto;grid-template-areas:"traditional""directory";gap:4px}nav #guide{display:none}nav button,nav a{padding:9px 10px;font-size:8px}nav #directory{display:block}#map{width:158px}#map .map-caption{font-size:7px}}#loading{z-index:9999;color:#fff8de;background:linear-gradient(150deg,#123f50 0%,#21697b 48%,#469d9b 100%);flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}#loading .load-symbol{color:#9bdacb;font-size:55px;line-height:1.2}#loading .load-overline{letter-spacing:3px;color:#d2f2e7;font-size:10px}#loading h2{margin:9px 0 17px;font-family:Georgia,serif;font-size:clamp(30px,5vw,52px);font-weight:400}#loading .load-note{letter-spacing:.7px;color:#c1e9df;margin-top:18px;font-size:11px}#loading.is-ready{opacity:0;pointer-events:none}#welcome{max-width:540px;top:24%}#welcome h1{letter-spacing:-2.6px;text-wrap:balance;font-size:clamp(42px,4.3vw,65px);line-height:1.1}#welcome .intro{color:#234e50;text-wrap:pretty;max-width:470px;font-size:14px;line-height:1.8}#welcome .primary{font-weight:700}#controls{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:24px;left:28px;right:28px}#controls button{pointer-events:auto;color:#204d4d;text-shadow:none;background:#fff9e8ef;border-radius:999px;padding:12px 17px;font-size:12px;font-weight:700;box-shadow:0 6px 24px #123e4222}#controls button:first-of-type{margin-left:0}#help-panel{z-index:6;color:#204b4b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf0f5;border:1px solid #ffffffa8;border-radius:20px;width:min(320px,100vw - 48px);padding:22px;font-size:13px;line-height:1.6;position:absolute;bottom:78px;left:28px;box-shadow:0 16px 42px #163f453b}#help-panel[hidden]{display:none!important}#help-panel strong{margin-bottom:16px;font-family:Georgia,serif;font-size:24px;font-weight:400;display:block}#help-panel>div{border-bottom:1px solid #d9e4d9;align-items:center;gap:12px;padding:7px 0;display:flex}#help-panel kbd{color:#234f48;min-width:65px;text-shadow:none;background:#e7f0e7;border:1px solid #bbcec2;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}#help-panel p{color:#587069;margin:15px 0;font-size:11px}#help-close{color:#fff;background:#205a58;border-radius:10px;padding:10px 18px;font-size:12px}@media (max-width:700px){#welcome{max-width:none}#welcome h1{letter-spacing:-1.6px;font-size:clamp(35px,9vw,49px)}#welcome .intro{font-size:12px;line-height:1.65}#controls{bottom:14px;left:16px;right:16px}#controls button{padding:11px 12px;font-size:10px}#help-panel{padding:18px;bottom:64px;left:16px}}#map{width:210px;max-height:min(72dvh,630px)}#map .map-legend{color:#214d49;border-top:1px solid #94ab9f66;margin-top:10px;padding-top:8px;font-size:10px}#map .map-legend summary{cursor:pointer;letter-spacing:.03em;list-style:revert;padding:5px 0;font-size:10px;font-weight:700}#map #map-directory{grid-template-columns:1fr;gap:3px;max-height:210px;margin-top:6px;display:grid;overflow-y:auto}#map .map-entry{color:#24524d;text-align:left;background:0 0;border-radius:7px;width:100%;padding:6px 7px;font-size:10px;line-height:1.3}#map .map-entry:hover,#map .map-entry:focus-visible,#map .map-entry.is-selected{color:#194f4c;background:#d5e6d4}#panel-content .announcement-note-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}#panel-content .announcement-note{background:#fff5cf;border:1px solid #e0c58e;border-radius:16px;padding:21px;position:relative;box-shadow:0 9px 24px #40331815}#panel-content .announcement-note:nth-child(2n){background:#f2f8eb}#panel-content .announcement-note h2{font-size:20px}#panel-content .announcement-pin{background:#bb654f;border:3px solid #f2dca1;border-radius:100%;width:12px;height:12px;margin-bottom:12px;display:block}#panel-content .announcement-note-type,#panel-content .announcement-note-date{color:#577469;font-size:11px;font-weight:700}#panel-content .announcement-note-link{color:#fff;background:#286d68;border-radius:9px;margin-top:12px;padding:9px 13px;text-decoration:none;display:inline-block}@media (max-width:700px){#map{width:166px;max-height:52dvh}#map #map-directory{max-height:135px}#map .map-entry{font-size:9px}}@media (min-width:901px){body:not(.playing) #welcome{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#e2f5ebed,#e1f4efc7);border:1px solid #ffffff6b;border-radius:22px;width:clamp(305px,29vw,365px);max-width:none;padding:24px 25px 18px;top:clamp(125px,20vh,190px);left:clamp(24px,3.2vw,52px);box-shadow:0 16px 42px #13464a1c}body:not(.playing) #welcome h1{letter-spacing:-1.65px;text-wrap:balance;margin:12px 0 14px;font-size:clamp(35px,3vw,43px);line-height:1.12}body:not(.playing) #welcome .intro{max-width:100%;margin:0;font-size:12px;line-height:1.65}body:not(.playing) #welcome .eyebrow{letter-spacing:2px;font-size:8px}body:not(.playing) #welcome .primary{margin-top:15px;padding:14px 18px}body:not(.playing) #welcome .text-button{padding:12px 0 0}body:not(.playing) #welcome .welcome-note{margin-top:11px;padding-top:10px}}@media (min-width:901px) and (max-height:700px){body:not(.playing) #welcome{padding:17px 21px 13px;top:clamp(102px,17vh,138px)}body:not(.playing) #welcome h1{margin:8px 0 9px;font-size:clamp(32px,2.65vw,38px)}body:not(.playing) #welcome .intro{font-size:11.5px;line-height:1.48}body:not(.playing) #welcome .primary{margin-top:12px;padding:12px 16px}body:not(.playing) #welcome .welcome-note{display:none}}@media (min-width:701px) and (max-width:900px){body:not(.playing) #welcome{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#e4f4e5d9;border-radius:19px;width:330px;max-width:45vw;padding:18px;top:19%;left:24px}body:not(.playing) #welcome h1{margin:10px 0;font-size:37px}body:not(.playing) #welcome .intro{font-size:12px;line-height:1.55}}@media (max-width:700px){body:not(.playing) #welcome{background:#f4f7e9ef}}#map-expand{display:none}@media (max-width:700px){body.playing #map{z-index:5;border-radius:13px;width:108px;height:auto;max-height:none;padding:8px;transition:width .18s,background .18s;position:absolute;bottom:184px;right:12px}#map .map-head{gap:4px}#map .map-head>span{display:none}#map-expand{justify-content:center;align-items:center;min-width:25px;height:25px;font-size:14px!important;display:inline-flex!important}body.playing #map.map-compact svg{width:100%;max-height:76px;display:block}body.playing #map.map-compact .map-caption,body.playing #map.map-compact .map-legend{display:none}body.playing #map.map-expanded{background:#fff9eaf2;width:min(258px,100vw - 24px);max-height:min(55dvh,420px);padding:12px;overflow-y:auto;box-shadow:0 12px 35px #173f4540}body.playing #map.map-expanded .map-head>span{letter-spacing:1px;font-size:8px;display:block}body.playing #map.map-expanded svg{width:100%;max-height:170px}body.playing #map.map-expanded .map-caption{display:flex}body.playing #map.map-expanded .map-legend{display:block}body.playing #map.map-expanded #map-directory{max-height:min(25dvh,150px)}body.playing #map.map-expanded .map-legend:not([open]) #map-directory{display:none}}@media (max-width:700px) and (max-height:650px){body.playing #map{bottom:154px}body.playing #map.map-expanded{max-height:43dvh}}dialog#panel.portfolio-original{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;box-shadow:none;overscroll-behavior:contain;background:#f7fbfc;border:0;border-radius:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden auto}dialog#panel.portfolio-original #panel-content{width:100%;min-width:0;font-size:inherit;line-height:inherit;margin:0;padding:clamp(24px,4vw,52px) max(20px,50vw - 560px);display:block;overflow-x:clip}dialog#panel.portfolio-original>#panel-title,dialog#panel.portfolio-original>#panel-label{display:none}dialog#panel.portfolio-original>#close{top:max(15px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));float:none;z-index:30;width:46px;height:46px;position:fixed;box-shadow:0 3px 16px #16415330}@media (max-width:700px){dialog#panel.portfolio-original{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0}dialog#panel.portfolio-original #panel-content{padding:calc(64px + env(safe-area-inset-top)) 14px 28px}}dialog#panel.portfolio-original{background:#f7fbfc;border:1px solid #ffffffa6;border-radius:24px;width:min(900px,100vw - 48px);max-width:calc(100vw - 48px);height:auto;max-height:calc(100dvh - 48px);margin:auto;padding:0;position:relative;inset:auto;overflow:hidden auto;box-shadow:0 30px 80px #00000040}dialog#panel.portfolio-original #panel-content{width:100%;min-width:0;margin:0;padding:clamp(22px,4vw,48px);overflow-x:clip}dialog#panel.portfolio-original>#close{float:right;z-index:30;margin:14px 14px -56px 0;position:sticky;top:14px;right:14px}@media (max-width:700px){dialog#panel.portfolio-original{border-radius:18px;width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}dialog#panel.portfolio-original #panel-content{padding:54px 18px 24px}dialog#panel.portfolio-original>#close{margin:10px 10px -48px 0;top:10px;right:10px}}dialog#panel.portfolio-original{width:min(900px,100vw - 48px);max-width:calc(100vw - 48px);height:min(720px,100dvh - 48px);max-height:calc(100dvh - 48px);margin:auto;position:fixed;inset:0;overflow:hidden auto}@media (max-width:700px){dialog#panel.portfolio-original{width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);margin:auto;inset:0}}.guestbook{max-width:620px;margin-inline:auto}.guestbook .dialogue-text{line-height:1.65}.guestbook-status{color:#5c7270;margin:10px 0;font-size:13px;line-height:1.55}.guestbook-form{flex-direction:column;gap:10px;margin:16px 0 8px;display:flex}.guestbook-form label{letter-spacing:.025em;color:#294f4b;font-size:12px;font-weight:700}.guestbook-form input:not(.guestbook-honey),.guestbook-form textarea{width:100%;font:inherit;color:#1c4140;resize:vertical;background:#fffef8;border:1px solid #b7cec6;border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.5}.guestbook-form input:focus-visible,.guestbook-form textarea:focus-visible{outline-offset:2px;outline:2px solid #de946c}.guestbook-form .guestbook-submit{color:#fff;background:#3e7565;border-radius:24px;align-self:flex-start;padding:12px 19px;font-weight:700}.guestbook-form .guestbook-submit:disabled{opacity:.55;cursor:not-allowed}.guestbook-honey{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important}.guestbook-entry{overflow-wrap:anywhere;background:#fffaf0;border:1px solid #e9e1d1;border-radius:14px;margin:12px 0;padding:15px 18px}.guestbook-entry-meta{color:#536f65;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}.guestbook-entry-meta strong{color:#274a43;font-size:14px}.guestbook-entry p{white-space:pre-wrap;color:#284a43;margin:11px 0 0;font-size:14px;line-height:1.55}.guestbook-success{color:#2e654e;background:#e8f3e9;border-radius:12px;padding:16px;line-height:1.6}#fishing-minigame[hidden]{display:none!important}#fishing-minigame{z-index:12;color:#224743;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff9ebf5;border:1px solid #f3e7ce;border-radius:22px;width:min(400px,100vw - 28px);padding:20px;position:fixed;bottom:26px;right:26px;box-shadow:0 15px 55px #153c4f55}.fishing-heading{letter-spacing:1.5px;color:#346559;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800;display:flex}#fishing-close{color:#31534d;background:#e8eee7;border-radius:50%;width:34px;height:34px;font-size:22px}#fishing-status{min-height:46px;margin:12px 0;font-family:Georgia,serif;font-size:16px;line-height:1.4}.fishing-water{background:linear-gradient(170deg,#88d9d2,#378eb3);border-radius:14px;place-items:center;height:116px;display:grid;position:relative;overflow:hidden}.fishing-ripple{opacity:.45;border:3px solid #d9fcf2;border-radius:50%;width:40px;height:40px;animation:1.9s ease-out infinite fish-ripple;box-shadow:0 0 0 9px #a6ecdb45,0 0 0 18px #e5fff42b}.fishing-bobber{background:linear-gradient(#ef6248 50%,#fffdf1 50%);border:2px solid #fff;border-radius:50%;width:20px;height:20px;transition:transform .12s;position:absolute;top:calc(50% - 11px);left:calc(50% - 10px);box-shadow:0 3px 5px #12587040}.is-waiting .fishing-bobber{animation:1.2s infinite fish-float}.is-biting .fishing-ripple{background:#f8e5a258;border-color:#fff;animation:.38s infinite fish-ripple;box-shadow:0 0 0 13px #fff9de85,0 0 0 31px #fff9de65}.is-biting .fishing-bobber{animation:.22s infinite fish-bite}.fishing-score{color:#40645f;flex-wrap:wrap;justify-content:space-between;gap:5px;margin:13px 0;font-size:11px;display:flex}.fishing-score strong{color:#24483c;margin-top:3px;font-size:17px;display:block}.fishing-actions{gap:8px;display:flex}.fishing-actions button{color:#fff;background:#376b5c;border-radius:20px;flex:1;padding:13px 12px;font-size:13px;font-weight:700}.fishing-actions button:last-child{background:#dc7c58}.fishing-actions button:disabled{opacity:.4;cursor:not-allowed}.fishing-tip{color:#55756e;margin:14px 0 0;font-size:11px;line-height:1.5}#boat-exit{z-index:11;color:#28574e;background:#fff7e8;border-radius:25px;padding:12px 20px;font-weight:700;position:fixed;bottom:104px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #102b2940}#boat-exit[hidden]{display:none!important}@keyframes fish-ripple{0%{opacity:.9;transform:scale(.65)}to{opacity:.1;transform:scale(1.6)}}@keyframes fish-float{50%{transform:translateY(5px)}}@keyframes fish-bite{50%{transform:translateY(12px)rotate(12deg)}}@media (max-width:700px){#fishing-minigame{width:auto;padding:14px;bottom:15px;left:14px;right:14px}#fishing-status{min-height:28px;font-size:15px}.fishing-water{height:80px}.fishing-tip{font-size:10px}#boat-exit{bottom:115px}}@media (prefers-reduced-motion:reduce){.fishing-ripple,.fishing-bobber{animation:none!important}}#fishing-minigame.fishing-v2{background:#fff9e9eb;border-radius:16px;width:min(315px,100vw - 26px);max-height:72vh;padding:13px 15px;bottom:16px;left:auto;right:20px;overflow:auto;box-shadow:0 8px 32px #143c3f40}.fishing-v2 .fishing-heading{letter-spacing:1px;font-size:10px}.fishing-v2 #fishing-close{width:28px;height:28px;font-size:19px}.fishing-v2 #fishing-status{color:#315b58;min-height:0;margin:8px 0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.5}.fishing-v2 .fishing-water{display:none!important}.fishing-v2 .fishing-score{margin:8px 0 10px;font-size:10px}.fishing-v2 .fishing-score strong{margin-top:1px;font-size:15px}.fishing-v2 .fishing-actions button{padding:10px 6px;font-size:12px}.fishing-v2 .fishing-tip{margin:8px 0 0;font-size:10px;line-height:1.45}#fishing-result[hidden]{display:none!important}#fishing-result{background:#f0f4e7;border:1px solid #c4d4bd;border-radius:12px;flex-direction:column;gap:7px;margin-top:12px;padding:12px;display:flex}#fishing-result h3{color:#286353;margin:0;font-family:Georgia,serif;font-size:18px}#fishing-result p{color:#315c52;margin:0;font-size:11px;line-height:1.4}#fishing-result input{color:#194d47;font:inherit;background:#fff;border:1px solid #aec6b9;border-radius:9px;padding:9px 10px;font-size:12px}#fishing-result button{color:#fff;background:#326e61;border-radius:10px;padding:10px;font-size:11px;font-weight:700}#fishing-result button:disabled{opacity:.7}.fishing-local-board{color:#2d6157;gap:4px;font-size:11px;line-height:1.4;display:grid}@media (max-width:700px){#fishing-minigame.fishing-v2{width:min(285px,100vw - 20px);max-height:55vh;padding:10px 12px;bottom:8px;left:auto;right:10px}#fishing-minigame.fishing-v2 .fishing-tip,#fishing-minigame.fishing-v2 .fishing-heading{font-size:9px}#boat-exit{bottom:95px}}#fishing-reel[hidden]{display:none!important}#fishing-reel{background:#e8f0e5;border:1px solid #c4d8c7;border-radius:11px;margin:11px 0 5px;padding:10px}.reel-label{color:#365d54;justify-content:space-between;gap:6px;margin:5px 0;font-size:10px;font-weight:700;display:flex}.reel-track{background:linear-gradient(90deg,#e7a178 0 34%,#70af7d 34% 72%,#d8755f 72% 100%);border:2px solid #fff8ed;border-radius:20px;height:17px;position:relative}.reel-zone{border-left:1px solid #fff9;border-right:1px solid #fff9;width:38%;height:100%;position:absolute;left:34%}#fishing-tension-marker{background:#1e4845;border-radius:4px;width:5px;transition:left 40ms linear;position:absolute;top:-5px;bottom:-5px;left:44%;transform:translate(-50%);box-shadow:0 0 0 2px #fff9ed}.reel-progress{background:#d7e2d3;border-radius:9px;height:8px;margin-top:5px;overflow:hidden}#fishing-progress-fill{background:#4b9272;border-radius:9px;width:0;height:100%;display:block}#fishing-minigame.fishing-v2 #fishing-reel .fishing-tip{font-size:10px}.fishing-bite-signal{color:#2b5b50;background:#eff5ec;border:1px solid #c2d6ca;border-radius:12px;flex-direction:column;gap:5px;margin:9px 0;padding:10px;display:flex}#fishing-stage{letter-spacing:.035em;font-size:12px;font-weight:800}#fishing-stage-help{font-size:10px;line-height:1.4}.bite-meter{background:#d8e7db;border-radius:8px;height:8px;overflow:hidden}#fishing-bite-fill{background:#60a77a;width:0;height:100%;transition:width 80ms linear;display:block}.fishing-bite-signal[data-phase=waiting]{background:#eff5ec}.fishing-bite-signal[data-phase=waiting] .bite-meter{background:repeating-linear-gradient(90deg,#b3d6bf 0 15px,#dfeee4 15px 25px)}.fishing-bite-signal[data-phase=bite]{background:#ffecce;border-color:#ebaa62;animation:.24s ease-in-out infinite alternate fishing-bite-pulse}.fishing-bite-signal[data-phase=bite] #fishing-stage{color:#a64721;font-size:15px}.fishing-bite-signal[data-phase=bite] #fishing-bite-fill{background:#ef854a}.fishing-bite-signal[data-phase=reeling]{background:#e5f2e7;border-color:#9abfa3}@keyframes fishing-bite-pulse{to{box-shadow:0 0 0 3px #ef995055}}@media (prefers-reduced-motion:reduce){.fishing-bite-signal{animation:none!important}}body>#fishing-result[hidden]{display:none!important}body>#fishing-result{z-index:35;text-align:center;background:#fff9e9;border:2px solid #e5ca95;border-radius:22px;flex-direction:column;align-items:stretch;gap:9px;width:min(420px,100vw - 30px);max-height:calc(100dvh - 34px);padding:22px 24px;display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 10px #aa875333,0 24px 80px #122f3690}body>#fishing-result h3{color:#24675a;margin:0;font-family:Georgia,serif;font-size:23px;line-height:1.25}body>#fishing-result .catch-art{border-radius:14px;width:100%;overflow:hidden;box-shadow:0 3px 14px #234c5433}body>#fishing-result .catch-art svg{width:100%;height:auto;max-height:220px;display:block}body>#fishing-result p{color:#36615b;margin:0;font-size:13px;line-height:1.4}body>#fishing-result .catch-art-caption{color:#637d74;font-size:11px;font-style:italic}body>#fishing-result input{font:inherit;background:#fff;border:1px solid #b9c8b7;border-radius:10px;padding:11px}body>#fishing-result button{color:#fff;background:#37745d;border-radius:12px;padding:12px;font-size:13px;font-weight:700}body>#fishing-result .catch-continue{color:#27554b;background:#e7ebdc}body>#fishing-result button:disabled{opacity:.55}body>#fishing-result .fishing-local-board{text-align:left;max-height:95px;overflow:auto}@media (max-width:700px){body>#fishing-result{gap:6px;width:min(345px,100vw - 22px);padding:14px 16px;top:48%}body>#fishing-result h3{font-size:18px}body>#fishing-result .catch-art svg{max-height:155px}body>#fishing-result p{font-size:11px}}#fishing-leaderboard-toggle{color:#29594e;text-align:center;background:#e6eee3;border-radius:12px;width:100%;margin:9px 0 0;padding:10px 12px;font-size:12px;font-weight:700}#fishing-leaderboard-toggle[aria-expanded=true]{background:#d2e5d8}#fishing-leaderboard-list[hidden]{display:none!important}#fishing-leaderboard-list{background:#fffdf4;border:1px solid #d5e3d5;border-radius:10px;max-height:165px;margin:9px 0;padding:7px 10px;overflow-y:auto}.fishing-leaderboard-entry{border-bottom:1px solid #e3e9dd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.fishing-leaderboard-entry:last-child{border-bottom:none}.fishing-leaderboard-entry strong{color:#31594d;font-size:11px}.fishing-leaderboard-entry span{color:#55776a;font-size:10px}body>#fishing-result .catch-art{aspect-ratio:320/212;min-height:0;overflow:hidden;flex:none!important;width:100%!important;height:auto!important;max-height:none!important}body>#fishing-result .catch-art svg{aspect-ratio:320/212;object-fit:contain;width:100%!important;height:100%!important;max-height:none!important;display:block!important}body>#fishing-result>:not(.catch-art){flex-shrink:0}@media (max-width:700px){body>#fishing-result .catch-art{aspect-ratio:320/212}body>#fishing-result .catch-art svg{max-height:none!important}body>#fishing-minigame.fishing-v2{border-radius:15px!important;width:auto!important;max-width:none!important;max-height:min(43dvh,280px)!important;padding:8px 12px 9px!important;position:fixed!important;inset:auto 8px 8px!important;overflow-y:auto!important;box-shadow:0 5px 24px #143c3f45!important}#fishing-minigame.fishing-v2 .fishing-heading{letter-spacing:.4px;min-height:18px;font-size:10px}#fishing-minigame.fishing-v2 #fishing-close{width:25px;height:25px;font-size:16px}#fishing-minigame.fishing-v2 #fishing-status,#fishing-minigame.fishing-v2 .fishing-score,#fishing-minigame.fishing-v2>.fishing-tip{display:none!important}#fishing-minigame.fishing-v2 .fishing-bite-signal{gap:3px;margin:5px 0!important;padding:5px 8px!important}#fishing-minigame.fishing-v2 #fishing-stage{font-size:11px}#fishing-minigame.fishing-v2 #fishing-stage-help{display:none}#fishing-minigame.fishing-v2 .bite-meter{height:6px}#fishing-minigame.fishing-v2 .fishing-actions{gap:6px}#fishing-minigame.fishing-v2 .fishing-actions button{min-height:35px;padding:8px 6px!important;font-size:12px!important}#fishing-minigame.fishing-v2 #fishing-leaderboard-toggle{margin:5px 0 0;padding:5px 8px;font-size:10px}#fishing-minigame.fishing-v2 #fishing-reel{margin:5px 0!important;padding:6px 8px!important}#fishing-minigame.fishing-v2 #fishing-reel .fishing-tip{display:none}#fishing-minigame.fishing-v2 .reel-label{margin:3px 0;font-size:9px}#fishing-minigame.fishing-v2 .reel-track{height:13px}#fishing-minigame.fishing-v2 .reel-progress{height:6px;margin-top:3px}#fishing-minigame.fishing-v2 #fishing-leaderboard-list{max-height:90px}}@media (max-width:700px) and (max-height:620px){body>#fishing-minigame.fishing-v2{max-height:45dvh!important}}#seaplane-menu,#seaplane-result{z-index:35;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#12383f99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}#seaplane-menu[hidden],#seaplane-result[hidden],#seaplane-hud[hidden]{display:none!important}.seaplane-dialog{color:#214c4c;text-align:center;background:linear-gradient(155deg,#fffdf0,#def5e9);border:2px solid #b6e8d4;border-radius:24px;width:min(520px,100%);max-height:90dvh;padding:26px;overflow-y:auto;box-shadow:0 20px 70px #102c3690}.flight-eyebrow{letter-spacing:.19em;color:#4c8178;font-size:10px;font-weight:900}.seaplane-dialog h2{margin:9px 0 8px;font-family:inherit;font-size:clamp(25px,4vw,36px)}.seaplane-dialog p{font-size:14px;line-height:1.6}.flight-choices{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 16px;display:grid}.flight-choices button,.seaplane-dialog #flight-again{color:#fff;cursor:pointer;background:#237c75;border:0;border-radius:16px;padding:16px;box-shadow:0 6px 14px #183b3633}.flight-choices button:hover,.seaplane-dialog #flight-again:hover{background:#145b57}.flight-choices b,.flight-choices small{display:block}.flight-choices b{font-size:16px}.flight-choices small{margin-top:6px;font-size:11px;line-height:1.4}.flight-cancel{color:#215e58;cursor:pointer;background:#f9fff9;border:1px solid #9ac8bc;border-radius:999px;margin-left:8px;padding:11px 18px}#seaplane-hud{z-index:12;color:#1e514f;text-align:center;background:#fffdf2ec;border:1px solid #bedfd3;border-radius:18px;width:min(520px,100vw - 20px);padding:13px 16px;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #123c3950}#seaplane-hud .flight-top{justify-content:space-between;align-items:center;gap:12px;display:flex}#seaplane-hud .flight-top strong{letter-spacing:.1em;font-size:13px}#seaplane-hud #flight-land{color:#fff;cursor:pointer;background:#2f7e76;border:0;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700}#flight-score{font-variant-numeric:tabular-nums;margin:9px 0 5px;font-size:14px;font-weight:800}#flight-hint{color:#426d68;font-size:11px;line-height:1.55}.flight-touch{display:none}@media (max-width:700px){#seaplane-hud{width:calc(100vw - 16px);max-height:42dvh;padding:10px;top:auto;bottom:12px;overflow:auto}#seaplane-hud .flight-top strong{font-size:11px}#flight-hint{font-size:9px}.flight-choices{grid-template-columns:1fr}.flight-touch{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px;display:grid}.flight-touch button{color:#26564e;touch-action:none;background:#f4fbe8;border:1px solid #b3cfbf;border-radius:9px;padding:10px 5px;font-size:11px;font-weight:700}.flight-touch button:active{background:#b9ead8}#seaplane-hud:not([hidden])~#touch-controls{display:none}}body.seaplane-flying #touch-controls,body.seaplane-flying #prompt,body.seaplane-flying #boat-exit{display:none!important}#flight-register{text-align:left;gap:9px;margin:18px 0 9px;display:grid}#flight-register label{color:#30655d;font-size:12px;font-weight:800}#flight-register input{width:100%;font:inherit;color:#174b48;background:#fff;border:1px solid #a5ccc3;border-radius:12px;padding:11px 13px;font-size:15px}#flight-register button,#flight-global-result{color:#fff;cursor:pointer;background:#237c75;border:0;border-radius:14px;padding:12px 16px;font-weight:800}#flight-register button:disabled{opacity:.55;cursor:progress}.flight-submit-status{color:#496f66;font-size:12px!important}#flight-global-result{margin:4px 7px 11px 0}.flight-rankings-backdrop{z-index:42;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#153c43a8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.flight-leaders{text-align:left;max-height:50dvh;margin:16px 0;padding-left:24px;list-style:decimal;overflow:auto}.flight-leaders li{border-bottom:1px solid #a8c9bf;padding:9px 4px}.flight-leaders strong{color:#234f47;display:block}.flight-leaders span{color:#4b776f;font-size:12px}#zomby-label{z-index:3;pointer-events:none;color:#e9e6c5;letter-spacing:.12em;white-space:nowrap;text-shadow:0 2px 5px #0007;background:#192b29dd;border:1px solid #a3bd94;border-radius:9px;padding:5px 10px;font-size:10px;font-weight:900;position:fixed;transform:translate(-50%,-50%)}#zomby-label[hidden],#zombie-modal[hidden],#zombie-results[hidden],#zombie-hud[hidden],#zombie-touch[hidden]{display:none!important}#zombie-modal,#zombie-results{z-index:45;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#101f20b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.zombie-dialog{color:#f4e9d1;text-align:center;background:linear-gradient(145deg,#283a34,#142b2a);border:2px solid #7e9778;border-radius:21px;width:min(520px,100%);padding:27px;box-shadow:0 17px 60px #07110ec2}.zombie-dialog>span{letter-spacing:.19em;color:#b8d1a0;font-size:11px;font-weight:900}.zombie-dialog h2{margin:12px 0;font-size:clamp(26px,5vw,37px)}.zombie-dialog p{color:#e2dfcf;font-size:14px;line-height:1.6}.zombie-menu-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.zombie-menu-actions button{color:#172b25;background:#a4bd84;border-radius:13px;padding:12px 17px;font-weight:900}.zombie-menu-actions button:last-child{color:#fff;background:#4c5a54}#zombie-hud{z-index:15;color:#f0f0d3;text-align:center;background:#182923ed;border:1px solid #8daa85;border-radius:14px;width:min(570px,100vw - 24px);padding:11px 15px;position:fixed;top:78px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #091a1ab8}.zombie-hud-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.zombie-hud-top strong{letter-spacing:.09em;font-size:13px}#zombie-quit{color:#fff;background:#657363;border-radius:10px;padding:7px 10px;font-size:11px}#zombie-status{margin-top:9px;font-size:14px;font-weight:900}#zombie-arsenal{color:#c9d8b9;margin-top:5px;font-size:11px}.zombie-instructions{color:#b7c1ae;margin-top:7px;font-size:10px}#zombie-touch{display:none}body.zombie-playing #prompt,body.zombie-playing #boat-exit,body.zombie-playing #seaplane-hud{display:none!important}@media (max-width:700px){body.zombie-playing #touch-controls{z-index:20;visibility:visible!important;display:flex!important}body.zombie-playing #touch-interact{display:none!important}#zombie-hud{width:calc(100vw - 16px);padding:10px;top:80px}#zombie-status{font-size:12px}#zombie-arsenal{font-size:9px;line-height:1.5}.zombie-instructions{display:none}#zombie-touch:not([hidden]){z-index:23;pointer-events:none;align-items:end;gap:8px;display:flex;position:fixed;bottom:13px;right:10px}#zombie-aimpad{color:#f8f4d6;touch-action:none;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#2e474ac9;border:1px solid #def0d6aa;border-radius:50%;place-items:center;width:84px;height:84px;font-size:12px;font-weight:900;display:grid}#zombie-fire,#zombie-switch{color:#fff;pointer-events:auto;touch-action:none;background:#9d564a;border-radius:16px;min-width:56px;height:54px;padding:10px 6px;font-size:11px;font-weight:900}#zombie-switch{background:#5c7861}body.zombie-playing #map{bottom:172px}}#zombie-pickup-hint{color:#f1d68e;margin-top:7px;font-size:12px;font-weight:800;line-height:1.45}.zombie-weapon-marker{z-index:13;pointer-events:none;color:#faf4d4;white-space:nowrap;text-shadow:0 2px 5px #0009;background:#243b34ed;border:1px solid #e6ce85;border-radius:10px;padding:7px 10px;font-size:11px;font-weight:900;position:fixed;transform:translate(-50%,-100%);box-shadow:0 3px 16px #0008}.zombie-weapon-marker[hidden]{display:none!important}@media (max-width:700px){#zombie-pickup-hint{font-size:10px}.zombie-weapon-marker{white-space:normal;text-align:center;max-width:42vw;padding:5px 7px;font-size:9px}}body.zombie-playing #zombie-hud{text-align:left;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#162924df;border-radius:13px;width:min(270px,100vw - 28px);padding:9px 11px;top:112px;left:14px;right:auto;transform:none;box-shadow:0 4px 18px #0b19194f}body.zombie-playing .zombie-hud-top strong{font-size:11px}body.zombie-playing #zombie-status{margin-top:5px;font-size:12px;line-height:1.35}body.zombie-playing #zombie-arsenal{margin-top:4px;font-size:10px}body.zombie-playing .zombie-instructions{margin-top:4px;font-size:9px;line-height:1.35}body.zombie-playing #zombie-pickup-hint{margin-top:5px;font-size:10px;line-height:1.35}#zombie-weapon-buttons{flex-wrap:wrap;gap:4px;max-height:78px;margin-top:6px;display:flex;overflow:auto}#zombie-weapon-buttons button{color:#e8eacf;cursor:pointer;background:#3c554a;border:1px solid #879f84;border-radius:7px;padding:5px 7px;font-size:10px;line-height:1.2}#zombie-weapon-buttons button.selected{color:#172c25;background:#a8c17b;border-color:#f7e8aa;font-weight:900}#zombie-crosshair{z-index:9;pointer-events:none;filter:drop-shadow(0 1px 2px #000c);border:2px solid #fff8c6;border-radius:50%;width:29px;height:29px;position:fixed;transform:translate(-50%,-50%)}#zombie-crosshair:before,#zombie-crosshair:after{content:"";background:#fff8c6;position:absolute;box-shadow:0 1px 2px #0009}#zombie-crosshair:before{width:2px;height:39px;top:-7px;left:12px}#zombie-crosshair:after{width:39px;height:2px;top:12px;left:-7px}#zombie-crosshair span{background:#182b2b80;border:2px solid #b3ef89;border-radius:50%;position:absolute;inset:10px}#zombie-crosshair[hidden]{display:none!important}#zombie-map-weapons circle{filter:drop-shadow(0 0 2px #fbe367);pointer-events:none}@media (max-width:700px){body.zombie-playing #zombie-hud{width:min(207px,100vw - 150px);padding:7px 8px;top:92px;left:8px}body.zombie-playing #zombie-status{font-size:10px}body.zombie-playing #zombie-arsenal{font-size:9px}body.zombie-playing #zombie-quit{padding:5px 7px;font-size:9px}body.zombie-playing .zombie-instructions{display:none}body.zombie-playing #zombie-pickup-hint{font-size:9px}#zombie-weapon-buttons{gap:4px;max-height:62px}#zombie-weapon-buttons button{padding:5px;font-size:9px}#zombie-crosshair{width:25px;height:25px}#zombie-crosshair:before{left:10px}#zombie-crosshair:after{top:10px}}@media (hover:hover) and (pointer:fine){body.zombie-playing #world{cursor:none}}@media (max-width:820px){body.zombie-playing #zombie-hud{z-index:18;max-height:38dvh;overflow-y:auto;top:calc(env(safe-area-inset-top,0px) + 8px)!important;width:min(265px,100vw - 16px)!important;padding:7px 9px!important;position:fixed!important;bottom:auto!important;left:8px!important;right:auto!important;transform:none!important}body.zombie-playing header .identity{visibility:hidden}body.zombie-playing #zombie-status{margin-top:4px}body.zombie-playing #zombie-weapon-buttons{max-height:60px}}#zombie-modal .zombie-dialog,#zombie-results .zombie-dialog{max-height:min(90dvh,760px);overflow-y:auto}.zombie-register{text-align:left;gap:8px;max-width:365px;margin:19px auto 9px;display:grid}.zombie-register label{color:#d6e6bb;font-size:12px;font-weight:800}.zombie-register input{width:100%;min-width:0;font:inherit;color:#1b302a;background:#f7f7e9;border:1px solid #9aaf9a;border-radius:11px;padding:11px 13px;font-size:15px}.zombie-register button{color:#142c23;background:#a4bd84;border:0;border-radius:11px;padding:12px 14px;font-weight:900}.zombie-register button:disabled{opacity:.6}.zombie-online-status{color:#e4dcb6!important;font-size:12px!important}.zombie-register[hidden],.zombie-rankings[hidden]{display:none!important}.zombie-rankings{color:#f1efdc;text-align:left;background:#112b2b;border:1px solid #81917d;border-radius:13px;margin:16px 0 5px;padding:13px}.zombie-rankings>strong{letter-spacing:.07em;font-size:12px}.zombie-rankings ol{max-height:32dvh;margin:10px 0 0;padding-left:23px;overflow:auto}.zombie-rankings li{border-bottom:1px solid #6d85773d;padding:7px 0;font-size:12px;line-height:1.5}.zombie-rankings li span{color:#d7d9c5;font-variant-numeric:tabular-nums}#zombie-rankings-start,#zombie-rankings-end{color:#f7f3dd;background:#3e6255}@media (max-width:700px){#zombie-modal .zombie-dialog,#zombie-results .zombie-dialog{max-height:91dvh;padding:18px}.zombie-register input{font-size:16px}.zombie-rankings li{font-size:11px}}
