.wallpaper-shell{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(3rem,8vw,5.5rem);border-radius:calc(var(--radius-large)*1.15);background:linear-gradient(130deg,#0c1421eb,#080a14d9);box-shadow:inset 0 0 0 1px #ffffff0d,0 32px 70px #080c1873;overflow:hidden}.wallpaper-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:clamp(360px,52vw,560px);padding:clamp(2rem,4vw,3.5rem);border-radius:calc(var(--radius-large)*1.05);box-shadow:inset 0 0 0 1px #ffffff0a,0 28px 60px #050a1273;overflow:hidden;transition:background-color .2s ease}.wallpaper-stage[data-exporting=true]{box-shadow:none}.template-link{position:absolute;top:clamp(1.25rem,3vw,1.75rem);left:clamp(1.25rem,3vw,1.75rem);padding:.45rem 1.25rem;border-radius:999px;background:#0006;color:#ffffffe6;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wallpaper-text{max-width:min(740px,92%);text-align:center;line-height:1.15;letter-spacing:.015em;white-space:pre-wrap;word-break:break-word;outline:0;border:0!important;box-shadow:none!important;background:0 0;cursor:text;caret-color:currentColor;min-height:3rem}.floating-panel{position:absolute;bottom:clamp(7.5rem,16vw,11rem);display:flex;flex-direction:column;gap:.75rem;padding:clamp(1.25rem,3vw,1.75rem);border-radius:calc(var(--radius-large)*.9);width:min(280px,90%);min-height:clamp(12rem,28vw,17rem);background:#0a0c18c7;box-shadow:0 20px 40px #060a1273;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transform:translateY(24px);transition:opacity .25s ease,transform .25s ease;color:#ffffffe6}.floating-panel[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.floating-panel--background{left:clamp(1.5rem,8vw,5rem)}.floating-panel--text{right:clamp(1.5rem,8vw,5rem)}.floating-panel--font{left:50%;transform:translate(-50%,24px)}.floating-panel--font[data-visible=true]{transform:translate(-50%)}.floating-panel--size{right:clamp(1.5rem,8vw,5rem);bottom:clamp(13rem,24vw,16rem)}.floating-panel h3{font-size:1.05rem;font-weight:600}.panel-subtitle{font-size:.9rem;line-height:1.6;color:#ffffffbf}.floating-panel select{width:100%;padding:.6rem .75rem;border-radius:.85rem;border:1px solid rgba(255,255,255,.12);background:#04060ccc;color:#ffffffeb;font-size:.95rem}.panel-status{font-size:.85rem;color:#ffffffb3}.panel-status.error{color:#f87171}.floating-panel .IroColorPicker{width:100%!important}.font-preview{padding:1rem;border-radius:1rem;background:#ffffff0a;color:#ffffffe6;max-height:160px;overflow:auto;line-height:1.4}.size-controls{display:flex;align-items:center;justify-content:center;gap:.75rem}.size-controls button{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#ffffffe6;font-size:1.4rem;line-height:1}.size-controls input{width:96px;padding:.5rem .75rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#00000073;color:#fffffff2;text-align:center;font-size:1rem}.panel-footnote{font-size:.8rem;color:#fff9;letter-spacing:.04em}.control-dock{position:absolute;bottom:clamp(.1rem,2vw,1.25rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:1.5rem;align-items:center;width:min(420px,100%)}.control-dock__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;width:100%}.control-dock__actions{display:flex;gap:.85rem;width:100%;align-items:stretch}.control-dock__actions .download-button{flex:1;width:auto}.chip-button{position:relative;width:100%;aspect-ratio:4/3;border-radius:1.25rem;border:4px solid rgba(255,255,255,.14);background-clip:padding-box;transition:transform .2s ease,border-color .2s ease}.chip-button--text{border-color:#ffffff52}.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:1.25rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#ffffffe6;font-size:1.25rem;font-weight:600;transition:transform .2s ease,background .2s ease}.download-button{flex:1;width:100%;padding:.85rem 1rem;border-radius:1.4rem;background:#ffffffe6;color:#090b12;font-weight:600;font-size:1.05rem;transition:transform .2s ease,background .2s ease}.chip-button:hover,.chip-button:focus-visible,.icon-button:hover,.icon-button:focus-visible{transform:translateY(-2px);border-color:#fff6;background:#ffffff29}.chip-button:focus-visible,.icon-button:focus-visible,.download-button:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.download-button:hover,.download-button:focus-visible{background:#fffffff2;transform:translateY(-1px)}.download-button[disabled]{opacity:.6;cursor:progress;transform:none}.fullscreen-button{flex:0 0 auto;padding:.8rem 1.1rem;border-radius:1.4rem;border:1px solid rgba(255,255,255,.32);background:#0c101c99;color:#ffffffe6;font-weight:500;transition:transform .2s ease,background .2s ease,border-color .2s ease}.fullscreen-button:hover,.fullscreen-button:focus-visible{background:#ffffff2e;border-color:#fff9;transform:translateY(-1px)}.fullscreen-button:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:768px){.wallpaper-shell{flex-direction:column;align-items:stretch;gap:1.5rem;padding:clamp(1.5rem,6vw,2.5rem);background:linear-gradient(130deg,#0c1421eb,#080a14eb);overflow:visible}.wallpaper-stage{min-height:clamp(320px,70vw,480px);padding:clamp(1.25rem,6vw,2.5rem);order:1}.floating-panel{position:static;width:100%;margin-inline:0;margin-top:1rem;display:none;opacity:1;pointer-events:auto;transform:none;order:2;z-index:auto}.floating-panel[data-visible=true]{display:block}.floating-panel--background,.floating-panel--text,.floating-panel--font{left:auto;right:auto;transform:none}.floating-panel--size{right:auto;bottom:auto;transform:none}.floating-panel--font[data-visible=true],.floating-panel--size[data-visible=true]{transform:none}.control-dock{position:static;left:auto;bottom:auto;transform:none;width:100%;margin-top:1.5rem;align-items:stretch;order:3;z-index:auto}.control-dock__row{grid-template-columns:1fr;gap:.75rem}.control-dock__actions{flex-direction:column}.control-dock__actions .download-button,.fullscreen-button{width:100%}.chip-button,.icon-button{aspect-ratio:unset;height:52px}}