#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#08080c;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin:0;overflow:hidden;overscroll-behavior:none}:root{--ink:#f3f1ea;--muted:#f3f1ea9e;--line:#f3f1ea29;--gold:#d4af37;--gold-soft:#e7c976;--gold-deep:#a8841f;--ig1:#f09433;--ig2:#e6683c;--ig3:#dc2743;--ig4:#bc1888}.stage{background:#08080c;color:#f3f1ea;color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;inset:0;overflow:hidden;position:fixed}.stage canvas{display:block;touch-action:none}.ui{inset:0;pointer-events:none;position:absolute;z-index:5}.panel,.ui a,.ui button{pointer-events:auto}.ui-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;left:clamp(16px,3vw,38px);position:absolute;right:clamp(16px,3vw,38px);top:clamp(16px,3vw,34px)}.brand{display:flex;flex-direction:column;line-height:1.1}.brand-name{font-size:clamp(20px,3.4vw,30px);font-weight:600;letter-spacing:.16em}.brand-name,.brand-sub{text-transform:uppercase}.brand-sub{color:#f3f1ea9e;color:var(--muted);font-size:11px;letter-spacing:.34em;margin-top:7px}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.ig-pill{align-items:center;background:linear-gradient(95deg,#f09433,#e6683c 40%,#dc2743 70%,#bc1888);background:linear-gradient(95deg,var(--ig1),var(--ig2) 40%,var(--ig3) 70%,var(--ig4));border-radius:999px;box-shadow:0 8px 26px #dc274357;color:#fff;display:inline-flex;font-size:13px;gap:9px;letter-spacing:.03em;padding:9px 15px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;white-space:nowrap}.ig-pill:hover{box-shadow:0 12px 32px #dc274375;filter:brightness(1.06);transform:translateY(-1px)}.commission-pill{background:linear-gradient(95deg,#e7c976,#d4af37 55%,#a8841f);background:linear-gradient(95deg,var(--gold-soft),var(--gold) 55%,var(--gold-deep));border:none;border-radius:999px;box-shadow:0 8px 26px #d4af3757;color:#1a1505;cursor:pointer;font:inherit;font-size:13px;font-weight:600;letter-spacing:.05em;padding:9px 18px;text-transform:uppercase;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;white-space:nowrap}.commission-pill:hover{box-shadow:0 12px 34px #d4af3780;filter:brightness(1.05);transform:translateY(-1px)}.hint{align-items:center;animation:fadeUp .8s ease both;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0c1280;border:1px solid #f3f1ea29;border:1px solid var(--line);border-radius:999px;bottom:clamp(18px,4vh,34px);color:#f3f1ea9e;color:var(--muted);display:flex;font-size:12.5px;gap:10px;left:50%;letter-spacing:.04em;padding:9px 18px;position:absolute;text-align:center;transform:translateX(-50%)}.hint .dot{animation:pulse 2s ease-in-out infinite;background:#8fa0ff;border-radius:50%;box-shadow:0 0 12px #8fa0ff;height:7px;width:7px}.panel{animation:panelIn .45s cubic-bezier(.16,1,.3,1) both;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c0c129e;border:1px solid #f3f1ea29;border:1px solid var(--line);border-radius:18px;bottom:clamp(20px,5vh,48px);box-shadow:0 24px 60px #00000080;left:clamp(16px,3vw,38px);padding:22px 24px 24px;position:absolute;width:min(340px,calc(100vw - 32px))}.panel-count{color:#f3f1ea9e;color:var(--muted);font-size:11px;letter-spacing:.32em}.panel-title{font-size:clamp(22px,3vw,28px);font-weight:600;letter-spacing:.01em;margin:10px 0 4px}.panel-meta{color:#f3f1ea9e;color:var(--muted);font-size:13px;letter-spacing:.04em;margin:0 0 12px}.panel-inspect-hint{color:#f3f1ea73;font-size:11.5px;letter-spacing:.05em;margin:0 0 16px}.panel-actions{display:flex;flex-wrap:wrap;gap:8px}.nav-btn{background:#ffffff0d;border:1px solid #f3f1ea29;border:1px solid var(--line);border-radius:999px;color:#f3f1ea;color:var(--ink);cursor:pointer;font:inherit;font-size:13px;letter-spacing:.04em;padding:9px 15px;transition:background .16s ease,transform .16s ease,border-color .16s ease}.nav-btn:hover{background:#ffffff21;border-color:#f3f1ea52;transform:translateY(-1px)}.nav-btn.ghost{color:#f3f1ea9e;color:var(--muted);margin-left:auto}.commission-cta-line{background:#d4af371a;border:1px solid #d4af3766;border-radius:12px;color:#e7c976;color:var(--gold-soft);cursor:pointer;font:inherit;font-size:13px;font-weight:600;letter-spacing:.03em;margin:0 0 14px;padding:11px 14px;text-align:center;transition:background .16s ease,transform .16s ease,border-color .16s ease;width:100%}.commission-cta-line:hover{background:#d4af372e;border-color:#d4af37b3;transform:translateY(-1px)}.modal-scrim{align-items:center;animation:fadeIn .25s ease both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0404089e;display:flex;inset:0;justify-content:center;padding:20px;pointer-events:auto;position:absolute;z-index:15}.modal-card{animation:panelIn .4s cubic-bezier(.16,1,.3,1) both;background:linear-gradient(180deg,#181610f5,#0e0d12f5);border:1px solid #d4af3752;border-radius:22px;box-shadow:0 30px 80px #0009,inset 0 1px 0 #e7c9762e;max-height:calc(100vh - 40px);overflow-y:auto;padding:30px 30px 26px;position:relative;width:min(440px,100%)}.modal-card.legal{width:min(560px,100%)}.modal-close{background:#ffffff0d;border:1px solid #f3f1ea29;border:1px solid var(--line);border-radius:50%;color:#f3f1ea9e;color:var(--muted);cursor:pointer;display:grid;font-size:22px;height:32px;line-height:1;place-items:center;position:absolute;right:16px;top:14px;transition:background .16s ease,color .16s ease;width:32px}.modal-close:hover{background:#ffffff1f;color:#f3f1ea;color:var(--ink)}.commission-status{align-items:center;background:#d4af371f;border:1px solid #d4af374d;border-radius:999px;color:#e7c976;color:var(--gold-soft);display:inline-flex;font-size:11px;font-weight:600;gap:8px;letter-spacing:.18em;padding:6px 12px;text-transform:uppercase}.status-dot{animation:pulse 2s ease-in-out infinite;background:#7cffb0;border-radius:50%;box-shadow:0 0 10px #7cffb0;height:7px;width:7px}.commission-title{font-size:clamp(24px,4vw,30px);font-weight:600;letter-spacing:.01em;margin:16px 0 8px}.commission-lede{color:#f3f1ead1;font-size:14.5px;line-height:1.6;margin:0 0 4px}.commission-ref{color:#f3f1ea9e;color:var(--muted);font-size:13px;margin:12px 0 0}.commission-ref strong{color:#e7c976;color:var(--gold-soft);font-weight:600}.commission-steps{grid-gap:14px;display:grid;gap:14px;list-style:none;margin:22px 0;padding:0}.commission-steps li{align-items:flex-start;display:flex;gap:14px}.commission-steps li>span{background:linear-gradient(150deg,#e7c976,#a8841f);background:linear-gradient(150deg,var(--gold-soft),var(--gold-deep));border-radius:50%;color:#1a1505;display:grid;flex:none;font-size:13px;font-weight:700;height:28px;place-items:center;width:28px}.commission-steps li>div{color:#f3f1ea9e;color:var(--muted);display:flex;flex-direction:column;font-size:13.5px;gap:2px;line-height:1.5}.commission-steps li>div strong{color:#f3f1ea;color:var(--ink);font-weight:600}.commission-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.commission-tags span{background:#ffffff0d;border:1px solid #f3f1ea29;border:1px solid var(--line);border-radius:999px;color:#f3f1eac7;font-size:12px;letter-spacing:.03em;padding:6px 12px}.commission-cta{display:flex;flex-wrap:wrap;gap:10px}.btn-gold,.btn-ig{align-items:center;border-radius:12px;cursor:pointer;display:inline-flex;flex:1 1 auto;font-size:14px;font-weight:600;gap:9px;justify-content:center;letter-spacing:.02em;padding:13px 18px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.btn-ig{background:linear-gradient(95deg,#f09433,#e6683c 40%,#dc2743 70%,#bc1888);background:linear-gradient(95deg,var(--ig1),var(--ig2) 40%,var(--ig3) 70%,var(--ig4));box-shadow:0 10px 28px #dc27435c;color:#fff}.btn-gold{background:linear-gradient(95deg,#e7c976,#d4af37 55%,#a8841f);background:linear-gradient(95deg,var(--gold-soft),var(--gold) 55%,var(--gold-deep));box-shadow:0 10px 28px #d4af375c;color:#1a1505}.btn-gold:hover,.btn-ig:hover{filter:brightness(1.05);transform:translateY(-1px)}.commission-foot{color:#f3f1ea9e;color:var(--muted);font-size:12.5px;line-height:1.5;margin:18px 0 0;text-align:center}.legal-title{font-size:clamp(22px,3.4vw,27px);font-weight:600;margin:4px 0 2px}.legal-updated{color:#f3f1ea9e;color:var(--muted);font-size:11px;letter-spacing:.16em;margin:0 0 18px;text-transform:uppercase}.legal-body{color:#f3f1ead1;font-size:14px;line-height:1.65}.legal-body h3{color:#e7c976;color:var(--gold-soft);font-size:14px;letter-spacing:.04em;margin:20px 0 6px;text-transform:uppercase}.legal-body p{margin:0 0 10px}.legal-foot{display:flex;justify-content:flex-end;margin-top:22px}.legal-foot .btn-gold{flex:0 0 auto;padding:11px 24px}.ui-footer{align-items:center;bottom:clamp(12px,3vh,20px);color:#f3f1ea9e;color:var(--muted);display:flex;flex-wrap:wrap;font-size:11.5px;gap:9px;justify-content:flex-end;letter-spacing:.03em;position:absolute;right:clamp(14px,3vw,28px)}.ui-footer .sep{opacity:.5}.link-btn{background:none;border:none;color:#f3f1ea9e;color:var(--muted);cursor:pointer;font:inherit;font-size:11.5px;letter-spacing:.03em;padding:2px 0;text-decoration:none;transition:color .16s ease}.link-btn:hover{color:#f3f1ea;color:var(--ink)}.link-btn.credit:hover{color:#e7c976;color:var(--gold-soft)}.ui-footer .copy{white-space:nowrap}.loader{align-items:center;background:#08080c;display:flex;flex-direction:column;gap:18px;inset:0;justify-content:center;position:absolute;transition:opacity .7s ease,visibility .7s ease;z-index:20}.loader--done{opacity:0;visibility:hidden}.loader-name{font-size:clamp(22px,4vw,34px);font-weight:600;letter-spacing:.22em;text-transform:uppercase}.loader-bar{background:#ffffff1f;border-radius:2px;height:2px;overflow:hidden;width:min(260px,60vw)}.loader-bar span{background:linear-gradient(90deg,#e6683c,#bc1888);background:linear-gradient(90deg,var(--ig2),var(--ig4));display:block;height:100%;transition:width .3s ease}.loader-pct{color:#f3f1ea9e;color:var(--muted);font-size:11px;letter-spacing:.28em;text-transform:uppercase}@keyframes panelIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:560px){.brand-sub{letter-spacing:.24em}.hint{width:min(92vw,420px)}.nav-btn.ghost{margin-left:0}}