:root{--bg:#0a0a0a;--panel:#0f0f0f;--panel2:rgba(15,15,15,.75);--text:#e8e8e8;--muted:#a8a8a8;--accent:#b80f2a;--line:rgba(255,255,255,.1)}.explorer-hud{position:absolute;z-index:4;top:30px;left:30px;width:300px;padding:22px;border:1px solid #94b5df35;border-radius:16px;background:linear-gradient(145deg,#0b1429eb,#0a0e1fd9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 15px 50px #0003;color:#e8f0ff}.explorer-eyebrow{margin:0 0 17px;color:#a5b9d6;font-size:9px;letter-spacing:.2em;font-weight:750}.explorer-vitals{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:16px}.explorer-vitals strong{font-size:25px;color:#ffd682}.explorer-vitals small{font-size:9px;font-weight:500;letter-spacing:.1em}.health-track{height:4px;margin-top:13px;background:#ffffff20;border-radius:5px;overflow:hidden}.health-track>span{display:block;height:100%;background:linear-gradient(90deg,#53b9aa,#b8e6ac);transition:width .25s}.explorer-objective{font-size:12px;line-height:1.5;color:#c9d4e7;margin:17px 0 13px}.explorer-checklist{display:flex;flex-wrap:wrap;gap:9px 14px;color:#9eabc2;font-size:10px}.explorer-checklist .complete{color:#a6e5bb}.upgrade-badge{display:inline-block;margin-top:12px;color:#ffd682;font-size:8px;letter-spacing:.12em}.plaza-reset{display:block;padding:0;border:0;background:none;color:#91a7c4;font:10px system-ui;margin-top:17px;cursor:pointer}.plaza-reset:hover{color:#fff}.explorer-feedback{position:absolute;z-index:4;bottom:145px;left:50%;transform:translate(-50%);color:#fff1cf;pointer-events:none;text-align:center;width:min(80%,500px);font-size:12px;text-shadow:0 2px 8px #000}.explorer-feedback>span:not(:empty){display:inline-block;padding:9px 16px;border-radius:30px;background:#101629df;border:1px solid #ffd68240}.interaction-prompt{position:absolute;z-index:5;left:50%;bottom:94px;transform:translate(-50%);display:flex;gap:12px;align-items:center;padding:12px 20px;color:#fff5e6;border:1px solid #eac08080;background:#0a1226ed;border-radius:8px;font:12px system-ui;cursor:pointer;box-shadow:0 8px 32px #0004;white-space:nowrap}.interaction-prompt kbd{color:#ffe4ab;border-color:#eac08070}.explorer-action-buttons{position:absolute;right:30px;bottom:70px;z-index:5;display:flex;gap:8px}.explorer-action-buttons button{cursor:pointer;display:flex;align-items:center;gap:8px;border:1px solid #9abbe04d;background:#0d172be8;color:#e8f0ff;border-radius:10px;padding:13px 15px;font:11px system-ui}.explorer-action-buttons .attack-button{background:linear-gradient(135deg,#7e3827ed,#3a1822ed);border-color:#f5a66c70}.explorer-action-buttons kbd{font-size:9px}.is-exploring .world-controls{font-size:8px;gap:10px}.is-exploring .world-status{display:none}.village-label{display:block;padding:6px 10px;border-radius:4px;background:#11182be8;border-top:2px solid var(--label-color);color:#f2eadb;white-space:nowrap;font:600 9px system-ui;letter-spacing:.05em}.duel-status{position:absolute;z-index:4;top:102px;right:30px;display:grid;gap:8px}.duel-status>div{background:#181021db;padding:10px 15px;border:1px solid #e9a08a55;border-radius:8px;display:flex;gap:18px;font-size:10px;color:#ead7cc}.duel-status strong{color:#ffbc84;letter-spacing:4px}.asset-credits-link{position:absolute;right:30px;bottom:25px;z-index:5;color:#ccd6e5;font:9px system-ui;text-decoration:none;opacity:.7}.explorer-debug{position:absolute;top:300px;left:30px;z-index:5;background:#05070de0;color:#9bf7c5;font:11px monospace;padding:8px}.explorer-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-content:center;color:#fff;background:#07101b77;font:14px system-ui;letter-spacing:.08em}.village-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;background:#040817a3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:22px}.village-dialog{position:relative;width:min(470px,100%);max-height:85vh;overflow:auto;border:1px solid #bdcce043;background:linear-gradient(145deg,#142239,#0d1326);padding:36px;border-radius:20px;color:#eef0f8;box-shadow:0 30px 90px #0008}.village-dialog h2{margin:0 0 20px;font:36px Georgia;color:#ffe4b2}.village-dialog>p:not(.explorer-eyebrow){color:#bac8de;font-size:13px;line-height:1.7}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;color:#c6d2e5;font-size:26px;cursor:pointer}.shop-choice{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;text-align:left;border:1px solid #ffd79738;background:#ffffff06;border-radius:10px;color:#f1e4cc;padding:15px;margin:12px 0;cursor:pointer}.shop-choice:hover{background:#ffc77d12;border-color:#ffd79780}.shop-choice strong{display:block;font-size:12px}.shop-choice small{display:block;margin-top:6px;color:#a4b5ce;font-size:10px;line-height:1.5}.shop-choice b{color:#ffda86;white-space:nowrap;font-size:13px}.shop-balance span{display:block;color:#ffda86}.dialog-done{margin-top:14px;padding:12px 17px;border:1px solid #a8b9d94d;border-radius:8px;background:#d9e8fc12;color:#e9f2ff;cursor:pointer}.touch-movement{display:none}.explorer-hud button:focus-visible,.explorer-action-buttons button:focus-visible,.interaction-prompt:focus-visible,.village-dialog button:focus-visible{outline:2px solid #8deaff;outline-offset:4px}@media (max-width:760px){.explorer-hud{top:16px;left:16px;width:220px;padding:15px}.explorer-eyebrow{font-size:7px;letter-spacing:.14em;margin-bottom:10px}.explorer-vitals strong{font-size:20px}.explorer-objective{font-size:10px}.explorer-checklist{font-size:9px}.is-exploring .world-actions{right:12px;top:16px}.explorer-action-buttons{right:15px;bottom:80px;flex-direction:column}.explorer-action-buttons button{padding:12px}.interaction-prompt{font-size:10px;bottom:205px;max-width:90%;white-space:normal;width:max-content}.explorer-feedback{bottom:260px;font-size:10px}.is-exploring .world-controls{display:none}.asset-credits-link{right:15px;bottom:15px}.touch-movement{display:grid;position:absolute;z-index:5;bottom:60px;left:18px;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:5px;touch-action:none}.touch-movement button{border:1px solid #a6bed655;border-radius:9px;background:#111b31e6;color:#e3efff;font-size:19px;touch-action:none;-webkit-user-select:none;user-select:none}.move-w{grid-column:2}.move-a{grid-column:1;grid-row:2}.move-s{grid-column:2;grid-row:2}.move-d{grid-column:3;grid-row:2}.duel-status{top:240px;right:15px}.village-dialog{padding:27px}.explorer-debug{top:230px;left:15px;font-size:9px}}@media (pointer:coarse) and (min-width:761px){.touch-movement{display:grid;position:absolute;z-index:5;bottom:90px;left:30px;grid-template-columns:repeat(3,42px);gap:5px}.touch-movement button{padding:12px;border:1px solid #8db6dd66;background:#101a30dd;color:#fff;touch-action:none}.move-w{grid-column:2}.move-a{grid-column:1;grid-row:2}.move-s{grid-column:2;grid-row:2}.move-d{grid-column:3;grid-row:2}}@media (max-width:760px){.is-exploring,.is-exploring .world-canvas{touch-action:none;overscroll-behavior:none}.explorer-hud{top:12px;left:12px;width:min(205px,calc(100vw - 154px));padding:12px;border-radius:15px}.explorer-vitals{gap:6px;font-size:14px}.explorer-vitals strong{font-size:18px}.explorer-vitals small{font-size:7px;letter-spacing:.04em}.explorer-objective{display:none}.explorer-checklist{margin-top:10px;gap:6px}.plaza-reset{margin-top:9px}.is-exploring .world-actions{top:12px;right:10px}.explorer-action-buttons{right:12px;bottom:66px;gap:8px}.explorer-action-buttons button{min-width:96px;min-height:48px;padding:10px 13px;justify-content:center}.explorer-action-buttons kbd,.interaction-prompt kbd{display:none}.touch-movement{bottom:58px;left:12px;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,46px);gap:6px}.touch-movement button{min-width:46px;min-height:46px;font-size:21px;background:#0d172de8;box-shadow:0 8px 24px #02071359}.interaction-prompt{bottom:178px;max-width:calc(100vw - 28px);padding:12px 16px}.explorer-feedback{bottom:228px;max-width:calc(100vw - 30px)}.asset-credits-link{font-size:7px;opacity:.65}.village-label{font-size:8px}.duel-status{top:205px}}@media (max-width:380px){.explorer-hud{width:190px}.explorer-checklist span:nth-child(2){display:none}.explorer-action-buttons button{min-width:88px}.touch-movement{grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,43px)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text);overflow-x:hidden}.experience-shell{position:relative;width:100%;height:100vh;height:100svh;height:100dvh;min-height:600px;overflow:hidden;isolation:isolate;background:#91d6ef;transition:background-color .45s ease}.experience-shell.theme-dark{background:#070d22}.world-canvas{position:absolute!important;top:0;right:0;bottom:0;left:0;z-index:0}.world-loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-rows:1fr auto auto;align-items:end;padding:clamp(28px,6vw,76px);overflow:hidden;color:#f8fbff;background:linear-gradient(120deg,#050c1ceb 4%,#08142a99,#1026413d),linear-gradient(180deg,transparent 45%,rgba(4,9,22,.88) 100%),url(/images/dragon-village-loader.jpg) center/cover no-repeat;transition:opacity .65s ease,visibility .65s ease}.world-loader:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 72% 38%,rgba(255,219,153,.22),transparent 23%),linear-gradient(115deg,transparent 46%,rgba(148,221,255,.12) 46.2%,transparent 46.7%);animation:loader-breathe 4s ease-in-out infinite alternate}.world-loader.is-ready{opacity:0;visibility:hidden;pointer-events:none}.world-loader-art{position:absolute;top:clamp(24px,5vw,60px);left:clamp(24px,6vw,76px);display:grid;width:clamp(82px,10vw,126px);aspect-ratio:1;place-items:center}.world-loader-mark{display:grid;width:41%;aspect-ratio:1;place-items:center;border:1px solid rgba(255,233,190,.72);border-radius:50%;background:#060f2157;box-shadow:0 0 65px #76d6ff33,inset 0 0 28px #ffe1ac14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff1d0;font:500 clamp(20px,3vw,36px)/1 Georgia,serif;letter-spacing:.12em;text-indent:.12em}.world-loader-orbit{position:absolute;top:9%;right:9%;bottom:9%;left:9%;border:1px solid rgba(166,221,255,.23);border-radius:50%;animation:loader-orbit 8s linear infinite}.world-loader-orbit:after{content:"";position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:#ffd99a;box-shadow:0 0 18px #ffcb78}.world-loader-orbit-two{top:21%;right:21%;bottom:21%;left:21%;animation-direction:reverse;animation-duration:5s;border-color:#ffe0b142}.world-loader-orbit-two:after{top:18%;left:auto;right:-3px;width:6px;height:6px;background:#81ddff;box-shadow:0 0 15px #6dd6ff}.world-loader-copy,.world-loader-progress{position:relative;width:min(620px,100%)}.world-loader-copy p{margin:0 0 10px;color:#8fe2ff;font-size:9px;font-weight:800;letter-spacing:.32em;text-transform:uppercase}.world-loader-copy h1{margin:0;color:#fff5df;font:400 clamp(36px,6vw,78px)/.96 Georgia,serif;letter-spacing:-.025em}.world-loader-copy>span{display:block;margin-top:14px;color:#e1ecf9b8;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.world-loader-progress{margin-top:clamp(26px,5vh,52px)}.world-loader-track{height:2px;overflow:hidden;background:#ffffff29}.world-loader-track span{display:block;height:100%;background:linear-gradient(90deg,#79dfff,#ffd391);box-shadow:0 0 14px #6fd8ffbf;transition:width .35s ease}.world-loader-meta{display:flex;justify-content:space-between;margin-top:12px;color:#e5effaad;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}@keyframes loader-orbit{to{transform:rotate(360deg)}}@keyframes loader-breathe{0%{opacity:.55;transform:scale(1)}to{opacity:1;transform:scale(1.025)}}@media (max-width:760px){.world-loader{padding:28px 24px 36px;background-position:66% center}.world-loader-art{top:22px;left:22px;width:76px}.world-loader-copy h1{max-width:320px;font-size:clamp(38px,12vw,58px)}.world-loader-progress{margin-top:32px}}.village-entry{position:absolute;z-index:4;left:50%;bottom:0;display:grid;grid-template-columns:68px 1fr 32px;align-items:center;width:min(350px,calc(100vw - 32px));min-height:76px;padding:11px 14px 10px 11px;border:1px solid rgba(126,214,255,.34);border-bottom:0;border-radius:25px 25px 0 0;background:linear-gradient(105deg,#081226f0 5%,#122b41db 62%,#4a2b2ac7),url(/images/dragon-village-loader.jpg) 72% center/cover no-repeat;box-shadow:0 -12px 38px #07132757,inset 0 1px #c4ebff29;color:#f7f4e9;text-align:left;transform:translate(-50%);cursor:pointer;-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);transition:transform .25s ease,box-shadow .25s ease}.village-entry:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,transparent 44%,rgba(255,154,87,.08))}.village-entry:hover{transform:translate(-50%) translateY(-4px);box-shadow:0 -17px 45px #05112675,0 0 26px #ff7e441f}.village-entry:focus-visible{outline:3px solid #78dcff;outline-offset:4px}.village-entry-image{position:relative;width:58px;height:50px;overflow:hidden;border:1px solid rgba(147,224,255,.24);border-radius:14px;box-shadow:0 7px 20px #030a1a6b}.village-entry-image img{width:100%;height:100%;object-fit:cover;object-position:72% center;display:block}.village-entry-image>span{position:absolute;left:6px;top:6px;padding:4px 6px;border-radius:999px;background:#050c1fc7;color:#9fe8ff;font-size:6px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.village-entry-copy{position:relative;z-index:1;display:grid;gap:5px;padding-left:4px;text-transform:uppercase}.village-entry-copy small{color:#9bb9c9;font-size:6px;font-weight:750;letter-spacing:.18em}.village-entry-copy strong{font:400 22px/1 Georgia,serif;letter-spacing:.015em;text-transform:none;text-shadow:0 2px 12px rgba(0,0,0,.5)}.village-entry-arrow{position:relative;z-index:1;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(151,223,255,.28);border-radius:50%;background:#3065846b;color:#fff;font-size:14px;box-shadow:0 0 16px #5cc9ff1f;transition:transform .25s ease,background-color .25s ease}.village-entry:hover .village-entry-arrow{transform:rotate(45deg)}.theme-dark .village-entry{border-color:#74daff47;background:linear-gradient(105deg,#04091bf5,#131c45e6 60%,#3d1d53d6),url(/images/dragon-village-loader.jpg) 72% center/cover no-repeat;box-shadow:0 -14px 44px #0000007a,0 0 28px #5163ff1a,inset 0 1px #8cdfff1f}.theme-dark .village-entry:before{background:linear-gradient(90deg,transparent 42%,rgba(114,92,255,.1))}.theme-dark .village-entry-copy small{color:#8fcde3}.theme-dark .village-entry-arrow{border-color:#7ed8ff4d;background:linear-gradient(135deg,#276f99a6,#5e378cad);box-shadow:0 0 18px #6289ff2e}@media (max-width:700px){.village-entry{grid-template-columns:60px 1fr 30px;width:min(310px,calc(100vw - 24px));min-height:69px;padding:9px 11px 8px 9px;border:1px solid rgba(126,214,255,.34);border-radius:22px;bottom:calc(72px + env(safe-area-inset-bottom,0px))}.village-entry-image{width:52px;height:45px;border-radius:12px}.village-entry-copy strong{font-size:20px}.village-entry-copy small{font-size:6px}.experience-shell:not(.is-exploring) .world-controls,.experience-shell:not(.is-exploring) .world-status{display:none}}@media (prefers-reduced-motion:reduce){.world-loader:before,.world-loader-orbit{animation:none}.world-loader,.world-loader-track span{transition-duration:.01ms}}.experience-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(238,247,255,.16) 0%,transparent 25%,transparent 72%,rgba(10,16,31,.32) 100%),radial-gradient(circle at 50% 45%,transparent 52%,rgba(16,25,47,.12) 100%)}.experience-shell.theme-dark:after{background:linear-gradient(180deg,rgba(3,7,20,.38) 0%,transparent 30%,transparent 66%,rgba(2,4,14,.58) 100%),radial-gradient(circle at 50% 45%,transparent 42%,rgba(2,4,14,.26) 100%)}.world-header{position:absolute;z-index:2;top:clamp(22px,4vw,48px);left:clamp(22px,5vw,72px);pointer-events:none;text-transform:uppercase;text-shadow:0 2px 18px rgba(255,255,255,.28);transition:opacity .35s ease,transform .35s ease}.is-exploring .world-header{opacity:0;transform:translateY(-12px)}.world-kicker{margin-bottom:7px;color:#9c5f28;font-size:10px;font-weight:700;letter-spacing:.28em}.world-header h1{margin:0;color:#16223c;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,5vw,64px);font-weight:400;letter-spacing:.075em;line-height:.9}.world-header p{margin:13px 0 0;color:#1d2b48b8;font-size:10px;letter-spacing:.18em}.theme-dark .world-kicker{color:#74dfff}.theme-dark .world-header h1{color:#f0f5ff;text-shadow:0 3px 28px rgba(0,0,0,.72)}.theme-dark .world-header p{color:#d6e2ffb8}.world-actions{position:absolute;z-index:3;top:clamp(20px,3vw,38px);right:clamp(20px,4vw,56px);display:flex;gap:8px;pointer-events:auto}.world-action{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid rgba(22,34,60,.2);border-radius:999px;background:#f0f7ffad;box-shadow:0 10px 30px #12213e1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#182541;font:700 9px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.world-action:hover{transform:translateY(-1px);border-color:#16223c6b;background:#f8fbffdb}.world-action:focus-visible{outline:2px solid #78dfff;outline-offset:3px}.world-action-primary{border-color:#9c5f285c;background:#16223ce0;color:#fff8eb}.world-action-primary:hover{background:#16223cfa}.world-action-icon{display:grid;width:18px;height:18px;place-items:center;font-size:15px;line-height:1}.theme-dark .world-action{border-color:#7ed8ff38;background:#050a1d9e;box-shadow:0 12px 32px #0000003d;color:#dce9ff}.theme-dark .world-action:hover{border-color:#7ed8ff80;background:#08102adb}.theme-dark .world-action-primary{border-color:#7ed8ff6b;background:linear-gradient(135deg,#234f8adb,#4a2c80d6);color:#fff}.world-controls{position:absolute;z-index:2;left:clamp(22px,5vw,72px);bottom:clamp(22px,4vw,42px);display:flex;gap:18px;align-items:center;color:#d0d8e9a6;font-size:10px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.experience-shell:not(.is-exploring) .world-controls{bottom:104px}.world-controls span{display:flex;gap:5px;align-items:center}.world-controls kbd{min-width:22px;padding:4px 6px;border-color:#e9b96e47;border-radius:3px;background:#0609148f;color:#f7f2e8d1;text-align:center}.world-status{position:absolute;z-index:2;right:clamp(22px,5vw,72px);bottom:clamp(22px,4vw,42px);display:flex;gap:8px;align-items:center;color:#d0d8e98c;font-size:9px;letter-spacing:.16em;text-transform:uppercase;pointer-events:none}.world-status-dot{width:5px;height:5px;border-radius:50%;background:#74e5ad;box-shadow:0 0 12px #74e5ad}.theme-dark .world-status-dot{background:#74dfff;box-shadow:0 0 14px #40cfff}@media (max-width: 700px){.experience-shell{min-height:520px}.world-header{top:20px;left:20px}.world-header p{font-size:8px}.world-actions{top:18px;right:16px;flex-direction:column;align-items:flex-end}.world-action{min-height:34px;padding:0 10px;font-size:8px}.world-action-icon{width:15px;height:15px;font-size:13px}.is-exploring .world-actions .world-action:first-child{display:none}.world-controls{left:20px;bottom:20px;gap:8px}.world-controls span:nth-child(n+3){display:none}.world-status{right:20px;bottom:22px;font-size:0;gap:0}}@media (prefers-reduced-motion: reduce){.world-status-dot{box-shadow:none}}.page{min-height:320vh;position:relative}.canvasWrap{position:sticky;top:0;height:100vh;width:100%}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.topBar{position:absolute;left:20px;top:18px;display:flex;gap:14px;align-items:baseline;pointer-events:auto}.brand{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px;opacity:.9}.subtitle{font-size:12px;color:var(--muted);opacity:.9}.help{position:absolute;right:20px;top:18px;font-size:12px;color:var(--muted);text-align:right;max-width:340px;line-height:1.4}.panel{position:absolute;left:20px;bottom:20px;width:min(520px,calc(100% - 40px));border:1px solid var(--line);background:linear-gradient(180deg,#0f0f0fb3,#0f0f0f73);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 14px 12px;pointer-events:auto}.panelTitle{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.panelTitle h3{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.tag{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:4px 8px;border-radius:999px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.item{font-size:12px;line-height:1.35;color:var(--text)}.label{display:block;font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}.value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{margin-top:12px;display:flex;gap:10px;pointer-events:auto}.btn{pointer-events:auto;border:1px solid var(--line);background:#00000040;color:var(--text);padding:8px 10px;font-size:12px;border-radius:10px;cursor:pointer}.btn:hover{border-color:#ffffff38}.footerHint{position:absolute;left:20px;top:60px;font-size:12px;color:var(--muted);opacity:.9;pointer-events:none}kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;border:1px solid var(--line);padding:2px 6px;border-radius:6px;background:#00000040;color:var(--text)}.portfolio-page{--paper:#f3efe7;--ink:#18212c;--quiet:#66707a;--gold:#bb7738;min-height:100vh;background:var(--paper);color:var(--ink);overflow:hidden}.portfolio-page a{color:inherit;text-decoration:none}.portfolio-container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.portfolio-nav-wrap{position:relative;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;width:min(1360px,calc(100% - 64px));min-height:88px;margin:auto;border-bottom:1px solid rgba(24,33,44,.13)}.portfolio-brand{display:flex;gap:12px;align-items:center;font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.portfolio-brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(24,33,44,.24);border-radius:50%;font-family:Georgia,serif;font-size:11px}.portfolio-nav{display:flex;gap:24px;align-items:center}.portfolio-nav a{position:relative;padding:34px 0 31px;color:#656e77;font-size:11px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.portfolio-nav a:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .25s ease}.portfolio-nav a:hover,.portfolio-nav a.is-active{color:var(--ink)}.portfolio-nav a.is-active:after{transform:scaleX(1)}.world-link{justify-self:end;display:flex;gap:8px;align-items:center;padding:10px 14px;border:1px solid rgba(24,33,44,.18);border-radius:99px;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;transition:.2s ease}.world-link:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px)}.portfolio-hero{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:9vw;align-items:end;padding-top:clamp(100px,13vw,174px);padding-bottom:clamp(100px,13vw,166px)}.about-hero{grid-template-columns:minmax(0,1.6fr) minmax(390px,1fr);gap:clamp(32px,4vw,68px);align-items:center;padding-top:clamp(76px,9vw,128px);padding-bottom:clamp(70px,8vw,120px)}.portfolio-hero.compact{display:block;padding-top:clamp(82px,10vw,132px);padding-bottom:clamp(68px,8vw,110px)}.portfolio-hero.compact .hero-copy{max-width:950px}.eyebrow{margin:0 0 22px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.hero-copy h1,.creative-hero h1,.contact-hero h1{max-width:960px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(50px,7vw,104px);font-weight:400;letter-spacing:-.045em;line-height:.94}.hero-copy h1 em,.creative-hero h1 em,.contact-hero h1 em{color:var(--gold);font-weight:400}.hero-lead,.creative-hero-inner>p,.contact-hero>p{max-width:750px;margin:36px 0 0;color:var(--quiet);font-size:clamp(17px,2vw,22px);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 22px;border:1px solid rgba(24,33,44,.24);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;transition:.22s ease}.button-primary{background:var(--ink);color:#fff!important;border-color:var(--ink)}.button:hover{transform:translateY(-2px);box-shadow:0 12px 26px #18212c1a}.hero-note{padding:30px 0 6px;border-top:1px solid rgba(24,33,44,.2)}.hero-note .note-index{color:var(--gold);font-family:Georgia,serif;font-size:13px}.hero-note p{margin:52px 0 0;color:#515b66;font-family:Georgia,serif;font-size:21px;line-height:1.45}.about-portrait{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-height:620px}.about-portrait-frame{position:relative;width:min(100%,500px);height:100%;min-height:620px;overflow:visible}.about-portrait-aura{position:absolute;z-index:0;right:0;bottom:5%;left:0;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 45% 40%,rgba(214,164,102,.26),rgba(187,119,56,.08) 48%,transparent 70%);border:1px solid rgba(187,119,56,.16)}.about-portrait-frame:after{content:"";position:absolute;z-index:0;right:6%;bottom:5%;left:6%;height:18%;border-radius:50%;background:#3423152b;filter:blur(28px);transform:scaleY(.36)}.about-portrait-frame img{position:absolute;z-index:1;right:50%;bottom:0;display:block;width:auto;height:min(100%,690px);max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 26px 28px rgba(29,24,20,.14));transform:translate(50%)}.portfolio-section{padding-top:110px;padding-bottom:110px;border-top:1px solid rgba(24,33,44,.12)}.section-heading{margin-bottom:58px}.section-heading h2,.feature-project h2{max-width:780px;margin:0;font-family:Georgia,serif;font-size:clamp(38px,5vw,66px);font-weight:400;letter-spacing:-.035em;line-height:1}.inline-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.inline-heading>a,.text-link{color:var(--gold)!important;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(24,33,44,.16);border-left:1px solid rgba(24,33,44,.16)}.skill-card{min-height:310px;padding:30px;border-right:1px solid rgba(24,33,44,.16);border-bottom:1px solid rgba(24,33,44,.16)}.card-number,.service-grid article>span,.process-list article>span{color:var(--gold);font:12px Georgia,serif}.skill-card h3{margin:78px 0 28px;font:400 25px Georgia,serif}.chip-list{display:flex;flex-wrap:wrap;gap:7px}.chip-list span{padding:7px 10px;border:1px solid rgba(24,33,44,.16);border-radius:99px;color:#58616b;font-size:10px;line-height:1}.compact-chips{margin-top:22px}.statement-section{padding:130px 0;background:#18212c;color:#f4efe5}.statement-grid{display:grid;grid-template-columns:1fr 3fr 1fr;gap:7vw;align-items:start}.statement-grid blockquote{margin:0;font:400 clamp(34px,4.7vw,65px)/1.1 Georgia,serif;letter-spacing:-.03em}.statement-grid>p:last-child{margin:0;color:#aeb5bc;font-size:14px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(24,33,44,.18)}.service-grid article{padding:30px 7% 40px 0;border-bottom:1px solid rgba(24,33,44,.18)}.service-grid article+article{padding-left:7%;border-left:1px solid rgba(24,33,44,.18)}.service-grid h3{margin:70px 0 18px;font:400 29px Georgia,serif}.service-grid p,.process-list p,.feature-project p{color:var(--quiet);font-size:14px;line-height:1.75}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 28px}.project-grid-three{grid-template-columns:repeat(3,1fr);gap:28px}.project-card{display:block;min-width:0}.project-card.project-featured{grid-column:span 1}.project-image{position:relative;overflow:hidden;aspect-ratio:16/10;background:#d9d3c8}.project-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(10,15,24,.54));opacity:0;transition:opacity .3s}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-image>span{position:absolute;z-index:2;right:20px;bottom:18px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:.3s}.project-card:hover .project-image img{transform:scale(1.035)}.project-card:hover .project-image:after,.project-card:hover .project-image>span{opacity:1}.project-card:hover .project-image>span{transform:none}.project-meta{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.project-meta>span{color:#9a9389;font:12px Georgia,serif}.project-category{margin:0;color:var(--gold)!important;font-size:9px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.project-card h2,.project-card h3{margin:10px 0 13px;font:400 29px Georgia,serif}.project-card>p{max-width:620px;margin:0;color:var(--quiet);font-size:14px;line-height:1.68}.project-grid-three .project-card h3{font-size:24px}.project-grid-three .project-description{max-width:95%;font-size:13px;line-height:1.65}.creative-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;background:linear-gradient(90deg,#050a13f0,#050a1359),url(/projects/ewis-3d-world.jpg) center/cover;color:#fff}.creative-hero-inner{padding-top:140px;padding-bottom:110px}.creative-hero h1{max-width:920px}.creative-hero-inner>p{max-width:660px;color:#ccd4dc}.creative-hero .button{margin-top:38px;background:#f1ece2!important;border-color:#f1ece2!important;color:#18212c!important}.process-list{border-top:1px solid rgba(24,33,44,.17)}.process-list article{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:36px 0;border-bottom:1px solid rgba(24,33,44,.17)}.process-list h3{margin:0 0 10px;font:400 29px Georgia,serif}.process-list p{max-width:680px;margin:0}.feature-project{display:grid;grid-template-columns:1.7fr 1fr;gap:7vw;align-items:center;padding-top:40px;padding-bottom:130px}.feature-project img{width:100%;aspect-ratio:16/10;object-fit:cover}.feature-project h2{font-size:clamp(36px,4vw,56px)}.feature-project p{margin:24px 0}.feature-project .text-link{display:inline-block;margin-top:8px}.resume-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:9vw}.timeline{margin-top:55px}.timeline article{display:grid;grid-template-columns:60px 1fr;gap:26px;padding:0 0 50px;position:relative}.timeline article:before{content:"";position:absolute;left:22px;top:30px;bottom:0;width:1px;background:#18212c2e}.timeline article:last-child:before{display:none}.timeline-dot{z-index:1;display:grid;width:45px;height:45px;place-items:center;border:1px solid rgba(24,33,44,.22);border-radius:50%;background:var(--paper);color:var(--gold);font:11px Georgia,serif}.timeline-period{margin:0 0 10px!important;color:var(--gold)!important;font-size:10px!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.timeline h2{margin:0;font:400 30px Georgia,serif}.timeline h3{margin:7px 0 17px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.timeline p{max-width:650px;margin:0;color:var(--quiet);font-size:14px;line-height:1.7}.resume-aside{display:flex;flex-direction:column;gap:52px}.resume-aside>div{padding-top:24px;border-top:1px solid rgba(24,33,44,.18)}.resume-aside h3{margin:25px 0 8px;font:400 20px Georgia,serif}.resume-aside p,.resume-aside li{color:var(--quiet);font-size:13px;line-height:1.65}.resume-aside ul{padding-left:18px}.contact-hero{min-height:calc(100vh - 88px);display:flex;flex-direction:column;justify-content:center;padding-top:90px;padding-bottom:100px}.contact-hero h1{max-width:1040px}.contact-email{display:flex;justify-content:space-between;align-items:center;max-width:900px;margin-top:68px;padding:28px 0;border-top:1px solid rgba(24,33,44,.24);border-bottom:1px solid rgba(24,33,44,.24);font:400 clamp(22px,3vw,38px) Georgia,serif}.contact-email span{color:var(--gold)}.contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:900px;margin-top:52px}.contact-details div{display:flex;flex-direction:column;gap:9px}.contact-details span{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.contact-details strong,.contact-details a{font-size:13px;font-weight:500}.portfolio-footer{display:flex;justify-content:space-between;gap:30px;padding-top:38px;padding-bottom:38px;border-top:1px solid rgba(24,33,44,.14);color:var(--quiet);font-size:11px}.portfolio-footer div{display:flex;gap:16px}.portfolio-footer strong{color:var(--ink)}.whatsapp-widget{position:fixed;z-index:120;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.whatsapp-trigger{display:flex;min-width:58px;height:58px;align-items:center;justify-content:center;gap:10px;padding:0 18px;border:0;border-radius:999px;background:#1fae60;color:#fff;box-shadow:0 12px 34px #07371f4d;font:800 10px/1 inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.whatsapp-trigger:hover{background:#169953;box-shadow:0 16px 40px #07371f5c;transform:translateY(-2px)}.whatsapp-trigger svg{width:25px;height:25px;fill:currentColor;flex:0 0 auto}.whatsapp-popup{position:absolute;right:0;bottom:70px;width:min(330px,calc(100vw - 34px));padding:25px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:linear-gradient(145deg,#12251c,#0c1712);color:#fff;box-shadow:0 24px 70px #050c0961;opacity:0;pointer-events:none;transform:translateY(10px) scale(.96);transform-origin:right bottom;transition:opacity .22s ease,transform .22s ease}.whatsapp-popup.is-open{opacity:1;pointer-events:auto;transform:none}.whatsapp-close{position:absolute;top:11px;right:13px;width:28px;height:28px;padding:0;border:0;background:transparent;color:#9db2a6;font-size:22px;line-height:1;cursor:pointer}.whatsapp-kicker{display:block;margin-bottom:14px;color:#67d89a;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.whatsapp-popup strong{display:block;max-width:230px;font:400 25px/1.1 Georgia,Times New Roman,serif}.whatsapp-popup p{margin:14px 0 20px;color:#b8c7bf;font-size:13px;line-height:1.55}.whatsapp-popup a{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border-radius:11px;background:#1fae60;color:#fff!important;font-size:11px;font-weight:800;letter-spacing:.04em;text-decoration:none}.whatsapp-popup small{display:block;margin-top:12px;color:#81958a;font-size:10px;letter-spacing:.08em}.whatsapp-widget.is-world{bottom:max(24px,env(safe-area-inset-bottom));color:#fff}@media (max-width:980px){.portfolio-nav-wrap{grid-template-columns:1fr auto}.portfolio-nav{display:none}.portfolio-hero{grid-template-columns:1fr}.hero-note{max-width:420px}.about-portrait{min-height:580px;margin-top:20px}.about-portrait-frame{width:min(76vw,520px);min-height:580px}.about-portrait-frame img{height:min(100%,640px)}.skill-grid{grid-template-columns:repeat(2,1fr)}.statement-grid{grid-template-columns:1fr}.statement-grid blockquote{max-width:850px}.project-grid-three{grid-template-columns:repeat(2,1fr)}.resume-layout{grid-template-columns:1fr}.resume-aside{display:grid;grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.portfolio-container,.portfolio-nav-wrap{width:min(100% - 34px,1180px)}.portfolio-nav-wrap{min-height:72px}.portfolio-brand>span:last-child{display:none}.world-link{font-size:8px}.portfolio-hero{padding-top:80px;padding-bottom:80px}.hero-copy h1,.creative-hero h1,.contact-hero h1{font-size:clamp(44px,14vw,70px)}.about-hero{padding-bottom:38px}.about-portrait{min-height:510px;margin:0}.about-portrait-frame{width:min(94vw,430px);min-height:510px}.about-portrait-frame img{height:min(100%,560px)}.skill-grid,.service-grid,.project-grid,.project-grid-three,.feature-project,.contact-details{grid-template-columns:1fr}.service-grid article+article{padding-left:0;border-left:0}.project-grid{gap:58px}.statement-section{padding:85px 0}.process-list article{grid-template-columns:55px 1fr}.resume-aside{grid-template-columns:1fr}.portfolio-footer,.portfolio-footer div{flex-direction:column}.contact-email{font-size:20px}.creative-hero{min-height:86vh}.feature-project{gap:40px}.world-controls span:nth-child(3){display:none}.whatsapp-widget{right:max(14px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.whatsapp-trigger{width:54px;min-width:54px;height:54px;padding:0}.whatsapp-trigger>span{display:none}.whatsapp-popup{bottom:66px}.whatsapp-widget.is-world{bottom:calc(84px + env(safe-area-inset-bottom))}}
