/* Style rond (2), the default; style carré (3), the 8px keyboard corners. */
html[data-university-frames=rounded]{--trial-radius:14px;--trial-radius-large:20px;--trial-radius-small:11px;--trial-radius-key:12px;--trial-radius-progress:999px;--trial-stroke:3px}
html[data-university-frames=compact]{--trial-radius:8px;--trial-radius-large:8px;--trial-radius-small:8px;--trial-radius-key:8px;--trial-radius-progress:8px;--trial-stroke:3px}
/* The University installer enables the selected style.
   Specificity covers legacy library ID selectors. Keep existing border widths
   and padding: the inner outline changes no hitbox or layout measurement.
   Source remains readable for hover, verdict and theme changes; slice 0 omits fill. */
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) [data-rounded-frame]{
 border-image-slice:0!important;border-image-width:0!important;border-image-outset:0!important;
 border-color:transparent!important;border-radius:var(--trial-radius)!important;
 background:var(--rounded-face)!important;background-clip:border-box!important;
 box-shadow:none!important;outline:var(--trial-stroke) solid var(--rounded-edge)!important;outline-offset:calc(-1 * var(--trial-stroke))!important;
}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) [data-rounded-after]::after{
 border-image-slice:0!important;border-image-width:0!important;border-radius:inherit!important;
 background:var(--rounded-face-after)!important;box-shadow:none!important;outline:var(--trial-stroke) solid var(--rounded-edge-after)!important;outline-offset:calc(-1 * var(--trial-stroke))!important;
}
/* The outline above IS the designed frame; focus must never add or move it. */
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) :is(.uni-classroom-paper,.uni-stimulus,.uni-exit-content,.verb-content,.fc-face,.uni-finish-metric)[data-rounded-frame]{border-radius:var(--trial-radius-large)!important}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) :is(.uni-timetable-xp,.uni-word-tile,.uni-pronunciation-button)[data-rounded-frame]{border-radius:var(--trial-radius-small)!important}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) :is(#university-dialog,#vocabulary-dialog[data-university-library],#university-bases-dialog) :is(.uni-answer,.uni-inline-input,.pixel-keyboard button,.verb-search,.kana-cell,.pixel-button){border-radius:var(--trial-radius-key)!important}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) :is(.uni-tile-slot,.uni-tile-drop-gap){border-radius:var(--trial-radius-small)!important;clip-path:none!important}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) .uni-progress{border-radius:var(--trial-radius-progress)!important;overflow:hidden}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) .uni-progress>span{border-radius:inherit!important}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) #vocabulary-dialog[data-university-library] .learning-top-navigation>button::after{background:none!important;border-radius:var(--trial-radius)!important;outline:var(--trial-stroke) solid #a599b7;outline-offset:calc(-1 * var(--trial-stroke))}
html:is([data-university-frames=rounded],[data-university-frames=compact])[data-university-theme=dark]:not(#round-a#round-b#round-c#round-d) #vocabulary-dialog[data-university-library] .learning-top-navigation>button::after{outline-color:#828b94}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) [data-rounded-navigation]{background:var(--rounded-nav-art) center/100% 100% no-repeat var(--rounded-nav-face)!important;border-radius:var(--trial-radius)!important;outline:var(--trial-stroke) solid var(--rounded-nav-edge)!important;outline-offset:calc(-1 * var(--trial-stroke))!important}
/* Feedback remains an unframed sheet, as requested in both approved themes. */
/* The real hold popup lives outside .pixel-keyboard. Cover its directional
   cells and its Latin/kana selector, preserving live colours and Japanese font. */
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) :is(#university-dialog,#vocabulary-dialog[data-university-library],#university-bases-dialog) .pixel-keyboard button,
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) :is(.pixel-key-preview:not(.is-cross),.pixel-key-preview.is-cross>span){
 border-style:solid!important;border-width:var(--trial-stroke)!important;border-radius:var(--trial-radius-key)!important;box-shadow:none!important;
}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) .pixel-key-preview:not(.is-expanded){background:var(--preview-tone,#fff8ff)!important;filter:none!important}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) .pixel-key-preview:not(.is-expanded)::before,
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) .pixel-key-preview:not(.is-expanded)::after{content:none!important}
html:is([data-university-frames=rounded],[data-university-frames=compact]):not(#round-a#round-b#round-c#round-d) .pixel-key-preview:not(.is-cross)>span{border-radius:calc(var(--trial-radius-key) - var(--trial-stroke))!important}
/* Creator's keyboard exception: style carré in both themes. Keep these tokens
   local to keyboards/popups so inputs, answer tiles and other frames stay round. */
html:is([data-university-frames=rounded],[data-university-frames=compact]) :is(#university-dialog,#vocabulary-dialog[data-university-library],#university-bases-dialog) .pixel-keyboard,
html:is([data-university-frames=rounded],[data-university-frames=compact]):has(:is(#university-dialog,#vocabulary-dialog[data-university-library],#university-bases-dialog)[open]) .pixel-key-preview{
 --trial-radius-key:8px;
}
