/* Light motion and finishing details, optimized for the desktop workspace. */
:root{--gold:#e1c38b;--violet:#cdb1f3;--ease:cubic-bezier(.16,1,.3,1)}
body{background:radial-gradient(ellipse at 100% 0%,#34224140,transparent 50%),radial-gradient(ellipse at 40% 100%,#30221924,transparent 55%),#0e0f14}
::selection{background:#a986d25c;color:#fff}
::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#111118}::-webkit-scrollbar-thumb{border-radius:9px;background:#42364f}::-webkit-scrollbar-thumb:hover{background:#675176}
aside{background:linear-gradient(175deg,#1a1822 0%,#13141b 45%,#17141e 100%);box-shadow:8px 0 35px #00000014;z-index:2}
.brand{letter-spacing:-.8px;text-shadow:0 0 25px #dfba6b24}.brand span{text-shadow:none}
nav button{display:flex;align-items:center;gap:11px;position:relative;overflow:hidden;transition:color .2s,background .2s,box-shadow .3s,transform .25s var(--ease)}
nav svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.5;fill:none;flex-shrink:0;transition:transform .3s var(--ease)}nav button:hover{background:#baa0d30d;color:#ddd0ec;transform:translateX(3px);filter:none}nav button:hover svg{transform:scale(1.1)}nav button.active{box-shadow:inset 10px 0 22px #bc8feb07,0 3px 16px #00000012}
header{backdrop-filter:blur(16px);border-bottom-color:#ffffff07}.private{background:#a6885010;box-shadow:inset 0 1px #ffffff04;letter-spacing:.3px}
.page-heading h1{background:linear-gradient(100deg,#faf6ff 15%,#d2c2e5 80%);background-clip:text;color:transparent}.page-heading>button{box-shadow:0 4px 20px #be8bf322,inset 0 1px #ffffff40;border:1px solid #e3c9ff50;transition:transform .25s var(--ease),box-shadow .25s,filter .25s}
.page-heading>button:hover{transform:translateY(-2px);box-shadow:0 7px 28px #be8bf33b,inset 0 1px #ffffff50}
button{position:relative;isolation:isolate;overflow:hidden}button:disabled{cursor:wait;opacity:.6}button:disabled:after{content:'';display:inline-block;margin-left:7px;width:9px;height:9px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
.press-ripple{position:absolute;inset:-20%;border-radius:50%;background:#fff3;pointer-events:none;animation:ripple .6s ease-out forwards;z-index:-1}
#hero{box-shadow:0 12px 40px #00000018,inset 0 1px #f4d1ff0b;border-color:#9e759d32;background:radial-gradient(ellipse at 96% 120%,#9d6c3545,transparent 58%),radial-gradient(ellipse at 28% -40%,#78519366,transparent 70%),linear-gradient(110deg,#2b2032,#1c1923)}
#hero:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 58% 24%,#e6c8a180 0 1px,transparent 2px),radial-gradient(circle at 70% 72%,#d5b4f05c 0 1px,transparent 2px),radial-gradient(circle at 88% 17%,#e7ce9e6b 0 1px,transparent 2px),radial-gradient(circle at 48% 78%,#ddc5ef5a 0 1px,transparent 2px),linear-gradient(105deg,transparent 20%,#f4d0ff07 42%,transparent 65%);animation:starlight 9s ease-in-out infinite alternate}
#hero:after{animation:halo-drift 22s ease-in-out infinite alternate;border-color:#edcfa01c;box-shadow:0 0 70px #c491e50a,inset 0 0 40px #d7ad6f07}
#hero h2{position:relative;z-index:1;text-shadow:0 3px 22px #0003}#hero h2 em{background:linear-gradient(120deg,#f5ddae,#c89d58,#f1d8a4);background-clip:text;color:transparent}.pill{display:inline-flex;align-items:center;gap:7px}.pill:before{content:'';width:5px;height:5px;border-radius:50%;background:#e2c083;box-shadow:0 0 9px #dfb76560}
.countdown strong{display:block;font-variant-numeric:tabular-nums;line-height:1.1;margin-bottom:10px;text-shadow:0 0 40px #eac98518}.orbit{animation:star-drift 17s ease-in-out infinite alternate;transform-origin:50% 50%}
.stat{background:linear-gradient(145deg,#1d1c25,#171820);border-color:#ffffff0d;box-shadow:inset 0 1px #ffffff05;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.stat:before{content:'';position:absolute;bottom:0;left:18px;right:18px;height:1px;background:linear-gradient(90deg,transparent,#bf9cde45,transparent)}.stat:nth-child(3):before{background:linear-gradient(90deg,transparent,#d8b97745,transparent)}.stat:hover{transform:translateY(-4px);border-color:#ba94df38;box-shadow:0 10px 28px #00000025,inset 0 1px #ffffff08}
.stat strong{font-variant-numeric:tabular-nums}.stat small{letter-spacing:.2px}.stat:after{content:'✦';color:#9f88b2;font-size:12px;opacity:.7}.stat:nth-child(3):after{color:#c6a66c}.stat-progress{display:block;width:100%;height:3px;margin-top:11px;appearance:none;border:0;border-radius:3px;overflow:hidden;background:#302735}.stat-progress::-webkit-progress-bar{background:#302735}.stat-progress::-webkit-progress-value{background:linear-gradient(90deg,#9470bc,#d4b8f0);border-radius:3px;transition:width .7s var(--ease)}.stat-progress::-moz-progress-bar{background:#c7a7e8}
.panel{background:linear-gradient(145deg,#1b1a23,#16171e 60%);box-shadow:inset 0 1px #ffffff04,0 5px 20px #0000000a;border-color:#ffffff0c;transition:border-color .3s,box-shadow .3s}.panel:hover{border-color:#b398c52b;box-shadow:inset 0 1px #ffffff06,0 10px 30px #00000010}
.panel-heading h2{letter-spacing:-.2px}.text-button{transition:color .2s,transform .3s var(--ease)}.text-button:hover{color:#dfc6fd;transform:translateX(2px);filter:none}
.task-card{background:linear-gradient(130deg,#25212d6e,#1c1c26);border-color:#55425d55;box-shadow:inset 0 1px #ffffff03;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}.task-card:hover{transform:translateY(-3px);border-color:#ae85ce55;box-shadow:0 9px 24px #00000020}.task-card h3{color:#e3dbe9}.task-card .actions{opacity:.65;transition:opacity .2s}.task-card:hover .actions,.task-card:focus-within .actions{opacity:1}.task-bottom select{cursor:pointer;transition:background .2s,border-color .2s}.task-bottom select:hover{background:#35283f;border-color:#9771b3}.actions button:hover{background:#5a3c6a55;color:#f4deff}.owner b{box-shadow:0 0 0 2px #1b1922,0 0 0 3px #6e487329}
.kanban-column{background:linear-gradient(170deg,#211d2940,#13151c);border-color:#ffffff0c}.column-title{border-bottom:1px solid #ffffff07;margin-bottom:14px}.column-title .status-dot{box-shadow:0 0 9px #c8b3df22}.column-title .s1{box-shadow:0 0 9px #d3b16a33}.column-title .s2{box-shadow:0 0 9px #86b49933}.column-empty{background:#ffffff01}
.milestone{transition:background .2s;padding-left:5px;padding-right:5px;border-radius:6px}.milestone:hover{background:#b38bcc07}.milestone-date{box-shadow:inset 0 1px #e8c29d0a;transition:transform .3s var(--ease),border-color .3s}.milestone:hover .milestone-date{transform:translateY(-2px);border-color:#bc986957}.event-note{box-shadow:inset 0 1px #e8c29d05}.event-note>span{filter:drop-shadow(0 0 7px #dfb66225)}
.award-icon,.file-icon{transition:transform .4s var(--ease),box-shadow .3s}.category-card:hover .award-icon,.link-card:hover .file-icon,.category-summary:hover .award-icon{transform:translateY(-3px) rotate(-5deg);box-shadow:0 5px 22px #ad80451a}.asset-link{transition:color .2s,background .2s}.asset-link:hover{color:#e6d2ff;background:#a786c307}.asset-link:hover .file-icon{transform:translate(2px,-2px)}.open-link{transition:color .2s,transform .2s}.open-link:hover{color:#efd9ff;transform:translateX(3px)}.nominees li{transition:padding-left .25s,color .25s}.nominees li:hover{padding-left:5px;color:#e2d1f0}
.empty{background:radial-gradient(ellipse at 50% 0%,#49305322,transparent 70%),#17181f;border-color:#76598e38}.empty h2{letter-spacing:-.5px}.full-timeline{border-left:2px solid #9c77b547}
input,select,textarea{transition:border-color .2s,box-shadow .2s,background .2s}input:hover,textarea:hover{border-color:#74607f}input:focus,textarea:focus,select:focus{border-color:#b496d4;box-shadow:0 0 0 3px #ba95dd12;outline:none;background:#25212e}input::placeholder,textarea::placeholder{color:#82768f}dialog{box-shadow:0 30px 120px #0009,inset 0 1px #e5c7ff14;border-color:#7c5e9366;background:radial-gradient(ellipse at 0% 0%,#49325136,transparent 60%),#1a1822;max-height:88dvh}dialog[open]{animation:dialog-enter .32s var(--ease)}dialog[open]::backdrop{animation:fade-in .25s ease-out;background:#09080dc4;backdrop-filter:blur(8px)}dialog h2{font-size:20px;letter-spacing:-.5px}dialog form>button[type=submit]{width:100%;margin-top:8px;box-shadow:0 4px 20px #be8bf315}#toast{box-shadow:0 10px 40px #0005;border:1px solid #f6e7ff80;background:linear-gradient(125deg,#eddefc,#cbb3e8);font-size:12px;animation:toast-enter .35s var(--ease);padding:15px 20px}#toast:before{content:'✦';margin-right:9px;color:#75528e}#sync:before{box-shadow:0 0 8px #83ac9426;border-radius:50%}.login-card{position:relative;animation:login-enter .8s var(--ease)}.login-card h1{letter-spacing:-1.5px;line-height:1.18}.login-card h1:after{content:'';display:block;width:46px;height:2px;margin-top:25px;background:linear-gradient(90deg,#ddbc7b,#aa82cf);box-shadow:0 0 20px #ddbc7b20}#login{position:relative;overflow:hidden}#login:before{content:'';position:absolute;width:65vw;height:65vw;max-width:1000px;max-height:1000px;left:-28vw;top:-18vw;border:1px solid #b98acb10;border-radius:50%;box-shadow:0 0 100px #a774d307,inset 0 0 100px #a774d307;pointer-events:none;animation:login-halo 20s ease-in-out infinite alternate}.login-card button{box-shadow:0 5px 24px #b78de51e}.login-card button:hover{box-shadow:0 7px 32px #b78de536}.login-card small{display:block;text-align:center;letter-spacing:1.5px}
@keyframes ripple{from{opacity:.7;transform:scale(.15)}to{opacity:0;transform:scale(1.5)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes starlight{from{opacity:.35;transform:translateX(-8px)}to{opacity:1;transform:translateX(8px)}}@keyframes halo-drift{from{transform:translate(-10px,-6px) rotate(25deg)}to{transform:translate(13px,7px) rotate(38deg)}}@keyframes star-drift{from{transform:rotate(-8deg) scale(.95);opacity:.055}to{transform:rotate(8deg) scale(1.06);opacity:.11}}@keyframes dialog-enter{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes toast-enter{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes login-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes login-halo{from{transform:translate(0,0) scale(.96)}to{transform:translate(20px,20px) scale(1.03)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.press-ripple{pointer-events:none}
