:root{--color-primary:#a7febd;--color-primary-light:#141829;--color-secondary:#3a4a6b;--color-accent:#e86f34;--color-accent-hover:#f07f44;--color-accent-dark:#d35f24;--color-button-disabled:#5a5f6b;--color-button-secondary:#1a2235;--color-button-secondary-border:#3a4a6b;--color-progress-active:#4a6b9a;--color-progress-inactive:#2a3a5a;--color-text:#fff;--color-text-muted:#8a8f9a;--color-input-bg:#1a2235;--color-input-border:#3a4a6b;--color-card-selected:#fff;--font-display:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Helvetica Neue", Helvetica, Arial, sans-serif;--transition-smooth:cubic-bezier(.4, 0, .2, 1);--touch-target-min:90px;--border-radius-button:16px;--border-radius-card:12px;--border-radius-input:12px;--scale-4k:1.5;--spacing-base:8px}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100dvh;font-family:var(--font-body);background:var(--color-primary);color:var(--color-text);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;overflow:hidden}#app{width:100%;height:100%;position:relative;overflow:hidden}#canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--color-accent);color:var(--color-primary);z-index:10000;transition:top .3s var(--transition-smooth);padding:16px 32px;font-size:18px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.skip-link:focus{outline:3px solid var(--color-text);outline-offset:2px;top:20px}.loading-screen{background:var(--color-primary);z-index:9999;width:100%;height:100%;transition:opacity .5s var(--transition-smooth);justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.loading-screen.hidden{opacity:0;pointer-events:none}.loading-content{text-align:center}.loading-spinner{border:3px solid var(--color-text-muted);border-top-color:var(--color-accent);border-radius:50%;width:60px;height:60px;margin:0 auto 24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--color-text);font-size:28px}.video-container{z-index:1000;opacity:1;width:100%;height:100%;transition:opacity .3s var(--transition-smooth);background:#000000f2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.video-container.hidden{opacity:0;pointer-events:none}.video-container video{background:#000;max-width:100%;max-height:85%}.video-close-btn{width:64px;height:64px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border:2px solid var(--color-text);color:var(--color-text);cursor:pointer;transition:all .2s var(--transition-smooth);background:#ffffff1a;border-radius:50%;font-size:32px;position:absolute;top:40px;right:40px}.video-close-btn:hover,.video-close-btn:focus{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.1)}.video-close-btn:focus{outline:3px solid var(--color-text);outline-offset:4px}.video-controls{background:#000c;border-radius:40px;align-items:center;gap:24px;padding:20px 32px;display:flex;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.video-controls button{width:56px;height:56px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border:2px solid var(--color-text);color:var(--color-text);cursor:pointer;transition:all .2s var(--transition-smooth);background:0 0;border-radius:50%;font-size:20px}.video-controls button:hover,.video-controls button:focus{background:var(--color-accent);border-color:var(--color-accent)}.video-controls button:focus{outline:3px solid var(--color-text);outline-offset:2px}.video-progress{cursor:pointer;background:#fff3;border-radius:4px;width:400px;height:8px;position:relative}.video-progress-bar{background:var(--color-accent);border-radius:4px;width:0%;height:100%;transition:width .1s linear}.hidden{display:none!important}.a11y-toggle{width:64px;height:64px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border:2px solid var(--color-text);color:var(--color-text);cursor:pointer;z-index:100;transition:all .2s var(--transition-smooth);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:40px;right:40px}.a11y-toggle:hover,.a11y-toggle:focus{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.1)}.a11y-toggle:focus{outline:3px solid var(--color-text);outline-offset:4px}body.high-contrast{--color-primary:#000;--color-secondary:#fff;--color-accent:#ff0;--color-accent-hover:#ff9;--color-text:#fff;--color-text-muted:#fff}.hof-button{border-radius:var(--border-radius-button);font-family:var(--font-display);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s var(--transition-smooth);min-height:var(--touch-target-min);border:2px solid #0000;justify-content:center;align-items:center;gap:12px;padding:16px 32px;font-size:18px;font-weight:600;display:flex}.hof-button--primary{background:var(--color-accent);color:var(--color-text);border-color:var(--color-accent)}.hof-button--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:scale(1.02)}.hof-button--secondary{background:var(--color-button-secondary);color:var(--color-text);border-color:var(--color-button-secondary-border)}.hof-button--secondary:hover{background:var(--color-secondary);border-color:var(--color-secondary)}.hof-button--disabled{background:var(--color-button-disabled);color:var(--color-text-muted);border-color:var(--color-button-disabled);cursor:not-allowed;opacity:.7}.hof-button__icon{width:24px;height:24px}.hof-btn{--btn-scale:1;border-radius:var(--border-radius-button);font-family:var(--font-display);text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;white-space:nowrap;transform:translate(-50%, -50%) scale(var(--btn-scale));transform-origin:50%;transition:background-color .2s var(--transition-smooth);min-height:var(--touch-target-min);z-index:10;outline:none;justify-content:center;align-items:center;gap:10px;font-weight:600;display:inline-flex;position:absolute}.keyboard-overlay{z-index:200;pointer-events:none;width:100%;position:fixed;bottom:0;left:0}.keyboard-overlay--visible{pointer-events:auto}.hof-btn:focus-visible{outline:3px solid var(--color-text);outline-offset:4px}.hof-btn--primary{color:#fff;background:#929291;border-style:solid;border-color:#fff;box-shadow:clamp(4px,.4vw,6px) clamp(4px,.4vw,6px) #fff}.hof-btn--primary:hover:not(:disabled){background:#737373}.hof-btn--primary:active:not(:disabled){box-shadow:clamp(1px,.2vw,3px) clamp(1px,.2vw,3px) #ffffff40}.hof-btn--primary.hof-btn--disabled,.hof-btn--primary:disabled{color:#9a9fa6;cursor:not-allowed;background:#5a5f6b;border-color:#6a6f7b;box-shadow:4px 4px #6a6f7b4d}.hof-btn--secondary{color:#fff;box-shadow:none;background:#1a2235;border-style:solid;border-color:#3a4a6b}.hof-btn--secondary:hover:not(:disabled){background:#2a3245;border-color:#4a5a7b}.hof-btn--secondary:active:not(:disabled){background:#151c2a}.hof-btn--secondary.hof-btn--disabled,.hof-btn--secondary:disabled{color:#6a7a9a;cursor:not-allowed;background:#1a2235;border-color:#2a3a5a}.hof-btn--tertiary{color:#fff;box-shadow:none;background:0 0;border:none}.hof-btn--tertiary:hover:not(:disabled){color:#ccc}.hof-btn--tertiary.hof-btn--disabled,.hof-btn--tertiary:disabled{color:#6a7a9a;cursor:not-allowed}.hof-btn--lg{border-width:clamp(3px,.2vw,5px);border-radius:clamp(16px,1.2vw,28px);gap:clamp(16px,1.2vw,28px);width:min(85vw,1400px);min-width:500px;padding:clamp(36px,2.2vh,60px) clamp(40px,5vw,80px);font-size:clamp(26px,1.8vw,46px)}.hof-btn--md{border-width:clamp(2px,.18vw,4px);border-radius:clamp(12px,.8vw,20px);gap:clamp(10px,.7vw,18px);padding:clamp(14px,1vh,26px) clamp(28px,3vw,54px);font-size:clamp(18px,1.2vw,30px)}.hof-btn__icon{flex-shrink:0;width:clamp(24px,1.6vw,44px);height:clamp(24px,1.6vw,44px)}.hof-btn__icon svg{object-fit:contain;width:100%;height:100%;display:block}.hof-btn--lg .hof-btn__icon{width:clamp(32px,2.4vw,60px);height:clamp(32px,2.4vw,60px)}.hof-progress{gap:8px;padding:0 20px;display:flex}.hof-progress__segment{background:var(--color-progress-inactive);height:4px;transition:background .3s var(--transition-smooth);border-radius:2px;flex:1}.hof-progress__segment--active{background:var(--color-progress-active)}.hof-progress__segment--completed{background:var(--color-accent)}.hof-search{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--border-radius-input);align-items:center;gap:12px;padding:12px 16px;display:flex}.hof-search__icon{opacity:.6;width:20px;height:20px}.hof-search__input{color:var(--color-text);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;font-size:16px}.hof-search__input::placeholder{color:var(--color-text-muted)}.hof-flag-grid{grid-template-columns:repeat(3,1fr);gap:16px;padding:16px;display:grid}.hof-flag-card{border-radius:var(--border-radius-card);cursor:pointer;transition:all .2s var(--transition-smooth);background:0 0;border:2px solid #0000;flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex}.hof-flag-card:hover{border-color:var(--color-secondary)}.hof-flag-card--selected{background:var(--color-card-selected);border-color:var(--color-card-selected)}.hof-flag-card--selected .hof-flag-card__name{color:var(--color-primary)}.hof-flag-card__image{object-fit:cover;border-radius:4px;width:80px;height:60px}.hof-flag-card__name{font-family:var(--font-display);letter-spacing:1px;text-transform:uppercase;color:var(--color-text);font-size:12px;font-weight:600}.hof-flag-card__check{background:var(--color-accent);border-radius:50%;width:20px;height:20px;display:none;position:absolute;top:4px;right:4px}.hof-flag-card--selected .hof-flag-card__check{justify-content:center;align-items:center;display:flex}body.high-contrast .a11y-toggle{background:var(--color-accent);color:#000}:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff!important}#app,#canvas,.a11y-toggle,.loading-screen{display:none!important}}.webcam-permission-overlay{z-index:500;width:100%;height:100%;color:var(--color-text);text-align:center;background:#000000e6;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;top:0;left:0}.webcam-permission-overlay h2{font-family:var(--font-display);color:var(--color-accent);margin-bottom:20px;font-size:36px}.webcam-permission-overlay p{max-width:600px;margin-bottom:30px;font-size:20px;line-height:1.6}.webcam-permission-overlay button{background:var(--color-accent);color:var(--color-primary);cursor:pointer;transition:all .2s var(--transition-smooth);border:none;border-radius:8px;padding:16px 48px;font-size:20px;font-weight:600}.webcam-permission-overlay button:hover{background:var(--color-accent-hover);transform:scale(1.05)}.shop-container{z-index:100;background:0 0;flex-direction:column;display:none;position:fixed;inset:0;overflow:hidden}.shop-container--visible{display:flex}.shop-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:clamp(24px,1.5vh,40px) clamp(32px,4vw,64px);display:flex}.shop-header__logo,.shop-header__sap{width:auto;height:clamp(50px,3vh,90px)}.shop-title-row{flex-shrink:0;justify-content:center;align-items:center;margin-top:200px;padding:clamp(8px,.8vh,16px) clamp(32px,4vw,64px);display:flex}.shop-title{font-family:var(--font-display);letter-spacing:6px;color:#fff;text-transform:uppercase;margin:0 0 50px;font-size:clamp(42px,3vh,80px);font-weight:700}.shop-main-content{flex:1;justify-content:center;display:flex;overflow:hidden}.shop-back-column{z-index:10;position:fixed;top:35%;left:clamp(20px,3vw,50px);transform:translateY(-50%)}.shop-back-btn{color:#fff;cursor:pointer;background:0 0;border:5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:clamp(150px,4vh,200px);height:clamp(150px,4vh,200px);margin-left:70px;font-size:clamp(64px,2.5vh,52px);transition:all .2s;display:flex}.shop-back-btn:hover{background:#ffffff1a;transform:scale(1.05)}.shop-filters{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:clamp(12px,1vw,24px);padding:clamp(16px,1vh,32px) clamp(32px,4vw,64px);display:flex}.shop-filter-btn{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;white-space:nowrap;color:#fff;cursor:pointer;background:#929291;border:3px solid #929291;border-radius:clamp(28px,2vw,44px);padding:clamp(14px,1vh,24px) clamp(24px,1.5vw,44px);font-size:clamp(18px,1.1vw,28px);font-weight:600;transition:all .2s}.shop-filter-btn:hover{background:#737373;border-color:#737373}.shop-filter-btn--active{color:#fff;background:#737373;border-color:#737373}.shop-filter-btn--active:hover{background:#737373;border-color:#737373}.shop-product-grid{scrollbar-width:thin;scrollbar-color:#3a4a6b #1a2235;grid-template-columns:repeat(2,1fr);align-content:start;gap:clamp(60px,1.8vw,100px);width:100%;max-width:1400px;max-height:45vh;margin-top:clamp(16px,2vh,40px);padding:clamp(10px,2vh,20px) clamp(10px,3vw,20px) clamp(100px,12vh,200px);display:grid;overflow:hidden auto}.shop-product-grid::-webkit-scrollbar{width:12px}.shop-product-grid::-webkit-scrollbar-track{background:#1a2235;border-radius:6px}.shop-product-grid::-webkit-scrollbar-thumb{background:#3a4a6b;border-radius:6px}.shop-product-grid::-webkit-scrollbar-thumb:hover{background:#4a6a8b}.shop-product-card{cursor:pointer;background:#ffffffbf;border-radius:clamp(16px,1.2vw,28px);flex-direction:column;height:clamp(380px,22vh,520px);transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.shop-product-card:hover{transform:scale(1.03);box-shadow:0 12px 40px #0000004d}.shop-product-card__image{background:0 0;flex:1;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.shop-product-card__image img{object-fit:contain;background:0 0;width:100%;height:100%}.shop-product-card__info{background:0 0;flex-shrink:0;padding:clamp(14px,1vh,24px) clamp(14px,1vw,24px)}.shop-product-card__name{font-family:var(--font-display);letter-spacing:1px;color:#000;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin-bottom:clamp(4px,.3vh,8px);font-size:clamp(14px,.9vw,22px);font-weight:600;overflow:hidden}.shop-product-card__price{font-family:var(--font-display);color:#000;font-size:clamp(16px,1vw,26px);font-weight:700}.shop-detail{background:#a7febd;flex-direction:column;display:none;position:absolute;inset:0;overflow:hidden}.shop-detail--visible{display:flex}.shop-detail__header{flex-shrink:0;justify-content:space-between;align-items:center;padding:clamp(24px,1.5vh,40px) clamp(32px,4vw,64px);display:flex}.shop-detail__back-column{z-index:10;position:fixed;top:50%;left:clamp(20px,3vw,50px);transform:translateY(-50%)}.shop-detail__back-btn{color:#fff;cursor:pointer;background:0 0;border:5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:clamp(150px,4vh,200px);height:clamp(150px,4vh,200px);margin-left:120px;font-size:clamp(64px,2.5vh,64px);transition:all .2s;display:flex}.shop-detail__back-btn:hover{background:#ffffff1a;transform:scale(1.05)}.shop-detail__content{flex-direction:column;flex:1;align-items:center;padding:clamp(280px,9vh,400px) clamp(32px,4vw,80px) clamp(32px,3vh,64px);display:flex;overflow-y:auto}.shop-detail__image-area{aspect-ratio:1;background:#ffffffbf;border-radius:clamp(20px,1.5vw,36px);justify-content:center;align-items:center;width:100%;max-width:1200px;margin-bottom:clamp(40px,4vh,80px);display:flex;overflow:hidden}.shop-detail__image-area img{object-fit:contain;width:100%;height:100%}.shop-detail__info{text-align:left;width:100%;max-width:1200px}.shop-detail__brand{font-family:var(--font-display);letter-spacing:3px;color:#8a8f9a;text-transform:uppercase;margin-bottom:clamp(12px,.6vh,20px);font-size:clamp(22px,1.4vw,36px);font-weight:600;display:block}.shop-detail__name{font-family:var(--font-display);letter-spacing:2px;color:#fff;text-transform:uppercase;margin:0 0 clamp(20px,1.2vh,40px);font-size:clamp(48px,3.5vw,86px);font-weight:700}.shop-detail__price{font-family:var(--font-display);color:#fff;margin-bottom:clamp(40px,2.5vh,72px);font-size:clamp(40px,2.8vw,72px);font-weight:600}.shop-tryon-btn{width:100%;font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:#ed702d;cursor:pointer;background:0 0;border:4px solid #ed702d;border-radius:clamp(14px,1vw,22px);justify-content:center;align-items:center;gap:clamp(12px,.8vw,20px);margin-bottom:clamp(24px,1.5vh,40px);padding:clamp(22px,1.5vh,36px) clamp(36px,2.5vw,64px);font-size:clamp(22px,1.4vw,36px);font-weight:600;transition:all .2s;display:flex}.shop-tryon-btn:hover{background:#ed702d1a}.shop-tryon-btn__icon{width:clamp(28px,2vw,44px);height:clamp(28px,2vw,44px)}.shop-details-box{background:#1a2235;border-radius:clamp(12px,.8vw,20px);width:100%;padding:clamp(24px,1.5vh,40px) clamp(24px,1.5vw,40px)}.shop-details-title{font-family:var(--font-display);letter-spacing:3px;color:#fff;text-transform:uppercase;margin-bottom:clamp(18px,1vh,28px);font-size:clamp(18px,1.1vw,28px);font-weight:600}.shop-details-list{margin:0;padding:0;list-style:none}.shop-details-list li{font-family:var(--font-body);color:#8a8f9a;margin-bottom:clamp(8px,.4vh,14px);padding-left:clamp(24px,1.5vw,36px);font-size:clamp(22px,1.4vw,34px);line-height:1.6;position:relative}.shop-details-list li:before{content:"•";color:#8a8f9a;position:absolute;left:0}.shop-detail__title-row{justify-content:space-between;align-items:center;gap:clamp(16px,2vw,40px);width:100%;display:flex}.shop-detail__title-text{flex-direction:column;display:flex}.shop-detail__qrcode{flex-direction:column;flex-shrink:0;align-items:center;display:none}.shop-detail__qrcode--visible{display:flex}.shop-detail__qrcode img:not([src]),.shop-detail__qrcode img[src=""]{display:none}.shop-detail__qrcode img{background:#fff;border-radius:clamp(8px,.6vw,14px);width:clamp(160px,13vw,260px);height:auto;padding:clamp(6px,.5vw,12px)}
