/* Shared Locrian UI corners. Geometry only: keep every original wipe
   animation, easing, blending and DOM structure unchanged. Never touch lessons. */
:root{
 --locrian-surface-radius:6px;
 --locrian-control-radius:5px;
 --locrian-card-radius:var(--locrian-surface-radius)
}
@media screen {
 /* Actual clickable controls and input fields, not checkbox/radio/paint inputs. */
 body :is(button,[role="button"],[role="tab"],select,textarea,
  .button,.market-category-panel a,.market-mega-link,.market-mega-chip,
  .market-filter-option,.market-sort-item,.market-breadcrumb-options a,
  .market-top-nav-button,.market-filter-summary,.mypage-menu a,.mypage-menu-action,
  .creator-category-option,.creator-category-chip,.creator-media-upload,
  .creator-upload-preview-action,.maker-library-popup button,.maker-tool,
  .maker-page-thumb,.resource-actions a,.creator-draft-delete) {
  border-radius:var(--locrian-control-radius)!important
 }
 /* Keep the attribute exclusion off the :is() selector: otherwise its six
    :not() attributes raise specificity and flatten circular avatar buttons. */
 body input:not([type="checkbox"]):not([type="radio"]):not([type="range"])
           :not([type="color"]):not([type="file"]):not([type="hidden"]) {
  border-radius:var(--locrian-control-radius)!important
 }
 /* Rectangular card and dropdown surfaces across every app section. */
 body :is([class$="-card"],[class*="-card "],
  .market-catalog-card,.market-resource-card,.market-resource-image,
  .market-catalog-image,.market-category-panel,.market-mega-menu,
  .market-filter-options,.market-sort-popover,.market-breadcrumb-options,
  .market-filterbar,.market-sort-bar,.market-filter-row,
  .page-view .mypage-identity,.page-view .mypage-body,
  .profile-info-card,.profile-panel,.profile-dialog,
  .resource-stage,.purchase-library-aside-card,
  .creator-upload-panel,.creator-upload-files,.creator-type-card,
  .creator-media-panel,.creator-media-tile,.creator-media-empty,
  .creator-media-add,.creator-thumb-section,.creator-thumb-listing,
  .creator-price-field,.creator-category-picker,.creator-category-options,
  .creator-product-preview-dialog,.creator-upload-complete,
  .creator-delivery-drop,.creator-identity-gate,
  .maker-library-preview,.maker-library-card,.maker-library-confirm,
  .maker-classroom-card,.maker-presentation-card,.maker-size-dialog,
  .maker-color-dialog,.locrian-confirm-details,.console-section,.pin-panel) {
  border-radius:var(--locrian-surface-radius)!important
 }
 /* The black moving plate has exactly the host corner radius.
    No overflow clipping is added to menu hosts, which own flyouts. */
 body :is(.market-category-button,.market-category-panel a,
  .market-filter-option,.market-sort-item,.market-mega-chip,
  .market-top-nav-button,.mypage-menu a,.mypage-menu-action,
  .locrian-edge-tab) {
  border-radius:var(--locrian-control-radius)!important
 }
 body :is(.locrian-edge-tab,.market-category-button,.market-category-panel a)::before {
  border-radius:inherit!important
 }
 body .site-header nav[aria-label="주 메뉴"]>.site-header-nav-fill,
 body .locrian-wipe-host>.locrian-wipe-plate {
  border-radius:var(--locrian-control-radius)!important
 }
 body :is(.market-category-button,.market-filter-option,.market-sort-item,
  .market-top-nav-button,.creator-type-card,.creator-category-option,
  .creator-upload-preview-action).locrian-edge-tab {overflow:hidden}
 /* Explicitly keep established circular avatars, swatches and search glyphs. */
 body :is(.site-header .market-account-profile,.site-header .market-store-link,
  .site-header .market-cart-link,.site-header .market-header-search button,
  .market-header-search button,.market-creator-avatar,.mypage-avatar,
  .store-profile,.creator-edit-avatar,.creator-image-gear,
  .providers-round .provider-circle,
  .maker-app .maker-color-swatch,.maker-app .maker-color-custom-swatch){
  border-radius:50%!important
 }
 body .market-header-search,
 body.market-search-header .site-header .market-header-search,
 body .resource-tags a,body .market-home-banner-button{
  border-radius:999px!important
 }
}

/* §153 category extension: real moving category highlight plates are siblings,
   not the individual button ::before elements. Their own rounded border keeps
   the black wipe within the same 5px corners on first fill AND later slides.
   Preserve original clip-path keyframes, hover/click semantics and durations. */
@media screen {
 body .market-top-nav-inner>.market-top-nav-fill,
 body .market-mega-links>.market-mega-highlight{
  border-radius:var(--locrian-control-radius)!important;
 }
 body .market-top-nav-inner>.market-top-nav-button,
 body .market-mega-links>.market-mega-link,
 body .market-mega-browse,
 body .market-mega-chip{
  border-radius:var(--locrian-control-radius)!important;
 }
 /* Category popover is 6px. Round opaque header/body edges themselves rather
    than clipping the parent and breaking mobile horizontal scrolling. */
 body .market-mega-menu>.market-mega-header{
  border-radius:var(--locrian-surface-radius) var(--locrian-surface-radius) 0 0;
 }
 body .market-mega-menu>.market-mega-columns{
  border-radius:0 0 var(--locrian-surface-radius) var(--locrian-surface-radius);
 }
 body .market-mega-menu .market-mega-columns>.market-mega-column:first-child{
  border-bottom-left-radius:var(--locrian-surface-radius);
 }
 body .market-mega-menu .market-mega-columns>.market-mega-column:last-child,
 body .market-mega-menu .market-mega-columns>.market-mega-detail:last-child{
  border-bottom-right-radius:var(--locrian-surface-radius);
 }
}

/* Store photo editor is a rectangular STAGE, not the circular user avatar
   shown elsewhere. This exception must override the shared 50%!important
   avatar radius while leaving every real avatar and color swatch round. */
@media screen {
 body .creator-store-dialog .creator-store-preview--profile .creator-edit-avatar,
 body .creator-store-dialog .creator-store-preview--profile .creator-edit-avatar.is-cropping,
 body .creator-store-dialog .creator-store-preview--cover .creator-edit-banner,
 body .creator-store-dialog .creator-store-preview--cover .creator-edit-banner.is-cropping {
  border-radius:0!important;
 }
}
