.floor-open{display:block;margin:28px 0 0;background:#102d44;color:#fff}.floor-dialog{width:min(1400px,96vw);max-width:96vw;max-height:94svh;overflow:auto;border-radius:30px;padding:30px 4%;background:#eef1ec;color:#102d44;overscroll-behavior:contain}.floor-dialog::backdrop{background:#041624dd;backdrop-filter:blur(16px)}.floor-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.floor-top h2{font:clamp(35px,4vw,62px)/1.1 var(--serif);margin:15px 0}.floor-close{border:1px solid #7792a366;background:#fff8;border-radius:50%;width:44px;height:44px;flex-shrink:0;cursor:pointer}.floor-intro,.floor-status{font:13px/1.7 Manrope}.floor-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0}.floor-upload-label,.floor-dialog button:not([data-corner]):not(.floor-close){padding:12px 18px;border:1px solid #7f98a577;border-radius:25px;background:#fff8;color:#102d44;font:12px Manrope;cursor:pointer}.floor-upload-label{background:#102d44;color:white;position:relative;overflow:hidden}.floor-upload-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.floor-upload>span{font:10px/1.6 Manrope;max-width:330px;color:#536b78}.floor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:30px;margin-top:25px}.floor-workspace[hidden]{display:none}.floor-stage{position:relative;background:#122d40;border-radius:15px;overflow:hidden;line-height:0}.floor-stage canvas{width:100%;display:block;height:auto}.floor-handles{position:absolute;inset:0;pointer-events:none}.floor-handles button{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;width:34px;height:34px;background:#fff4d4;border:2px solid #244960;border-radius:50%;color:#102d44;font:bold 13px Manrope;box-shadow:0 2px 10px #0006;cursor:grab}.floor-handles button:focus-visible{outline:3px solid #56acdf;outline-offset:3px}.floor-help,.floor-disclaimer{font:11px/1.8 Manrope;color:#536b78;margin:14px 0}.floor-controls{display:flex;flex-direction:column;gap:16px}.floor-controls label{font:12px Manrope;display:grid;gap:8px}.floor-controls select{width:100%;font:12px Manrope;padding:10px;border:1px solid #93a7b3;border-radius:12px;background:#fff9;color:#102d44}.floor-controls input[type=range]{width:100%;accent-color:#164a6a}.floor-controls input[type=color]{width:100%;height:35px;border:0;background:none}.floor-dialog .floor-download{background:#102d44!important;color:white!important}.floor-before[aria-pressed=true]{background:#c4d9e1!important}.floor-status{color:#385e72;min-height:20px}.floor-view>button{margin-right:8px}@media(max-width:760px){.floor-dialog{padding:22px 5%;border-radius:22px}.floor-workspace{grid-template-columns:1fr}.floor-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px}.floor-disclaimer{grid-column:1/-1}.floor-stage{overflow:visible;margin:18px 0}.floor-stage canvas{border-radius:12px}.floor-upload>span{max-width:none}.floor-handles button{width:36px;height:36px}}
.floor-stage{width:fit-content;max-width:100%;margin:0 auto}.floor-stage canvas{width:auto;max-width:100%;max-height:66svh;height:auto}.floor-view{min-width:0}
.floor-entry{padding:65px 9%;background:var(--pearl);position:relative}.floor-entry-button{display:flex;align-items:center;gap:28px;width:min(800px,100%);margin:0 auto;padding:32px 45px;text-align:left;border:1px solid #dce9eb99;border-radius:90px;background:linear-gradient(130deg,#244e67,#0a233b 65%,#102d45);color:#f5f5ed;box-shadow:inset 0 1px 0 #ffffff55,0 18px 50px #102d4425,0 0 28px #a4d4e333;cursor:pointer;transition:transform .4s,box-shadow .4s}.floor-entry-button:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 #ffffff77,0 24px 55px #102d4440,0 0 35px #a4d4e366}.floor-entry-button strong{display:block;font:clamp(30px,3.5vw,48px)/1.1 var(--serif)}.floor-entry-button small{display:block;font:12px/1.6 Manrope;color:#c8dce5;margin-top:12px}.floor-entry-icon{font:65px var(--serif);text-shadow:0 0 20px #bce9ff99}.floor-entry-button b{font:35px Manrope;font-weight:400;margin-left:auto}.floor-entry-button:focus-visible{outline:3px solid #5aa6ce;outline-offset:6px}@media(max-width:600px){.floor-entry{padding:45px 7%}.floor-entry-button{padding:25px;gap:17px;border-radius:35px}.floor-entry-icon{font-size:40px}.floor-entry-button strong{font-size:30px}.floor-entry-button small{font-size:10px}.floor-entry-button b{font-size:26px}}@media(prefers-reduced-motion:reduce){.floor-entry-button{transition:none}.floor-entry-button:hover{transform:none}}
