/* Shared visual system for theme geometry, previews and restrained motion.
 * Clinical severity colors and answer-state colors keep their existing owners.
 */
:root{
 --ui-radius-xl:20px;--ui-radius-lg:16px;--ui-radius-md:12px;
 --ui-ease:cubic-bezier(.22,.72,.28,1);
}
:root[data-base-theme="standard"][data-theme="light"]{--shadow:0 14px 42px rgba(27,55,91,.075)}
:root[data-base-theme="standard"][data-theme="dark"]{--shadow:0 18px 46px rgba(0,7,22,.28)}
:root[data-base-theme="standard"][data-service-theme="custom"]:not([data-personal-mode]) body{
 background:
  radial-gradient(ellipse 46% 25% at 92% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 72%),
  radial-gradient(ellipse 34% 23% at 3% 34%,rgba(44,151,181,.055),transparent 74%),
  var(--bg);
}
:root[data-base-theme="standard"][data-service-theme="custom"]:not([data-personal-mode]) :is(.header,.sidebar){
 background:color-mix(in srgb,var(--paper) 91%,transparent);
 -webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%);
}
:root[data-base-theme="standard"] :is(.section,.toolbox,.field,.v081-tool-search,.profile-dialog,.clinical-tool-dialog,.v08-dialog){
 border-radius:var(--ui-radius-lg);
}
:root[data-base-theme="standard"] .section{
 border-color:color-mix(in srgb,var(--line) 82%,var(--accent) 18%);box-shadow:var(--shadow);
}
:root[data-base-theme="standard"] .field{background:color-mix(in srgb,var(--paper) 96%,var(--accent-bg) 4%)}
:root[data-base-theme="standard"] .intro h1{letter-spacing:-.035em}
:root[data-base-theme="standard"] .intro>div{max-width:780px}
:root[data-base-theme="standard"] .chip{box-shadow:0 5px 18px rgba(22,52,84,.05)}

/* All personal editions share one calm geometry while retaining their own palette. */
:root[data-personal-mode] :is(.section,.toolbox,.field,.v081-tool-search,.profile-dialog,.clinical-tool-dialog,.v08-dialog){border-radius:var(--ui-radius-lg)}
:root[data-personal-mode]:where(:not([data-personal-mode="philip"])) .section{box-shadow:0 17px 46px rgba(5,20,46,.18)!important}
:root[data-personal-mode]:where(:not([data-personal-mode="philip"])) .header .theme-top-ribbon{height:17px!important;opacity:.84;filter:none}

/* Movement communicates state changes without persistent decoration. */
:where(.nav,.btn,.base-theme-option,.service-theme-option,.appearance-options label){
 transition:background-color .28s var(--ui-ease),border-color .28s var(--ui-ease),box-shadow .28s var(--ui-ease),color .2s ease;
}
@media(hover:hover) and (pointer:fine){
 .toolbox{transition:transform .22s var(--ui-ease),box-shadow .22s var(--ui-ease),border-color .22s ease}
 .toolbox:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(14,44,77,.10)}
 :root[data-base-theme="philip"] .toolbox:hover{box-shadow:inset 0 1px 0 #ffffffa3,0 20px 50px rgba(0,19,76,.28),0 0 25px #4bc8ff29!important}
}

/* Visual previews turn the profile drawer into a small theme gallery. */
.base-theme-grid{gap:11px}
.base-theme-option{
 display:grid;grid-template-columns:18px 72px minmax(0,1fr);align-items:center;gap:10px;
 min-height:86px;padding:10px;border-radius:14px;
}
.base-theme-preview{
 position:relative;display:block;width:72px;height:52px;border-radius:10px;overflow:hidden;
 border:1px solid rgba(50,74,102,.20);box-shadow:0 5px 14px #071a3124;
}
.base-theme-preview::before{content:"";position:absolute;inset:6px 6px 6px 22px;border-radius:6px;background:rgba(255,255,255,.84);box-shadow:-16px 0 0 rgba(255,255,255,.58)}
.base-theme-preview::after{content:"";position:absolute;left:27px;right:11px;top:12px;height:5px;border-radius:4px;background:#f05a66;box-shadow:0 10px 0 rgba(77,114,151,.22),0 20px 0 rgba(77,114,151,.14)}
.base-theme-preview[data-theme-preview="standard"]{background:linear-gradient(145deg,#edf4fb,#dbe8f5)}
.base-theme-preview[data-theme-preview="philip"]{background:radial-gradient(circle at 17% 8%,#dcf5ff,transparent 28%),linear-gradient(145deg,#0872f2,#06399d)}
.base-theme-preview[data-theme-preview="philip"]::before{background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(31,104,211,.30));border:1px solid #d5f0ff9c;box-shadow:-16px 0 0 rgba(88,171,255,.30),inset 0 1px 0 #fff9}
.base-theme-preview[data-theme-preview="philip"]::after{background:#8bd8ff;box-shadow:0 10px 0 rgba(202,235,255,.42),0 20px 0 rgba(202,235,255,.28)}
.appearance-options{gap:9px}
.appearance-options label{
 min-height:78px;padding:8px;align-content:flex-start;justify-content:flex-start;flex-wrap:wrap;border-radius:13px;
}
.appearance-options label::after{
 content:"";order:-1;flex-basis:100%;height:30px;border-radius:7px;border:1px solid rgba(70,91,115,.16);
 background:linear-gradient(145deg,#f7fafc 0 54%,#dce6ef 55%);box-shadow:inset 0 1px 0 #fff8;
}
.appearance-options label[data-preview-mode="dark"]::after{background:linear-gradient(145deg,#173149 0 54%,#284b65 55%)}
.appearance-options label[data-preview-mode="system"]::after{background:linear-gradient(105deg,#f5f8fb 0 49%,#18324a 50%)}
.appearance-options label[data-preview-accent="coral"]::after{background:linear-gradient(145deg,#edf2f7 0 61%,#ed5362 62%)}
.appearance-options label[data-preview-accent="blue"]::after{background:linear-gradient(145deg,#edf2f7 0 61%,#2679d4 62%)}
.appearance-options label[data-preview-accent="green"]::after{background:linear-gradient(145deg,#edf2f7 0 61%,#16865e 62%)}
.service-theme-option{grid-template-columns:18px 58px minmax(0,1fr);min-height:82px;border-radius:14px}
.service-theme-preview{width:58px;height:48px;border-radius:9px;background:linear-gradient(155deg,var(--preview-base) 0 36%,color-mix(in srgb,var(--preview-base) 70%,white) 37% 78%,var(--preview-highlight) 79%)}
.service-theme-preview::before{content:"";position:absolute;left:7px;top:7px;width:9px;bottom:7px;border-radius:4px;background:linear-gradient(180deg,color-mix(in srgb,var(--preview-base) 75%,white),color-mix(in srgb,var(--preview-base) 65%,black))}
.service-theme-preview::after{left:21px;right:7px;top:9px;height:4px;box-shadow:0 9px 0 color-mix(in srgb,var(--preview-highlight) 65%,white),0 18px 0 color-mix(in srgb,var(--preview-base) 35%,white)}
.season-theme-preview{
 display:block;height:38px;margin-top:10px;border:1px solid var(--line);border-radius:10px;
 background:linear-gradient(145deg,var(--paper),var(--bg));position:relative;overflow:hidden;
}
.season-theme-preview::after{content:"";position:absolute;inset:auto 10px 8px;height:3px;border-radius:999px;background:#aeb8c4;opacity:.65}
.season-theme-preview[data-season-preview="halloween"]{background:radial-gradient(circle at 82% 18%,#e7a05b66,transparent 28%),linear-gradient(145deg,#18223a,#44294d 58%,#68412c)}
.season-theme-preview[data-season-preview="halloween"]::after{background:linear-gradient(90deg,#523367,#c57942,#e0ac67,#6e3c72)}
.season-theme-preview[data-season-preview="christmas"]{background:radial-gradient(circle at 78% 20%,#effcff88,transparent 33%),linear-gradient(145deg,#69152a,#bc2d42 58%,#174e64)}
.season-theme-preview[data-season-preview="christmas"]::after{background:linear-gradient(90deg,#8f1729,#df3d50,#fff,#d63248,#8f1729)}
.season-theme-preview[data-season-preview="breast-cancer"]{background:radial-gradient(circle at 80% 22%,#f2a8c766,transparent 33%),linear-gradient(145deg,#fff4f8,#eed7e3)}
.season-theme-preview[data-season-preview="breast-cancer"]::after{background:linear-gradient(90deg,#a84a78,#ed94b9,#b74e84)}
.season-theme-preview[data-season-preview="mental-health"]{background:radial-gradient(circle at 80% 20%,#7fc6ba55,transparent 34%),linear-gradient(145deg,#edf9f5,#d8e8df)}
.season-theme-preview[data-season-preview="mental-health"]::after{background:linear-gradient(90deg,#327f80,#86b9a7,#4a9690)}
.season-theme-preview[data-season-preview="pride"]{background:linear-gradient(145deg,#f4f1ff,#e2e6f8)}
.season-theme-preview[data-season-preview="pride"]::after{background:linear-gradient(90deg,#d95b6d,#e4ab47,#6eac82,#6898cd,#9266b7)}

@media(max-width:770px){
 :root[data-base-theme="standard"] .section{box-shadow:0 7px 20px rgba(20,48,79,.055)}
 :root[data-base-theme="standard"][data-service-theme="custom"]:not([data-personal-mode]) :is(.header,.sidebar){background:color-mix(in srgb,var(--paper) 97%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
 :root[data-personal-mode]:where(:not([data-personal-mode="philip"])) .section{box-shadow:0 8px 22px rgba(5,20,46,.12)!important}
 :root[data-personal-mode]:where(:not([data-personal-mode="philip"])) .header .theme-top-ribbon{height:10px!important}
}
@media(max-width:520px){
 .base-theme-grid,.service-theme-grid{grid-template-columns:1fr}
 .base-theme-option{grid-template-columns:18px 64px minmax(0,1fr)}
 .base-theme-preview{width:64px;height:48px}
 .appearance-options{grid-template-columns:repeat(3,minmax(0,1fr))}
 .appearance-options label{min-height:72px;font-size:10px;padding:6px}
 .appearance-options label::after{height:25px}
}
@media(prefers-reduced-motion:reduce){
 :where(.nav,.btn,.base-theme-option,.service-theme-option,.appearance-options label){transition:none!important}
 .toolbox:hover{transform:none!important}
}
