/* Shared visual polish. Motion is optional; content and access controls stay unchanged. */
:root{--kombis-navy:#103b61;--kombis-orange:#ff8a00;--kombis-shadow:0 12px 36px #103b610d;--kombis-ease:cubic-bezier(.2,.75,.25,1)}
html{scroll-behavior:smooth;scroll-padding-bottom:100px}body{-webkit-font-smoothing:antialiased}h1,h2,h3{text-wrap:balance}p{line-height:1.65}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{min-height:44px}button,.button,.home-wide,.home-tile{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s var(--kombis-ease),border-color .2s ease}button:not(:disabled):active,.button:active,.home-wide:active{transform:scale(.98)}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #ff9d25;outline-offset:4px}
input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease;background:#fff;min-height:46px}input:focus,select:focus,textarea:focus{border-color:#287ab3;box-shadow:0 0 0 5px #287ab312}input[type=checkbox]{min-height:20px;accent-color:#103b61}input[type=file]{overflow:hidden}textarea{resize:vertical}label{line-height:1.45}
.card,.home-card{border:1px solid #dce6ef;box-shadow:var(--kombis-shadow);transition:box-shadow .25s ease,border-color .25s ease}.card:focus-within{border-color:#b0cbe0}.status{border:1px solid #cee1f2;box-shadow:0 4px 16px #103b6105}.status.error{border-color:#efc6bf}.notice,.campus-note{border-radius:18px}.campus-note{border:1px solid #ffe1bb}.home-card small{display:inline-block;border-radius:8px;background:#f0f5fa;color:#53667a;padding:4px 9px;margin-bottom:8px}.home-row small{background:transparent;padding:0;margin:0}.home-actions{flex-wrap:wrap}.home-actions>*{min-width:110px}
header,.home-hero{background:radial-gradient(ellipse at 90% 0%,#3776a76b,transparent 65%),linear-gradient(125deg,#0c2d50,#1a5182)}.home-hero{box-shadow:0 18px 38px #103b6112;position:relative}.home-brand>div:not(.photo-slot){min-width:0}.home-brand p{overflow-wrap:anywhere}.photo-slot{margin-left:0;margin-inline-start:auto}.profile-photo{box-shadow:0 0 0 7px #ffffff08;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.connection-dot{z-index:1}.home-hero input{box-shadow:0 8px 24px #001e361a;border:1px solid #cad9e5}.home-hero input:focus{box-shadow:0 0 0 5px #ffffff25,0 10px 28px #001e3625}.home-heading h2{font-size:24px}.home-heading button{border-radius:10px}.home-tile{border:1px solid #e2e9f0;box-shadow:0 5px 20px #103b6105}.home-tile span{transition:transform .25s var(--kombis-ease)}.home-tile[aria-pressed=true]{background:#fff4e5;box-shadow:0 8px 22px #ff8a0012}.home-wide{border:1px solid #dce5ef}.home-orange{box-shadow:0 7px 20px #ff8a001c}.home-navy{box-shadow:0 7px 20px #103b6115}#home-status:not(:empty){padding:15px 18px;border:1px dashed #c5d4e2;border-radius:18px;background:#f9fbfd;color:#53667a}
.member-nav{box-shadow:0 -8px 30px #103b610b;border-radius:20px 20px 0 0;gap:3px;padding-top:10px}.member-nav>*{border-radius:13px;transition:background-color .2s ease,color .2s ease}.member-nav [aria-current=page]{background:#eaf2f9}.member-nav span{transition:transform .2s var(--kombis-ease)}.member-nav [aria-current=page] span{transform:translateY(-2px)}.profile-mode .avatar{box-shadow:0 0 0 7px #fff3e0;margin-bottom:8px}
.welcome-mode{background:radial-gradient(ellipse at 8% 5%,#2c6c9d55,transparent 50%),radial-gradient(ellipse at 95% 65%,#1d5d8c55,transparent 55%),linear-gradient(145deg,#10345a,#164d7d)}.welcome-brand img{box-shadow:0 12px 35px #001b3433;border:1px solid #ffffff55}.welcome-description{color:#edf5ff}.welcome-categories>div{border:1px solid #ffffff18;box-shadow:inset 0 1px 0 #ffffff09;transition:background-color .2s ease,transform .2s ease}.welcome-actions .home-orange{box-shadow:0 10px 30px #000c251f}.welcome-actions>button:not(.home-orange),.welcome-actions>a{border-radius:14px}.language-bar{background:#10365b;border-bottom:1px solid #ffffff0c}.language-dialog{box-shadow:0 24px 80px #061d3533}
dialog{box-shadow:0 24px 80px #061d3533;max-height:85dvh;overflow:auto}dialog[open]{animation:kombis-dialog .22s var(--kombis-ease)}dialog::backdrop{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.thread-list button{border:1px solid #dce6ef}.thread-list button[aria-current=true]{border-color:#103b61;box-shadow:0 6px 18px #103b6115}.message-list li{box-shadow:0 3px 10px #103b6105}.message-list li.mine{background:#e4f1fd;border-left:0;border-inline-start:3px solid #206294}.message-list li.mine{margin-left:0;margin-inline-start:auto}#message-form textarea:focus{background:#fcfdff}
@media(hover:hover) and (pointer:fine){button:not(:disabled):not(.home-heading button):not(.member-nav>*):hover,.button:hover{box-shadow:0 6px 20px #103b611c;transform:translateY(-2px)}.home-wide:hover{background:#dde8f2;transform:translateY(-2px)}.home-orange:hover{background:#ff9b25}.home-navy:hover{background:#19507d}.home-tile:hover{transform:translateY(-4px);box-shadow:0 12px 26px #103b6112;border-color:#bdcede}.home-tile:hover span{transform:translateY(-2px) scale(1.08)}.welcome-categories>div:hover{background:#ffffff20;transform:translateY(-3px)}.welcome-actions>button:not(.home-orange):hover,.welcome-actions>a:hover{background:#ffffff0e}.profile-photo:hover{border-color:#ffffffb3;box-shadow:0 0 0 8px #ffffff12}.member-nav>*:hover{background:#f0f5fa}.home-heading button:hover{background:#eaf1f7}}
@media(prefers-reduced-motion:no-preference){.welcome-brand,.home-hero{animation:kombis-enter .45s var(--kombis-ease) both}.welcome-description{animation:kombis-enter .45s .05s var(--kombis-ease) both}.welcome-categories{animation:kombis-enter .45s .1s var(--kombis-ease) both}.welcome-actions{animation:kombis-enter .45s .15s var(--kombis-ease) both}.card,.home-card{animation:kombis-enter .32s var(--kombis-ease) both}.home-tile{animation:kombis-enter .32s var(--kombis-ease) both}}
@keyframes kombis-enter{from{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes kombis-dialog{from{opacity:.5;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.home-heading h2{font-size:22px}.home-card,.card{border-radius:22px}.home-hero{border-radius:0 0 28px 28px}.welcome-mode main{padding-top:28px}.welcome-description{margin-bottom:28px}.welcome-actions{padding-top:32px}.welcome-categories>div{border-radius:18px}.member-nav span{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.member-nav [aria-current=page] span{transform:none}}
