/* Distinct surfaces are shared by the public form and gallery samples. */
.surface-liquid{background:linear-gradient(135deg,#ffffffa6,#ffffff40)!important;backdrop-filter:blur(24px) saturate(160%);border:1px solid #ffffffb3!important;box-shadow:inset 0 2px 2px #fff,0 24px 70px #315b9733!important}
.surface-frost{background:#ffffffb8!important;backdrop-filter:blur(18px);border:1px solid #ffffff!important;box-shadow:0 20px 50px #5c429529!important}
.surface-aurora{background:linear-gradient(145deg,#dbeafecc,#f5d0fecc,#ccfbf1cc)!important;backdrop-filter:blur(16px)}
.surface-material{box-shadow:0 3px 6px #0002,0 12px 24px #0001!important;border-radius:28px!important;border:0!important}
.surface-newspaper{font-family:Georgia,serif!important;border:3px double currentColor!important;border-radius:0!important;box-shadow:none!important;background-image:repeating-linear-gradient(0deg,transparent,transparent 22px,#00000003 23px)!important}
.surface-ledger{border:2px solid #164e63!important;border-radius:0!important;background-image:linear-gradient(#164e630c 1px,transparent 1px),linear-gradient(90deg,#164e630c 1px,transparent 1px)!important;background-size:24px 24px!important}
.surface-blueprint{border:1px solid #bae6fd!important;background-image:linear-gradient(#ffffff0f 1px,transparent 1px),linear-gradient(90deg,#ffffff0f 1px,transparent 1px)!important;background-size:20px 20px!important}
.surface-notebook{border-left:4px solid #ef4444!important;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,#2563eb18 28px)!important}
.surface-receipt{font-family:'Courier New',monospace!important;border:2px dashed #777!important;border-radius:0!important;box-shadow:0 8px 16px #0002!important}
.surface-terminal{font-family:'Courier New',monospace!important;border:1px solid #4ade80!important;box-shadow:0 0 35px #4ade801c!important}
.surface-brutalist{border:3px solid #111!important;border-radius:0!important;box-shadow:8px 8px 0 #111!important}
.surface-clay{border:0!important;box-shadow:inset 8px 8px 16px #fff9,inset -8px -8px 16px #b5674033,0 16px 24px #b5674022!important;border-radius:32px!important}
.surface-neumorphic{border:0!important;box-shadow:12px 12px 28px #b8c1d0,-12px -12px 28px #fff!important}
.surface-mesh{background:radial-gradient(at 0% 0%,#fbcfe8,transparent 65%),radial-gradient(at 100% 100%,#c7d2fe,transparent 65%),#fff!important}
.surface-gradient{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--form-accent) 14%,white))!important}
.surface-luxury{border:1px solid #c9a859!important;box-shadow:inset 0 0 0 7px #29251f,inset 0 0 0 8px #c9a859,0 20px 50px #0004!important}
.surface-museum{font-family:Georgia,serif!important;border-top:6px solid var(--form-accent)!important;border-radius:0!important;box-shadow:none!important}
.surface-polaroid{border-radius:2px!important;box-shadow:0 10px 20px #0003!important;border-bottom:24px solid white!important}
.surface-omr{border:3px solid #111827!important;border-radius:0!important;background-image:radial-gradient(#11182715 1px,transparent 1px)!important;background-size:12px 12px!important}
.surface-ticket{border:2px dashed var(--form-accent)!important;border-radius:24px!important;box-shadow:0 12px 24px #6d28d91a!important}
.surface-comic{border:3px solid #231d24!important;box-shadow:6px 6px 0 #231d24!important;border-radius:28px 8px 28px 8px!important}
.surface-minimal{box-shadow:none!important;border:0!important;border-top:1px solid currentColor!important;border-radius:0!important}
.surface-soft{box-shadow:0 18px 50px #db27771a!important;border-radius:32px!important}
.style-sample{padding:16px;min-height:100px;--form-accent:#365ce9}.form-style-tile{transition:transform .15s}.form-style-tile:hover{transform:translateY(-2px)}

.surface-omr .form-radio-group>label,.surface-omr .form-check-group>label{border:1px solid currentColor;border-radius:0;padding:8px 12px}.surface-omr input[type=radio],.surface-omr input[type=checkbox]{width:20px;height:20px;accent-color:#111827}

.form-style-tile[aria-pressed=true]{outline:3px solid #365ce9;outline-offset:1px}
/* Additional structural surfaces. */
.surface-fold{border-top:12px solid var(--form-accent)!important;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%);box-shadow:inset -12px 0 0 #00000008!important}
.surface-envelope{border:1px solid var(--form-accent)!important;border-top:16px solid var(--form-accent)!important;background-image:linear-gradient(150deg,#00000005 25%,transparent 25%)!important}
.surface-carbon{background-image:repeating-linear-gradient(45deg,#ffffff08 0 2px,transparent 2px 8px),repeating-linear-gradient(-45deg,#ffffff05 0 2px,transparent 2px 8px)!important}
.surface-circuit{border:2px solid #34d399!important;background-image:linear-gradient(90deg,#34d39910 1px,transparent 1px),linear-gradient(#34d39910 1px,transparent 1px)!important;background-size:36px 36px!important;box-shadow:inset 0 0 40px #34d3990c!important}
.surface-terrazzo{background-image:radial-gradient(ellipse at 12% 15%,#f472b633 0 3px,transparent 4px),radial-gradient(ellipse at 70% 80%,#2563eb33 0 4px,transparent 5px)!important;background-size:37px 43px,53px 59px!important}
.surface-linen{background-image:repeating-linear-gradient(0deg,#00000003 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#00000003 0 1px,transparent 1px 3px)!important;border:1px solid #a8a29e!important}
.surface-vellum{background:#fffbebdf!important;box-shadow:0 12px 32px #78350f20!important;font-family:Georgia,serif!important;border:1px solid #d6c5a0!important}
.surface-stained{border:6px solid var(--form-accent)!important;background-image:conic-gradient(from 30deg at 10% 5%,#e0f2fe,#fae8ff,#ecfdf5,#e0f2fe)!important;box-shadow:inset 0 0 0 2px #111!important}
.surface-spotlight{background:radial-gradient(ellipse at top,#fff,#e2e8f0)!important;box-shadow:0 28px 60px #0f172a25!important;border-top:2px solid white!important}
.surface-ribbon{border-left:12px solid var(--form-accent)!important;border-radius:0 24px 24px 0!important;box-shadow:6px 8px 0 color-mix(in srgb,var(--form-accent) 15%,transparent)!important}
.surface-tabs{border-top:14px solid var(--form-accent)!important;border-radius:8px 32px 8px 8px!important;box-shadow:4px 4px 0 #cbd5e1,8px 8px 0 #e2e8f0!important}
.surface-dossier{border:2px solid #64748b!important;border-left:16px solid #64748b!important;border-radius:0!important;font-family:'Courier New',monospace!important}
.surface-graph{background-image:linear-gradient(#2563eb14 1px,transparent 1px),linear-gradient(90deg,#2563eb14 1px,transparent 1px)!important;background-size:10px 10px!important;border:1px solid #2563eb!important;border-radius:0!important}
.surface-scanline{background-image:repeating-linear-gradient(0deg,#0003 0 1px,transparent 1px 4px)!important;font-family:'Courier New',monospace!important;border:1px solid #a3e635!important}
.surface-pixel{border:4px solid var(--form-accent)!important;border-radius:0!important;box-shadow:8px 0 0 #000,0 8px 0 #000!important;font-family:'Courier New',monospace!important}
.surface-halftone{background-image:radial-gradient(#0000000c 1px,transparent 1px)!important;background-size:6px 6px!important;border:3px solid currentColor!important;box-shadow:5px 5px 0 var(--form-accent)!important}
.surface-stamp{border:5px dotted var(--form-accent)!important;border-radius:0!important;box-shadow:inset 0 0 0 4px white!important}
.surface-arch{border-radius:80px 80px 12px 12px!important;border-top:5px solid var(--form-accent)!important}
.surface-portal{border:2px solid var(--form-accent)!important;box-shadow:0 0 0 5px #ffffff18,0 0 0 10px #ffffff08,0 0 45px var(--form-accent)!important;border-radius:40px!important}
.surface-framed{border:12px solid #44403c!important;box-shadow:inset 0 0 0 3px #d6d3d1,0 12px 24px #0002!important;border-radius:0!important;font-family:Georgia,serif!important}
.surface-riso{border:2px solid var(--form-accent)!important;box-shadow:6px 6px 0 #fb718555,-4px -4px 0 #38bdf833!important;background-image:radial-gradient(#0000000a 1px,transparent 1px)!important;background-size:3px 3px!important}
.surface-wave{position:relative;border-bottom:0!important;border-radius:20px 20px 0 0!important;padding-bottom:64px!important}
.surface-wave::after{content:"";position:absolute;bottom:0;left:0;right:0;height:36px;pointer-events:none;background:var(--form-accent);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 36'%3E%3Cpath d='M0 18Q30 0 60 18T120 18V36H0Z'/%3E%3C/svg%3E") repeat-x bottom/120px 36px}
.surface-stripe{border-top:12px solid var(--form-accent)!important;border-bottom:3px solid var(--form-accent)!important;border-radius:0!important}
.surface-contour{background-image:repeating-radial-gradient(ellipse at top left,transparent 0 18px,#0478570c 19px 20px)!important;border:1px solid #047857!important}
.surface-accordion{background-image:repeating-linear-gradient(90deg,transparent 0 59px,#00000006 60px,#00000002 61px,transparent 62px)!important;border-top:2px dashed #78716c!important;border-bottom:2px dashed #78716c!important;border-radius:0!important}
/* OMR is an input treatment independent of the card surface. */
body.input-omr .form-input,body.input-omr .form-textarea,body.input-omr .form-select,body.input-omr [data-signature-pad],body.input-omr .form-file{border-radius:0!important;border:1px solid var(--form-text)!important;background:transparent}
body.input-omr .form-radio-group>label,body.input-omr .form-check-group>label{border:1px solid currentColor;border-radius:0!important;padding:10px 12px}
body.input-omr input[type=radio],body.input-omr input[type=checkbox]{appearance:none;width:22px;height:22px;border:2px solid currentColor;border-radius:50%;background:transparent;flex-shrink:0}
body.input-omr input[type=radio]:checked,body.input-omr input[type=checkbox]:checked{background:var(--form-accent);box-shadow:inset 0 0 0 3px var(--form-card)}
body.input-omr .character-input-wrap>.form-input,body.input-omr .character-input-wrap>.form-textarea{border:0!important}
.character-multiline{height:80px}.character-multiline .character-cells{align-items:flex-start}.character-multiline .character-cells span{height:46px}.character-multiline textarea{white-space:pre;resize:vertical}

.surface-scallop{border:8px dotted var(--form-accent)!important;border-radius:24px!important}
.surface-woven{background-image:repeating-linear-gradient(45deg,#854d0e08 0 3px,transparent 3px 9px),repeating-linear-gradient(-45deg,#854d0e08 0 3px,transparent 3px 9px)!important;border:2px solid #a16207!important}
.surface-spectrum{border:4px solid transparent!important;background:linear-gradient(white,white) padding-box,conic-gradient(#2563eb,#db2777,#f59e0b,#0d9488,#2563eb) border-box!important}
.surface-duotone{border-left:14px solid var(--form-accent)!important;background-image:linear-gradient(90deg,#2563eb10 50%,transparent 50%)!important}
.surface-emboss{border:1px solid #cbd5e1!important;box-shadow:inset 0 0 0 8px #f8fafc,inset 0 0 0 9px #cbd5e1,0 10px 30px #33415520!important}
.surface-mosaic{background-image:linear-gradient(45deg,#0f766e0a 25%,transparent 25%,transparent 75%,#0f766e0a 75%),linear-gradient(45deg,#0f766e0a 25%,transparent 25%,transparent 75%,#0f766e0a 75%)!important;background-size:32px 32px!important;background-position:0 0,16px 16px!important}
.surface-sprinkles{background-image:radial-gradient(#be185d30 2px,transparent 3px),radial-gradient(#2563eb20 2px,transparent 3px)!important;background-size:45px 55px,65px 45px!important;background-position:0 0,20px 20px!important}
.surface-film{border-left:12px dashed #334155!important;border-right:12px dashed #334155!important;border-radius:0!important;font-family:Georgia,serif!important}
/* Per-question colors override decorative textures without affecting other slides. */
.form-oneq.slide-background{background:var(--slide-background)!important;color:var(--slide-text)!important;--form-text:var(--slide-text);transition:background-color .25s,color .25s}
