/* Shared controls on every cabinet route. The decorative layer never changes
   focus, action handlers, form values or accessible names. */
html body:is(.watercolor-home,.watercolor-cabinet) :is(button,a).wc-ref-button:disabled,
html body:is(.watercolor-home,.watercolor-cabinet) :is(button,a).wc-ref-button[aria-disabled='true']{opacity:.56;cursor:default;filter:saturate(.6);transform:none!important}
html body:is(.watercolor-home,.watercolor-cabinet) .wc-ref-button:disabled .wc-ref-sweep{animation:none!important}
/* Direct controls from an asynchronously loaded view still look like glass
   for the frame before the common DOM decorator attaches its painted face. */
html body:is(.watercolor-home,.watercolor-cabinet) :is(#app,#modal) :is(button,a):is(.primary,.soft-btn,.text-link,.secondary,.btn):not(.wc-ref-button):not([data-wc-no-skin]){
 border:1px solid #a4936c9e;border-top-color:#f9ecc3;border-bottom-color:#7765418c;border-radius:999px;
 background:radial-gradient(ellipse 37% 9% at 25% 4%,#ffffffeb,transparent 96%),linear-gradient(175deg,#ffffff69,#d9ebe330 49%,#d4e9e474);
 box-shadow:inset 0 2px 1px #ffffffe0,inset 2px 0 2px #fff8,inset -1px 0 2px #486f7638,inset 0 -3px 2px #87b8b84f,0 2px 3px #18383e19;
 backdrop-filter:blur(7px) saturate(130%);-webkit-backdrop-filter:blur(7px) saturate(130%);
 color:var(--text);max-width:100%;white-space:normal;min-width:0
}
html[data-theme='dark'] body:is(.watercolor-home,.watercolor-cabinet) :is(#app,#modal) :is(button,a):is(.primary,.soft-btn,.text-link,.secondary,.btn):not(.wc-ref-button):not([data-wc-no-skin]){
 background:radial-gradient(ellipse 37% 9% at 25% 4%,#d5ffffd1,transparent 96%),linear-gradient(175deg,#8bc6c846,#123c4ba8 49%,#3c79894f);color:#e8efe1;
 box-shadow:inset 0 2px 1px #daffff9c,inset 2px 0 2px #c7ffff40,inset 0 -3px 2px #80baba4f,0 2px 3px #071c254a
}
html body:is(.watercolor-home,.watercolor-cabinet) .wc-ref-button:not(.wc-ref-painted):not(.wc-ref-nav)>.wc-ref-surface{
 border-top-color:#f2e8caff!important;border-bottom-color:#80734e9c!important;
 box-shadow:inset 0 2px 1px #ffffffeb,inset 2px 0 2px #fff9,inset -1px 0 2px #254f5b32,inset 0 -3px 2px #81b0b173,0 1px 1px #49676312!important;
}
html[data-theme='dark'] body:is(.watercolor-home,.watercolor-cabinet) .wc-ref-button:not(.wc-ref-painted):not(.wc-ref-nav)>.wc-ref-surface{
 box-shadow:inset 0 2px 1px #d3ffffab,inset 2px 0 2px #e0ffff57,inset -1px 0 2px #0327376b,inset 0 -3px 2px #80babc74!important;
}
/* Map controls live in their own iframe, so give them the same material.
   Transparent building hit targets and frontier fog remain untouched. */
.watercolor-world :is(.primary,.secondary,.back-button,.wc-map-controls button,.location-page button:not(.location),dialog button):not(.frontier):not(.location){
 position:relative;isolation:isolate;border:1px solid #ac986e;border-top-color:#fff0c4;border-bottom-color:#726044;border-radius:999px;
 padding:10px 18px;min-height:38px;max-width:100%;white-space:normal;
 color:var(--wc-map-ink,#143c47);font:700 14px/1.3 Georgia,serif;
 background:radial-gradient(ellipse 40% 8% at 24% 5%,#fffffff0,transparent 97%),linear-gradient(176deg,#ffffff87,#cedfd737 48%,#dae6dca8);
 box-shadow:inset 0 2px 1px #ffffffe8,inset 2px 0 2px #faffffb3,inset 0 -3px 2px #7faeb373,0 2px 4px #16333828;
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.watercolor-world :is(.primary,.location-page .primary){
 color:#fffbea;text-shadow:0 1px 2px #173f48;
 background:radial-gradient(ellipse 38% 8% at 24% 5%,#eaffffee,transparent 97%),linear-gradient(180deg,#b7f5f83a,transparent 39%,#001f3526 80%),url('/static/student/assets/watercolor/buttons-v8/teal-face.svg') center/100% 100%,#157d8c
}
.watercolor-world .wc-map-controls button{padding:0;min-height:35px;min-width:35px;font-size:24px;line-height:1}
html[data-theme='dark'] .watercolor-world :is(.secondary,.back-button,.wc-map-controls button,.location-page button:not(.location):not(.primary),dialog button:not(.primary)){
 color:#e5eadb;background:radial-gradient(ellipse 40% 8% at 24% 5%,#e1ffffe0,transparent 97%),linear-gradient(176deg,#77b6be55,#123949ba 48%,#3c788873);
 box-shadow:inset 0 2px 1px #e0ffffab,inset 2px 0 2px #ddffff4a,inset 0 -3px 2px #639caa86,0 2px 4px #041c294a
}
.watercolor-world :is(.primary,.secondary,.back-button,.wc-map-controls button):focus-visible{outline:2px solid #42b6c4;outline-offset:3px}
.watercolor-world :is(.primary,.secondary,.back-button,.wc-map-controls button):disabled{opacity:.5;cursor:default}
