@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');

:root{
  color:#4b2c48;font-family:'DM Sans',sans-serif;font-synthesis:none;
  --plum:#5a2d69;--deep:#3d1c4d;--violet:#8d65cf;--rose:#d75d87;--coral:#ec725f;
  --gold:#eeaa34;--cream:#fff7e9;--paper:#fff9ee;--paper2:#fffdf7;--ink:#4b2c48;
  --muted:#866d7e;--green:#719565;--line:#e4c8b7;--shadow:0 18px 50px #55284126;
  --soft-shadow:0 10px 28px #55284118;--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(145deg,#f8e8d7,#f5cec8 52%,#eac4dc);color:var(--ink)}
body.night{background:linear-gradient(145deg,#27162f,#3d2149 55%,#36203d)}
button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f6b53c;outline-offset:3px}
a{color:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh;position:relative;overflow:hidden}
.ambient{position:fixed;border-radius:50%;filter:blur(95px);opacity:.28;pointer-events:none}.ambient.one{width:430px;height:430px;right:-120px;top:-100px;background:#d875af}.ambient.two{width:350px;height:350px;left:16%;bottom:-170px;background:#f7b24a}
.sidebar{z-index:30;display:flex;flex-direction:column;min-height:100vh;padding:24px 16px 18px;color:#fff3e2;background:linear-gradient(#462052,#2c1538);border-right:1px solid #ffdea780;box-shadow:10px 0 40px #2e12342e;position:relative}
.brand{text-align:center;padding:12px 8px 18px}.brand .eyebrow{display:block;letter-spacing:.34em;color:#f4c77e;font-size:10px}.brand strong{display:block;font:700 27px/1.03 'Fraunces',serif;letter-spacing:.03em}.brand .spark{display:block;color:#ffd069;margin-top:8px}
.nav{display:grid;gap:5px;overflow:auto;padding-right:2px}.nav button{border:0;background:transparent;color:#ddc9da;text-align:left;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:14px;font-size:13px}.nav button .ico{width:23px;text-align:center;font-size:16px}.nav button.active{color:#fff;background:linear-gradient(135deg,#b14d8e,#7551a9);box-shadow:inset 0 0 0 1px #eec5dd,0 8px 20px #1f0a2780}.nav button:hover:not(.active){background:#ffffff12}
.sidebar-foot{margin-top:auto}.reward-mini{background:#ffffff0d;border:1px solid #ffffff18;border-radius:16px;padding:12px;margin-top:14px}.reward-mini strong{font-family:'Fraunces',serif}.reward-row{display:flex;gap:12px;margin-top:8px;font-size:12px;color:#ead9e8}.privacy-note{text-align:center;color:#d9b6ce;font-size:10px;line-height:1.45;margin:12px 3px 0}.privacy-note span{color:#ad8aaa}
main{position:relative;z-index:1;min-width:0;max-height:100vh;overflow-y:auto;padding:0 32px 48px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;min-height:100px;background:linear-gradient(#f8e8d7f5,#f8e8d7d6,#0000);backdrop-filter:blur(14px);border-bottom:1px solid #5f305c1f}.night .topbar{background:linear-gradient(#2b1735f4,#2b1735d6,#0000);border-color:#ffffff14}.topbar .title{flex:1}.topbar p{margin:0 0 3px;color:#8b647d;font-size:12px}.night .topbar p{color:#d7bdd5}.topbar h1{margin:0;color:#48264d;font:700 clamp(22px,2.4vw,34px) 'Fraunces',serif}.night .topbar h1{color:#fff6ee}.status-pill,.icon-btn{border:1px solid #dcbfa5;background:#fff8ea;color:#765469;border-radius:999px;padding:8px 12px;font-size:11px;box-shadow:0 6px 18px #6d3b5412}.status-pill span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7cac6f;margin-right:7px}.icon-btn{width:42px;height:42px;padding:0;border:0;display:grid;place-items:center;color:#ffd973;background:linear-gradient(145deg,#9b6ac2,#6b3b83);font-size:18px}.mobile-menu{display:none}
.container{max-width:1350px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:18px 0 20px}.page-head h2{margin:0;color:#4d2854;font:700 clamp(28px,3.4vw,45px)/1 'Fraunces',serif}.night .page-head h2{color:#fff4ec}.page-head p{margin:8px 0 0;color:#836579;max-width:720px}.night .page-head p{color:#d9bfd6}.button,.button-soft,.button-ghost,.button-danger{border:0;border-radius:13px;padding:11px 15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button{color:#fff;background:linear-gradient(135deg,#8b4c9e,#d75d87);box-shadow:0 10px 22px #81436e45}.button-soft{color:#6a3f70;background:#f1d7e5;border:1px solid #d6b8c7}.button-ghost{color:#744b73;background:#fff9ee;border:1px solid #ddc4b4}.button-danger{color:#8b3850;background:#ffe3e2;border:1px solid #eab9ba}.button.small,.button-soft.small,.button-ghost.small{padding:8px 11px;font-size:12px}.button:disabled,.button-soft:disabled{opacity:.48;cursor:not-allowed}

.hero{min-height:410px;border-radius:34px;position:relative;overflow:hidden;background:linear-gradient(110deg,#f5c0b0,#ffdbaa 56%,#e9b9d8);border:1px solid #fff3dc;box-shadow:var(--shadow),inset 0 0 0 4px #ffffff36}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.34;background-image:radial-gradient(#fff8 1.1px,transparent 1.2px);background-size:24px 24px}.hero-copy{position:relative;z-index:4;width:53%;padding:48px 0 46px 50px}.stitched{display:inline-block;color:#704354;background:#fff1d9;border:1px dashed #c78569;border-radius:7px;padding:7px 13px;transform:rotate(-1.2deg);box-shadow:0 5px 10px #75411e18;font-size:12px}.hero h2{margin:22px 0 13px;color:#4a2450;font:700 clamp(36px,4.1vw,60px)/.98 'Fraunces',serif;letter-spacing:-.035em}.hero h2 em{color:#a04779;font-weight:600}.hero p{color:#704f65;line-height:1.6;max-width:560px}.zelli{position:absolute;z-index:5;right:3%;bottom:-45px;width:min(42%,460px);filter:drop-shadow(0 26px 25px #63324240);animation:float 4.6s ease-in-out infinite}.sun-window{position:absolute;right:0;top:0;width:45%;height:100%;opacity:.55;background:linear-gradient(90deg,transparent,#fff6dd8c);border-left:1px solid #fff9}.sun-window span{position:absolute;background:#fff8}.sun-window .v1{width:2px;height:100%;left:30%}.sun-window .v2{width:2px;height:100%;left:62%}.sun-window .h1{height:2px;width:100%;top:45%}.desk{position:absolute;z-index:3;left:45%;right:0;bottom:0;height:82px;background:linear-gradient(#aa6b67,#724650);border-top:5px solid #f2be8a}.room-object{position:absolute;z-index:6;border:0;background:transparent;color:inherit;transition:.2s transform,.2s filter}.room-object:hover{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 8px 12px #5b334144)}.room-object .tip{position:absolute;opacity:0;pointer-events:none;bottom:110%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#4a2852;color:#fff;border-radius:10px;padding:6px 8px;font-size:10px;transition:.15s}.room-object:hover .tip{opacity:1}.obj-mug{left:54%;bottom:18px;font-size:36px}.obj-books{right:7%;bottom:17px;font-size:44px}.obj-plant{right:32%;bottom:25px;font-size:52px}.obj-window{right:16%;top:42px;font-size:34px}.hero-note{position:absolute;z-index:7;left:22px;bottom:20px;background:#fff5ddde;border:1px dashed #cc9a6f;border-radius:12px;padding:9px 13px;font-size:11px;transform:rotate(-1deg)}

.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1.15fr .85fr}.grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--soft-shadow),inset 0 0 0 3px #fff}.card.stitched-card:after{content:'';position:absolute;inset:7px;border:1px dashed #e7cfc1;border-radius:15px;pointer-events:none}.card>*{position:relative;z-index:2}.card h3{margin:0;color:#5a3262;font:700 20px 'Fraunces',serif}.card h4{margin:0 0 7px;color:#5d3864;font:700 16px 'Fraunces',serif}.subtle{color:#907386;font-size:12px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{display:flex;align-items:center;gap:10px}.card-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#f4d9eb;color:#855092;font-size:18px;transform:rotate(-2deg)}.metric{font:700 30px 'Fraunces',serif;color:#6e4178}.metric-label{font-size:11px;color:#92788a}.summary-list{display:grid;gap:8px}.summary-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:9px 10px;background:#fffdf7;border:1px solid #ead7c9;border-radius:10px}.dot{width:9px;height:9px;border-radius:3px}.progress{height:8px;border-radius:999px;background:#eadbda;overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b5bb5,#e46c8e,#efac3b)}
.zelli-message{display:grid;grid-template-columns:68px 1fr;gap:14px;align-items:center;background:linear-gradient(135deg,#5d3270,#8b4e8a);color:#fff;border-radius:20px;padding:16px;box-shadow:0 12px 24px #5c326b35}.zelli-message img{width:68px;height:68px;object-fit:cover;object-position:top;border-radius:50%;background:#ffdcb7;border:2px solid #ffedcb}.zelli-message strong{font-family:'Fraunces',serif}.zelli-message p{margin:4px 0 0;font-size:12px;line-height:1.5;color:#f7eaf4}

.field{display:grid;gap:6px;margin-bottom:13px}.field label,.field-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#89677e}.field input,.field textarea,.field select,.inline-input{width:100%;border:1px solid #ddc5b8;background:#fffdf8;color:#5d4055;border-radius:12px;padding:11px 12px}.field textarea{min-height:92px;resize:vertical}.lined{background:repeating-linear-gradient(#fffdf8 0 29px,#f0ddd2 30px)!important;line-height:30px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check-list{display:grid;gap:8px}.check-item{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border-radius:10px;background:#fffdf8;border:1px solid #ead8cc}.check-item input{margin-top:3px}.check-item.done span{text-decoration:line-through;color:#9c8792}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid #ddc4d0;background:#f8e2ec;color:#6f456f;border-radius:999px;padding:5px 9px;font-size:10px}.chip.priority-high{background:#ffe1db;color:#944b44}.chip.priority-medium{background:#fff0cf;color:#8a662b}.chip.priority-low{background:#e8f0df;color:#57724d}.energy-row{display:flex;gap:6px;flex-wrap:wrap}.energy-row button{border:1px solid #ddc7b8;background:#fffdf8;border-radius:11px;padding:8px 10px}.energy-row button.selected{background:#7e4c91;color:#fff;border-color:#7e4c91}

.idea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.idea{min-height:260px;display:flex;flex-direction:column}.idea .flower{font-size:46px;text-align:center;margin:4px 0}.idea h3{font-size:19px}.idea p{font-size:12px;line-height:1.5;color:#7b6073}.idea .idea-actions{display:flex;gap:7px;margin-top:auto;flex-wrap:wrap}.idea-meta{display:flex;justify-content:space-between;gap:8px;margin:7px 0 10px;font-size:10px;color:#987e8e}.empty{padding:45px 22px;text-align:center;border:1px dashed #d3b7aa;border-radius:18px;background:#fffaf1}.empty .big{font-size:48px}.empty h3{margin:8px 0 4px;font-family:'Fraunces',serif}

.project-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.project-toolbar button{border:1px solid #dbc4b8;background:#fff9ef;color:#71506a;border-radius:999px;padding:7px 11px;font-size:11px}.project-toolbar button.active{background:#744986;color:#fff;border-color:#744986}.project-list{display:grid;gap:13px}.project-row{display:grid;grid-template-columns:14px 1.2fr .75fr .8fr auto;gap:14px;align-items:center;background:#fffaf0;border:1px solid #dec4b5;border-radius:17px;padding:15px 16px;box-shadow:0 7px 18px #5d30430e}.project-row:hover{box-shadow:0 12px 26px #5d30431c}.project-color{width:12px;height:38px;border-radius:8px}.project-row h3{font-size:16px;margin:0}.project-row small{display:block;color:#967b8d;margin-top:3px}.project-progress{min-width:120px}.status{font-size:10px;padding:5px 8px;border-radius:999px;display:inline-block;background:#f1e0ea;color:#6c416f}.due{font-size:11px;color:#7d5e73}.overdue{color:#a64451;font-weight:700}.project-row .row-actions{display:flex;gap:6px}.icon-small{width:34px;height:34px;border:1px solid #ddc8bb;background:#fffdf8;color:#754a75;border-radius:10px;display:grid;place-items:center}

.stage-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.stage{padding:9px;border:1px solid #e0c9bc;border-radius:11px;text-align:center;font-size:10px;background:#fffdf7;color:#876c7d}.stage.active{background:linear-gradient(135deg,#8b4c9e,#d75d87);color:#fff;border-color:transparent}.task-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0}.task-add input{border:1px solid #ddc5b8;background:#fffdf8;border-radius:11px;padding:10px}.mini-list{display:grid;gap:7px}.mini-row{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid #ead7cb;background:#fffdf8;border-radius:10px}.mini-row .grow{flex:1}.mini-row button{border:0;background:transparent;color:#99697c}.tabs{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.tabs button{border:0;background:#f3e3e8;color:#75516d;border-radius:11px;padding:8px 11px;font-size:11px;font-weight:700}.tabs button.active{background:#6f407f;color:#fff}

.timeline{position:relative;padding-left:26px}.timeline:before{content:'';position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:#ddc2b6}.timeline-item{position:relative;margin-bottom:13px;background:#fffaf1;border:1px solid #dec5b8;border-radius:15px;padding:13px 15px}.timeline-item:before{content:'';position:absolute;width:11px;height:11px;border-radius:50%;background:#a45a98;left:-24px;top:17px;border:3px solid #f8e7d8}.timeline-item .date{font-size:10px;color:#9a768a;text-transform:uppercase;letter-spacing:.08em}.timeline-item h4{margin:3px 0;font:700 15px 'Fraunces',serif}.timeline-item p{font-size:11px;color:#84687a;margin:0}

.lab-canvas{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.prompt-output{min-height:170px;border:1px dashed #cdaaa3;background:linear-gradient(145deg,#fff9ed,#f8e2eb);border-radius:17px;padding:20px}.prompt-output blockquote{margin:8px 0;font:600 22px/1.35 'Fraunces',serif;color:#603765}.palette{display:flex;gap:8px;margin:13px 0}.swatch{width:40px;height:40px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #d7bfb4}.name-cloud{display:flex;flex-wrap:wrap;gap:7px}.name-cloud button{border:1px solid #d9c0c9;background:#fff7ee;color:#6b4568;border-radius:999px;padding:7px 10px}

.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.archive-card{background:linear-gradient(145deg,#fffaf0,#f6e1e9);border:1px solid #dec2b8;border-radius:20px;padding:20px}.archive-card .seal{font-size:34px;float:right}.archive-card h3{font:700 20px 'Fraunces',serif;margin:0}.archive-card p{color:#7e6476;font-size:12px}.archive-meta{display:flex;gap:14px;font-size:10px;color:#96788b;margin-top:12px}

.insights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.insight-card{background:#fff9ef;border:1px solid #dec5b8;border-radius:18px;padding:18px}.insight-card .num{font:700 35px 'Fraunces',serif;color:#74457e}.bar-chart{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:110px 1fr 32px;gap:8px;align-items:center;font-size:11px}.bar{height:10px;background:#eee0dc;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#8857aa,#e66d8d);border-radius:999px}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.badge{padding:13px 9px;text-align:center;border-radius:15px;background:#fffaf1;border:1px solid #e2ccbe}.badge.locked{filter:grayscale(1);opacity:.45}.badge .badge-icon{font-size:27px}.badge strong{display:block;font-size:11px;margin-top:4px}.badge span{font-size:9px;color:#947988}

.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-list{display:grid;gap:9px}.settings-action{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border:1px solid #e0c9bd;border-radius:13px;background:#fffdf8}.settings-action strong{font-size:13px}.settings-action p{margin:2px 0 0;color:#92778a;font-size:10px}.toggle{width:46px;height:26px;border-radius:999px;border:0;background:#d9c7cc;padding:3px}.toggle span{display:block;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}.toggle.on{background:#805096}.toggle.on span{transform:translateX(20px)}

.modal-layer{position:fixed;z-index:100;inset:0;background:#32193e8c;backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.modal{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff9ee;border:1px solid #f1d6c2;border-radius:25px;padding:26px;box-shadow:0 28px 90px #24102c7d;position:relative}.modal.wide{width:min(980px,96vw)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.modal h2{margin:0;color:#55305f;font:700 29px 'Fraunces',serif}.modal p{color:#826579}.close{width:38px;height:38px;border-radius:50%;border:1px solid #dec6b7;background:#fffdf8;color:#72516a}.modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast{position:fixed;z-index:130;right:24px;bottom:24px;max-width:360px;background:#4a2852;color:#fff;border-radius:15px;padding:13px 17px;box-shadow:0 15px 35px #2b123a66;animation:toast .3s}.confetti{pointer-events:none;position:fixed;inset:0;z-index:120;overflow:hidden}.confetti span{position:absolute;top:-20px;animation:fall 1.8s linear forwards;font-size:18px}
.onboard{width:min(900px,96vw);display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;padding:0}.onboard-art{position:relative;min-height:520px;background:linear-gradient(145deg,#efb1b2,#ffd99d 55%,#d8a7d6);padding:32px;overflow:hidden}.onboard-art img{position:absolute;width:90%;right:-10%;bottom:-34px}.onboard-copy{padding:40px 34px}.onboard-copy h2{font-size:37px}.choice-grid{display:flex;gap:7px;flex-wrap:wrap}.choice-grid button{border:1px solid #dbc2cb;background:#fffdf8;color:#70496d;border-radius:999px;padding:8px 11px}.choice-grid button.selected{background:#78478a;color:#fff;border-color:#78478a}

@keyframes float{50%{transform:translateY(-12px) rotate(1deg)}}@keyframes toast{from{opacity:0;transform:translateY(12px)}}@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:.2}}
@media(max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.sidebar{padding-inline:12px}.grid.three,.idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-grid{grid-template-columns:repeat(2,1fr)}.hero-copy{width:58%;padding-left:34px}.zelli{width:46%;right:-2%}.project-row{grid-template-columns:12px 1.2fr .7fr auto}.project-row .due{display:none}.lab-canvas{grid-template-columns:1fr}.badge-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:285px;transform:translateX(-105%);transition:.25s;z-index:60}.sidebar.open{transform:none}.mobile-menu{display:grid}.scrim{position:fixed;z-index:55;inset:0;background:#2a12356d}.app-shell main{max-height:none;padding:0 14px 92px}.topbar{min-height:84px;gap:10px}.status-pill{display:none}.hero{min-height:620px;border-radius:25px}.hero-copy{width:100%;padding:30px 26px;z-index:8}.hero-copy h2{font-size:40px}.hero-copy p{width:90%;font-size:13px}.zelli{width:min(88%,410px);right:-5%;bottom:1px}.desk{left:0;height:68px}.obj-window{display:none}.obj-mug{left:16%;bottom:11px}.obj-plant{right:28%;bottom:15px}.obj-books{right:6%;bottom:10px}.hero-note{left:13px;bottom:10px;max-width:190px}.grid.two,.grid.equal,.grid.three,.grid.four,.idea-grid,.archive-grid,.settings-grid,.field-grid,.field-grid.three{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.project-row{grid-template-columns:10px 1fr auto}.project-row .project-progress,.project-row .due{display:none}.insights-grid{grid-template-columns:1fr 1fr}.badge-grid{grid-template-columns:1fr 1fr}.onboard{grid-template-columns:1fr}.onboard-art{min-height:270px}.onboard-art img{width:65%;right:-4%;bottom:-40px}.onboard-copy{padding:27px 22px}.modal{padding:22px 18px}.toast{left:14px;right:14px;bottom:16px}.lab-canvas{grid-template-columns:1fr}}
@media(max-width:460px){.insights-grid{grid-template-columns:1fr}.badge-grid{grid-template-columns:1fr 1fr}.topbar p{display:none}.topbar h1{font-size:19px}.hero-copy h2{font-size:36px}.page-head h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,:before,:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V1 motion layer — playful, purposeful, and optional */
.button,.button-soft,.button-ghost,.button-danger,.icon-btn,.icon-small,.stage,.tabs button,.project-toolbar button,.name-cloud button,.choice-grid button,.energy-row button{transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease,background-color .18s ease}
.button:active,.button-soft:active,.button-ghost:active,.button-danger:active,.icon-btn:active,.icon-small:active,.stage:active,.tabs button:active,.project-toolbar button:active,.name-cloud button:active,.choice-grid button:active,.energy-row button:active{transform:scale(.92)}
.container>.page-head{animation:page-rise .42s cubic-bezier(.2,.85,.25,1) both}
.card{animation:card-pop .46s cubic-bezier(.18,.9,.3,1.16) backwards}
.grid>.card:nth-child(2){animation-delay:.05s}.grid>.card:nth-child(3){animation-delay:.1s}.grid>.card:nth-child(4){animation-delay:.15s}
.idea-grid .idea{animation:idea-grow .58s cubic-bezier(.16,.9,.28,1.22) backwards;animation-delay:calc(var(--i,0)*55ms)}
.idea .flower{transform-origin:50% 90%;animation:flower-breathe 4s ease-in-out infinite}
.project-row{animation:row-roll .5s cubic-bezier(.2,.85,.22,1.05) backwards;animation-delay:calc(var(--i,0)*45ms)}
.timeline-item{animation:timeline-roll .48s cubic-bezier(.2,.85,.25,1.05) backwards;animation-delay:calc(var(--i,0)*55ms)}
.archive-card{animation:archive-pop .58s cubic-bezier(.18,.9,.25,1.16) backwards;animation-delay:calc(var(--i,0)*60ms)}
.archive-card .seal{display:inline-block;animation:trophy-bob 3.5s ease-in-out infinite}
.progress>span,.bar span{transform-origin:left center;animation:bar-grow .7s cubic-bezier(.2,.85,.25,1) both}
.check-item.done{animation:done-settle .45s cubic-bezier(.15,.9,.25,1.15) both}
.mini-row input:checked + .grow{display:inline-block;text-decoration:line-through;color:#9d8792;animation:done-settle .42s cubic-bezier(.15,.9,.25,1.15) both}
.badge:not(.locked){animation:badge-pop .52s cubic-bezier(.18,.9,.3,1.2) both}.badge:not(.locked) .badge-icon{display:inline-block;animation:badge-wiggle 3.8s ease-in-out infinite}
.name-cloud button{animation:chip-pop .36s cubic-bezier(.15,.9,.3,1.15) backwards}
.swatch{animation:swatch-pulse 4.4s ease-in-out infinite}.swatch:nth-child(2){animation-delay:.45s}.swatch:nth-child(3){animation-delay:.9s}.swatch:nth-child(4){animation-delay:1.35s}.swatch:nth-child(5){animation-delay:1.8s}
.modal-layer{animation:veil-in .2s ease both}.modal{animation:modal-pop .36s cubic-bezier(.15,.9,.25,1.1) both}
.mix-pop{animation:mixer-pop .5s cubic-bezier(.15,.9,.25,1.12) both}
.zelli-message img{animation:zelli-message-bob 4.2s ease-in-out infinite}
.zelli-party{animation:zelli-party .92s cubic-bezier(.18,.9,.24,1.1) both!important}
.topbar>.icon-btn:last-child{animation:spark-button 3.8s ease-in-out infinite}

/* Each studio object has its own tiny personality. */
.obj-mug{animation:mug-roll 4.3s ease-in-out infinite}
.obj-plant{transform-origin:50% 100%;animation:plant-grow 4.8s ease-in-out infinite}
.obj-books{transform-origin:50% 100%;animation:books-wobble 5.2s ease-in-out infinite}
.obj-window{animation:window-glimmer 4s ease-in-out infinite}
.room-object:hover{animation-play-state:paused}

/* Confetti + sparkle celebration layer. */
.magic-layer{pointer-events:none;position:fixed;inset:0;z-index:125;overflow:hidden}
.confetti-bit{position:absolute;left:var(--x);top:-28px;font-style:normal;font-size:13px;line-height:1;color:#d75d87;text-shadow:0 1px 0 #fff8;animation:confetti-fall var(--dur) cubic-bezier(.2,.68,.35,1) var(--delay) forwards}
.confetti-bit:nth-child(5n+2){color:#8d65cf}.confetti-bit:nth-child(5n+3){color:#eeaa34}.confetti-bit:nth-child(5n+4){color:#83a99d}.confetti-bit:nth-child(5n){color:#ef7894}
.magic-layer.medium .confetti-bit{font-size:15px}.magic-layer.big .confetti-bit{font-size:17px}
.sparkle-bit{position:absolute;left:var(--sx);top:var(--sy);font-weight:400;color:#fff6bf;font-size:24px;filter:drop-shadow(0 0 7px #fff1a8);opacity:0;transform:scale(0);animation:sparkle-twinkle 1.15s ease-in-out var(--delay) forwards}
.sparkle-bit:nth-of-type(3n+2){color:#ffd0ea}.sparkle-bit:nth-of-type(3n){color:#e1d2ff}

@media (hover:hover) and (pointer:fine){
  .button:hover,.button-soft:hover,.button-ghost:hover,.icon-small:hover{transform:translateY(-2px) scale(1.025);filter:saturate(1.08)}
  .card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #55284122,inset 0 0 0 3px #fff}
  .project-row:hover{transform:translateX(4px) scale(1.005)}
  .idea:hover .flower{animation-play-state:paused;transform:scale(1.12) rotate(4deg)}
}

@keyframes page-rise{from{opacity:0;transform:translateY(-10px) rotate(-.25deg)}to{opacity:1;transform:none}}
@keyframes card-pop{0%{opacity:0;transform:translateY(13px) scale(.965)}70%{transform:translateY(-2px) scale(1.008)}100%{opacity:1;transform:none}}
@keyframes idea-grow{0%{opacity:0;transform:translateY(24px) scale(.78) rotate(-2deg)}70%{transform:translateY(-3px) scale(1.025) rotate(.3deg)}100%{opacity:1;transform:none}}
@keyframes flower-breathe{0%,100%{transform:scale(.96) rotate(-2deg)}50%{transform:scale(1.1) rotate(2deg)}}
@keyframes row-roll{0%{opacity:0;transform:translateX(-28px) rotate(-1.4deg) scale(.98)}75%{transform:translateX(3px) rotate(.2deg)}100%{opacity:1;transform:none}}
@keyframes timeline-roll{0%{opacity:0;transform:translateX(22px) rotate(1deg)}75%{transform:translateX(-2px)}100%{opacity:1;transform:none}}
@keyframes archive-pop{0%{opacity:0;transform:scale(.82) rotate(-2deg)}70%{transform:scale(1.025) rotate(.4deg)}100%{opacity:1;transform:none}}
@keyframes trophy-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(4deg)}}
@keyframes bar-grow{from{transform:scaleX(.04);filter:saturate(.7)}to{transform:scaleX(1);filter:saturate(1)}}
@keyframes done-settle{0%{transform:scale(1)}42%{transform:scale(.87) rotate(-1.5deg)}72%{transform:scale(1.035) rotate(.5deg)}100%{transform:scale(1)}}
@keyframes badge-pop{0%{opacity:.2;transform:scale(.72)}72%{transform:scale(1.07)}100%{opacity:1;transform:none}}
@keyframes badge-wiggle{0%,88%,100%{transform:rotate(0) scale(1)}92%{transform:rotate(-7deg) scale(1.08)}96%{transform:rotate(7deg) scale(1.08)}}
@keyframes chip-pop{0%{opacity:0;transform:scale(.72)}75%{transform:scale(1.05)}100%{opacity:1;transform:none}}
@keyframes swatch-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes veil-in{from{opacity:0}to{opacity:1}}
@keyframes modal-pop{0%{opacity:0;transform:translateY(18px) scale(.93)}72%{transform:translateY(-2px) scale(1.01)}100%{opacity:1;transform:none}}
@keyframes mixer-pop{0%{transform:scale(.94) rotate(-.8deg);opacity:.45}65%{transform:scale(1.025) rotate(.25deg)}100%{transform:none;opacity:1}}
@keyframes zelli-message-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes zelli-party{0%{transform:translateY(0) rotate(0) scale(1)}20%{transform:translateY(-18px) rotate(-5deg) scale(1.06)}42%{transform:translateY(-6px) rotate(6deg) scale(1.1)}64%{transform:translateY(-16px) rotate(-3deg) scale(1.06)}100%{transform:translateY(0) rotate(0) scale(1)}}
@keyframes spark-button{0%,82%,100%{transform:rotate(0) scale(1)}88%{transform:rotate(-12deg) scale(1.08)}94%{transform:rotate(12deg) scale(1.12)}}
@keyframes mug-roll{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-4px) rotate(-5deg)}55%{transform:translateY(-4px) rotate(5deg)}}
@keyframes plant-grow{0%,100%{transform:scale(.96) rotate(-1deg)}50%{transform:scale(1.07,1.12) rotate(1.5deg)}}
@keyframes books-wobble{0%,82%,100%{transform:rotate(0)}88%{transform:rotate(-3deg)}94%{transform:rotate(3deg)}}
@keyframes window-glimmer{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.07);filter:brightness(1.18) drop-shadow(0 0 9px #fff0a5)}}
@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-18px,0) rotate(0) scale(.8)}10%{opacity:1}100%{opacity:.1;transform:translate3d(var(--drift),110vh,0) rotate(var(--spin)) scale(1.05)}}
@keyframes sparkle-twinkle{0%{opacity:0;transform:scale(0) rotate(0)}35%{opacity:1;transform:scale(var(--scale)) rotate(28deg)}72%{opacity:1;transform:scale(.85) rotate(55deg)}100%{opacity:0;transform:scale(.1) rotate(85deg)}}

body.motion-off *:not(.toggle),body.motion-off *:before,body.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
