:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color:#eee9e1;background:#171817;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;max-width:none;height:100%;min-height:100%;margin:0;padding:0;overflow:hidden}#root{text-align:left;border:0;display:block;position:relative}body{min-width:320px}button{font:inherit}*,:before,:after{box-sizing:border-box}body,html{-webkit-user-select:none;user-select:none;background-color:#faf8f5;width:100vw;height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.canvas-container{width:100vw;height:100vh;position:relative;overflow:hidden}.crosshair{pointer-events:none;z-index:10;background-color:#c5a059cc;border:1px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.instructions-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;cursor:pointer;background:#1a0f05bf;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:absolute;top:0;left:0}.instructions-card{text-align:center;background:#faf8f5;border:1px solid #c5a0594d;border-radius:12px;width:90%;max-width:540px;padding:40px 50px;box-shadow:0 20px 40px #0006}.instructions-card h1{letter-spacing:2px;color:#1a0f05;margin:0 0 8px;font-size:28px}.subtitle{color:#7a5c38;letter-spacing:1px;text-transform:uppercase;margin:0 0 24px;font-size:14px}.artist-links{justify-content:center;gap:15px;margin-bottom:24px;display:flex}.artist-link-badge{border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.artist-link-badge.ig{color:#c2185b;background:#fdf2f4;border:1px solid #f8bbd0}.artist-link-badge.ig:hover{color:#fff;background:#c2185b}.artist-link-badge.mail{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.artist-link-badge.mail:hover{color:#fff;background:#15803d}.controls-hint{color:#4a3525;background:#f2ece1;border-radius:8px;margin-bottom:24px;padding:12px 16px;font-size:13px}.start-prompt{color:#c5a059;letter-spacing:.5px;font-size:15px;font-weight:700}.mobile-controls-overlay{pointer-events:none;z-index:20;justify-content:space-between;width:100%;padding:0 30px;display:flex;position:absolute;bottom:20px;left:0}.mobile-turn-group{pointer-events:auto;flex-direction:column;gap:10px;display:flex}.mobile-turn-group button,.mobile-dpad>button,.dpad-row button{color:#c5a059;cursor:pointer;background:#2d1a0ed9;border:1px solid #c5a059;border-radius:8px;padding:12px 18px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #0000004d}.mobile-dpad{pointer-events:auto;flex-direction:column;align-items:center;display:flex}.mobile-dpad>button{border-radius:8px 8px 0 0;width:50px;height:50px}.dpad-row{display:flex}.dpad-row button{border-radius:0;width:50px;height:50px}.dpad-row button:first-child{border-radius:0 0 0 8px}.dpad-row button:last-child{border-radius:0 0 8px}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:200;background:#0f0a05d9;justify-content:center;align-items:center;width:100vw;height:100vh;padding:30px;display:flex;position:absolute;top:0;left:0}.modal-content{background:#faf8f5;border:1px solid #c5a05966;border-radius:12px;flex-direction:row;width:100%;max-width:900px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000080}.modal-close-btn{color:#5c4033;cursor:pointer;z-index:10;background:0 0;border:none;font-size:32px;position:absolute;top:15px;right:15px}.modal-img-wrapper{background:#110904;flex:1.2;justify-content:center;align-items:center;padding:30px;display:flex}.modal-img-wrapper img{object-fit:contain;max-width:100%;max-height:75vh}.modal-body{flex-direction:column;flex:1;justify-content:center;padding:40px;display:flex;overflow-y:auto}.modal-meta-row{flex-wrap:wrap;gap:8px;margin-bottom:15px;display:flex}.modal-tag{color:#7a5c38;text-transform:uppercase;background:#f4ebd0;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.modal-date-tag{color:#334155;background:#eef2f6;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.modal-dim-tag{color:#475569;background:#f1f5f9;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.modal-body h2{color:#1a0f05;margin:0 0 10px;font-size:24px}.artist-byline{color:#5c4033;margin:0 0 20px;font-size:14px}.art-desc{color:#4a3525;margin:0 0 30px;font-size:14px;line-height:1.6}.modal-actions-row{flex-direction:column;gap:10px;display:flex}.modal-action-btn{text-align:center;border-radius:8px;padding:12px 20px;font-size:13px;font-weight:600;text-decoration:none;display:block}.modal-action-btn.ig{color:#c2185b;background:#fdf2f4;border:1px solid #f8bbd0}.modal-action-btn.mail{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.gallery-toolbar{z-index:30;color:#201d19;-webkit-backdrop-filter:blur(14px);background:linear-gradient(#faf8f5f7,#faf8f5de);border-bottom:1px solid #47372724;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding:18px clamp(16px,3vw,44px);display:flex;position:absolute;top:0;left:0;right:0}.gallery-brand{flex-direction:column;gap:2px;line-height:1.2;display:flex}.gallery-brand span{letter-spacing:.28em;color:#906e43;font-size:10px;font-weight:700}.gallery-brand strong{letter-spacing:.025em;font-family:Georgia,serif;font-size:clamp(17px,2vw,23px);font-weight:400}.gallery-actions{flex-wrap:wrap;gap:8px;display:flex}.gallery-actions button{color:#2d241b;cursor:pointer;background:#fffefc;border:1px solid #48362647;border-radius:6px;min-height:42px;padding:10px 15px;font:500 12px/1.3 inherit;transition:background .2s,border-color .2s}.gallery-actions button:first-child{color:#fffaf2;background:#28231e}.gallery-actions button:hover{color:#201d19;background:#eae3d8;border-color:#906e43}.gallery-actions button:focus-visible{outline-offset:2px;outline:3px solid #b78b55}.gallery-hint{letter-spacing:.02em;color:#6b6258;width:100%;margin:0;font-size:11px}@media (width<=620px){.gallery-toolbar{gap:9px;padding:12px 14px}.gallery-actions{width:100%}.gallery-actions button{flex:1;padding:9px 8px;font-size:11px}.gallery-hint{font-size:10px;line-height:1.5}}@media (prefers-reduced-motion:reduce){.gallery-actions button{transition:none}}.iaaf-page,.iaaf-page *{box-sizing:border-box}.iaaf-page{color:#f4f0e9;background:#c9c6bf;width:100vw;height:100dvh;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}.iaaf-scene{z-index:0;position:absolute;inset:0}.iaaf-scene canvas{display:block}.iaaf-page button{cursor:pointer;touch-action:manipulation;font-family:inherit}.iaaf-topbar{z-index:6;letter-spacing:.19em;background:linear-gradient(#121415b3,#0000);justify-content:space-between;align-items:center;gap:20px;padding:27px clamp(22px,4vw,74px);font-size:10px;font-weight:700;display:flex;position:absolute;top:0;left:0;right:0}.iaaf-mark{letter-spacing:.22em;font-size:13px}.iaaf-mark span,.iaaf-place span{color:#d7b988;padding:0 9px}.iaaf-place{letter-spacing:.13em;font-size:10px}.iaaf-welcome{z-index:4;background:linear-gradient(90deg,#131617f7,#131617e6 72%,#13161705);flex-direction:column;justify-content:center;width:min(640px,100%);padding:clamp(130px,20vh,230px) clamp(28px,6vw,95px) 60px;display:flex;position:absolute;top:0;bottom:0;left:0}.iaaf-eyebrow{letter-spacing:.29em;color:#d5bd96;margin:0 0 22px;font-size:10px;font-weight:700}.iaaf-welcome h1{letter-spacing:-.04em;margin:0 0 26px;font-family:Georgia,Times New Roman,serif;font-size:clamp(47px,5.5vw,90px);font-weight:400;line-height:1.06}.iaaf-welcome h1 em{color:#dfc9a9;font-weight:400}.iaaf-welcome>p:not(.iaaf-eyebrow){color:#d1cfcb;max-width:440px;margin:0 0 29px;font-size:14px;line-height:1.85}.iaaf-welcome-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.iaaf-welcome-actions button{color:#211e1c;letter-spacing:.03em;background:#d8b98a;border:1px solid #d8b98a;border-radius:2px;padding:15px 20px;font-size:12px;font-weight:650}.iaaf-welcome-actions button span{margin-left:26px}.iaaf-welcome-actions .iaaf-secondary{color:#f7f2ea;background:0 0;border-color:#aaa39a}.iaaf-welcome>small{color:#99948c;max-width:450px;margin-top:28px;font-size:10px;line-height:1.6;display:block}.iaaf-controls{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#141717e8;border:1px solid #dacbb138;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex;position:absolute;bottom:61px;left:clamp(16px,4vw,70px);right:clamp(16px,4vw,70px);box-shadow:0 20px 50px #00000029}.iaaf-stage{letter-spacing:.16em;align-items:center;gap:12px;font-size:10px;font-weight:700;display:flex}.iaaf-dot{background:#c8ad80;border-radius:50%;width:7px;height:7px;display:inline-block}.iaaf-counter{color:#afac9f;white-space:nowrap;font-weight:400}.iaaf-buttons{flex-wrap:wrap;gap:8px;display:flex}.iaaf-buttons button{color:#f1ede5;background:0 0;border:1px solid #77736c;min-height:38px;padding:10px 15px;font-size:11px;font-weight:550}.iaaf-buttons button.iaaf-main{color:#25211e;background:#dac5a4;border-color:#dac5a4}.iaaf-buttons button:hover,.iaaf-welcome-actions button:hover{filter:brightness(1.15)}.iaaf-page button:focus-visible{outline-offset:3px;outline:3px solid #e4bc79}.iaaf-workdetail{z-index:7;background:#141617f0;border:1px solid #9d8e78;width:min(370px,100vw - 32px);padding:31px 30px;position:absolute;top:clamp(90px,15vh,180px);right:clamp(16px,4vw,70px);box-shadow:0 16px 55px #00000038}.iaaf-workdetail h2{margin:0 0 12px;font:clamp(25px,3vw,37px)/1.2 Georgia,serif}.iaaf-workdetail .iaaf-artist{color:#e1d7c9;margin:0 0 18px;font-size:14px}.iaaf-workdetail .iaaf-size{color:#c6a979;letter-spacing:.06em;font-size:12px}.iaaf-workdetail .iaaf-disclaimer{color:#a6a39d;border-top:1px solid #625950;margin:24px 0 0;padding-top:16px;font-size:11px;line-height:1.6}.iaaf-close{color:#fff;background:0 0;border:0;font-size:30px;position:absolute;top:8px;right:15px}.iaaf-footer{z-index:6;color:#f4f0e9;letter-spacing:.15em;background:linear-gradient(#0000,#111111a6);justify-content:space-between;gap:12px;padding:15px clamp(20px,4vw,74px);font-size:9px;font-weight:650;display:flex;position:absolute;bottom:0;left:0;right:0}@media (width<=740px){.iaaf-topbar{padding:16px 18px}.iaaf-mark{font-size:11px}.iaaf-place{letter-spacing:0;font-size:8px}.iaaf-welcome{background:linear-gradient(90deg,#131617f0,#131617b8);justify-content:center;padding:115px 24px 45px}.iaaf-welcome h1{font-size:clamp(48px,11vw,72px)}.iaaf-welcome>p:not(.iaaf-eyebrow){font-size:13px}.iaaf-controls{gap:10px;padding:12px 14px;bottom:42px;left:12px;right:12px}.iaaf-stage{width:100%;font-size:9px}.iaaf-buttons{width:100%}.iaaf-buttons button{flex:1;padding:9px 6px;font-size:10px}.iaaf-workdetail{max-width:80vw;padding:20px;top:78px;right:12px}.iaaf-footer{letter-spacing:.08em;padding:12px;font-size:7px}}@media (prefers-reduced-motion:reduce){.iaaf-page button{transition:none!important}}.iaaf-catalogue-preview{object-fit:contain;border:1px solid #e6d9c33d;width:auto;max-width:100%;max-height:25vh;margin:10px 0 4px;display:block}.iaaf-navigation-tip{z-index:5;color:#f4eee5;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);letter-spacing:.06em;pointer-events:none;background:#181a1bbf;border-left:2px solid #d7b98e;max-width:min(550px,100vw - 36px);padding:10px 14px;font-size:10px;line-height:1.5;position:absolute;bottom:149px;left:clamp(18px,4vw,70px)}.iaaf-scene canvas{cursor:crosshair}@media (width<=740px){.iaaf-navigation-tip{max-width:none;font-size:9px;bottom:150px;left:12px;right:12px}}.iaaf-footer{flex-wrap:wrap;justify-content:space-between;align-items:center}.iaaf-language{background:#121314e0;border:1px solid #e8d3b16e;border-radius:3px;align-items:center;gap:6px;padding:4px 6px;display:inline-flex}.iaaf-language button{color:#bdb7ab;letter-spacing:.06em;background:0 0;border:0;min-width:33px;min-height:28px;padding:4px 7px;font-size:11px;font-weight:700}.iaaf-language button[aria-pressed=true]{color:#25211b;background:#dec6a2}.iaaf-language button:hover{color:#fff}.iaaf-language span{opacity:.5}@media (width<=740px){.iaaf-footer{justify-content:center;gap:7px;padding:7px 11px}.iaaf-footer>span{font-size:7px}.iaaf-controls{bottom:65px}.iaaf-navigation-tip{bottom:177px}}.iaaf-welcome-backdrop{background:radial-gradient(at 76% 36%,#e9e4d9 0%,#c7c2b7 37%,#8e8a83 100%);position:absolute;inset:0;overflow:hidden}.iaaf-welcome-backdrop:before{content:"";background:linear-gradient(140deg,#efebe3,#cac4b7);border:26px solid #eee8de;width:36%;height:72%;position:absolute;top:15%;right:8%;box-shadow:0 30px 80px #605a5266}.iaaf-welcome-backdrop:after{content:"";background:linear-gradient(#0000,#a5a19944);width:50%;height:22%;position:absolute;bottom:0;left:50%;transform:skew(-14deg)}.iaaf-backdrop-sign{letter-spacing:.16em;color:#625c52;text-align:center;z-index:1;font:clamp(26px,4vw,60px)/1.1 Georgia,serif;position:absolute;top:39%;right:15%}.iaaf-backdrop-sign span{letter-spacing:.25em;margin-top:20px;font:600 10px/2 system-ui,sans-serif;display:block}.iaaf-scene-error{color:#f3ede4;text-align:center;background:#272623;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:30px;display:flex;position:absolute;inset:0}.iaaf-scene-error strong{font:clamp(22px,4vw,35px) Georgia,serif}.iaaf-scene-error p{max-width:400px;font-size:13px;line-height:1.7}.iaaf-scene-error button{color:#24211d;cursor:pointer;background:#d7b98e;border:1px solid #d7b98e;padding:12px 24px}
