@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#13282b;--panel:#1c3436;--ink:#f3efdf;--muted:#a3b8b5;--amber:#edc292;--mint:#b7d3c6;--line:#ffffff12;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation;color:inherit;transition:background .2s,transform .2s}button:active{transform:scale(.97)}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:4px}a{color:inherit}svg{width:20px;height:20px;display:block;flex:none}.app-frame{max-width:1600px;margin:auto;min-height:100vh;display:grid;grid-template-columns:215px minmax(0,1fr)}.sidebar{background:#102326;padding:43px 25px 28px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid var(--line)}.brand{font:800 36px Manrope;letter-spacing:-2px;text-decoration:none;padding-left:13px}.brand span{font-weight:400;color:var(--amber);margin-left:3px}.sidebar nav{display:grid;gap:9px;margin-top:72px}.sidebar nav button{display:flex;gap:16px;align-items:center;border:0;background:transparent;border-radius:12px;padding:15px 17px;color:var(--muted);font-size:15px;text-align:left;min-height:52px}.sidebar nav button:hover{background:#ffffff05}.sidebar nav button[aria-current=page]{background:#eec59410;color:var(--amber)}.sidebar-bottom{margin-top:auto;padding:25px 12px 0}.shared-mark{display:block;font:500 23px/1.5 Manrope;letter-spacing:-.7px;color:#769491;margin-bottom:37px}.quiet-button{display:flex;align-items:center;gap:10px;background:none;border:0;padding:12px 0;font-size:14px;color:var(--muted)}main{padding:36px clamp(25px,4.3vw,68px) 0;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:43px}.home-label{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted)}.home-mark{color:var(--amber)}.top-actions{display:flex;align-items:center;gap:17px}.sample-badge{font-size:11px;color:#a5b4b0;border:1px solid var(--line);padding:5px 8px;border-radius:6px}.person-button{display:flex;align-items:center;gap:9px;background:none;border:0;font-size:13px;padding:5px}.avatar{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#e9c49d;color:#4b4035;font-size:12px;flex:none}.avatar.jamie{background:#abc9bb;color:#28473d}.person-button svg{width:14px}.mobile-settings{display:none!important}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:48px 0 34px;gap:15px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--mint);line-height:1.6;margin:0 0 11px}h1{font:600 clamp(29px,3vw,44px)/1.2 Manrope;letter-spacing:-1.9px;margin:0}.page-subtitle{color:var(--muted);font-size:15px;line-height:1.5;margin:13px 0 0}.heading-symbol{font-size:48px;color:var(--amber);opacity:.75}.workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.95fr);gap:clamp(25px,3.8vw,60px);align-items:start}.view{grid-column:1;grid-row:1;min-width:0}.companion{grid-column:2;grid-row:1;min-width:0}.scene{height:360px;border-radius:24px;overflow:hidden;position:relative;background:radial-gradient(ellipse at 65% 40%,#bd906333,transparent 65%),#284344;isolation:isolate}.scene:before{content:'';position:absolute;inset:0;background:url('assets/rocco-room.png') center/cover no-repeat;z-index:-2}.scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10212480,transparent 35%,transparent 80%,#10262988);z-index:-1}.scene-caption{position:absolute;top:19px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:2}.scene-name{font-size:9px;letter-spacing:1.4px;color:#f3e4cd}.scene-status{font-size:10px;color:#e9dbbd;background:#12272870;border:1px solid #ffffff18;border-radius:20px;padding:5px 9px}#spirit3d{position:absolute;width:100%;height:310px;bottom:0;left:0;z-index:1;pointer-events:none}#spirit3d canvas{display:block;width:100%;height:100%}#pet-zone{position:absolute;left:20%;right:20%;top:18%;bottom:8%;z-index:3;background:transparent;border:0;border-radius:45%;cursor:grab;touch-action:pan-y}#pet-zone:active{cursor:grabbing}.scene-touch{position:absolute;left:18px;bottom:16px;font-size:11px;color:#f3e5d1;z-index:4;pointer-events:none}.scene-sound{position:absolute;right:14px;bottom:12px;z-index:5;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff26;background:#173030a8;color:#e0d8bd}.scene-sound svg{width:17px}.rocco-fallback{display:none;position:absolute;height:65%;width:65%;object-fit:contain;bottom:13%;left:18%}.no3d .rocco-fallback{display:block}.companion-message{position:relative;padding:24px 12px 18px 29px}.quote{font:38px Georgia;position:absolute;top:19px;left:0;color:var(--amber)}.companion-message p{font-size:15px;line-height:1.65;color:#d7dfd5;margin:0 0 14px;min-height:49px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--amber);background:transparent;border:0;padding:7px 0;text-decoration:none}.text-link svg{width:16px}.room-caption{border-top:1px solid var(--line);margin-top:15px;padding:26px 0}.room-caption>span{font-size:9px;letter-spacing:1.8px;color:#77918c}.room-caption p{font:500 24px/1.6 Manrope;color:#aac1b4;margin:12px 0;letter-spacing:-.7px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px}.section-heading h2{font:600 21px Manrope;letter-spacing:-.7px;margin:0}.counter{font-size:12px;color:var(--muted)}.task-list{display:grid;gap:12px}.task{display:flex;align-items:center;gap:15px;position:relative;background:var(--panel);border:1px solid #ffffff08;border-radius:17px;padding:18px 14px 18px 19px;min-height:89px;transition:background .3s,border-color .3s}.task.suggested{border-color:#e9c39153;background:linear-gradient(115deg,#e9c3910d,transparent),var(--panel)}.task-check{width:27px;height:27px;display:grid;place-items:center;flex:none;background:transparent;color:#142a27;border:1.5px solid #718f85;border-radius:50%;padding:0;position:relative}.task-check:before{content:'';position:absolute;inset:-9px}.task-check[aria-pressed=true]{background:var(--mint);border-color:var(--mint)}.task-check svg{width:16px;height:16px}.task-copy{flex:1;min-width:0}.task-title{font-size:16px;font-weight:500;line-height:1.4;display:block}.task-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.4}.suggest-label{color:var(--amber);font-size:9px;letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:6px}.task.done{background:#18302e;border-color:transparent}.task.done .task-title{text-decoration:line-through;color:#8ea99e}.task.done .suggest-label{color:#9bb8a6}.icon-button{display:inline-grid;place-items:center;min-width:40px;min-height:40px;padding:8px;border:0;background:transparent;color:var(--muted);border-radius:10px;flex:none}.icon-button:hover{background:#ffffff08;color:var(--ink)}.task .icon-button svg{width:18px}.week-link{display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--line);background:transparent;width:100%;padding:24px 3px;color:var(--muted);font-size:14px;text-align:left}.week-link svg{width:17px}.activity-section{margin-top:26px}.activity-section>.eyebrow{color:#7c9a92;font-size:9px;margin-bottom:15px}.activity{display:flex;align-items:center;gap:12px}.activity .avatar{width:31px;height:31px}.activity p{font-size:13px;line-height:1.5;margin:0;flex:1;color:#c0d0c6}.activity p small{display:block;font-size:11px;color:#849d95;margin-top:4px}.thanks{border:1px solid #eec29224;color:var(--amber);border-radius:20px;padding:8px 13px;min-height:38px;background:transparent;font-size:12px;white-space:nowrap}.quiet-note{font-size:12px;line-height:1.6;color:var(--muted)}.empty-state{border:1px solid var(--line);padding:32px 25px;border-radius:18px;background:var(--panel)}.empty-state h3{font:600 23px Manrope;margin:5px 0 10px;letter-spacing:-.8px}.empty-state p{color:var(--muted);font-size:15px;line-height:1.6}.pill-tabs{display:flex;gap:5px;padding:4px;background:#0e2326;border:1px solid var(--line);border-radius:12px;margin-bottom:25px;width:fit-content}.pill-tabs button{padding:10px 16px;min-height:42px;font-size:13px;border:0;background:transparent;border-radius:8px;color:var(--muted)}.pill-tabs button[aria-pressed=true]{background:#2b4546;color:var(--ink)}.owner-heading{display:flex;align-items:center;gap:10px;margin:23px 0 10px;font-size:15px;font-weight:500}.owner-heading .avatar{width:27px;height:27px}.plan-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:16px 0}.plan-row b{font-size:14px;font-weight:500;line-height:1.5}.plan-row small{font-size:12px;color:var(--muted);line-height:1.5;display:block;margin-top:4px}.plan-row>span:last-child{font-size:11px;white-space:nowrap;color:var(--mint)}.plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid #ffffff13;background:#ffffff04;border-radius:11px;padding:10px 14px;color:#c7d5c9;font-size:13px}.soft-button svg{width:17px}.soft-button:hover{background:#ffffff0b}.pending-card{border:1px solid #edc29242;padding:17px;border-radius:15px;margin:22px 0;background:#edc29208}.pending-card p{font-size:14px;line-height:1.6;margin:0 0 13px}.pending-card small{font-size:12px;color:var(--muted)}.primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border:0;border-radius:12px;padding:12px 19px;background:var(--amber);color:#263631;font-weight:600;font-size:14px;text-decoration:none}.primary:hover{background:#f4d3ab}.primary svg{width:17px}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin:44px 0 0;padding:22px 0;font-size:11px;color:#78928b}.page-footer a{text-decoration:none}.room-controls{gap:10px;justify-content:center;flex-wrap:wrap;margin:2px 0 20px}.room-controls:not([hidden]){display:flex}body[data-screen=rocco] .workspace{grid-template-columns:minmax(0,1.35fr) minmax(270px,.8fr)}body[data-screen=rocco] .companion{grid-column:1}body[data-screen=rocco] .view{grid-column:2}body[data-screen=rocco] .scene{height:445px}body[data-screen=rocco] #spirit3d{height:360px}body[data-screen=rocco] .room-caption{display:none}body[data-screen=rocco] .companion-message{padding-top:22px;text-align:center;padding-left:20px}body[data-screen=rocco] .quote{left:5%}body[data-screen=rocco] .companion-message p{min-height:0}.discovery{background:linear-gradient(145deg,#eed6ab15,#ffffff03);border:1px solid #eec29232;border-radius:20px;padding:25px}.discovery .eyebrow{color:var(--amber);font-size:9px}.discovery h2{font:600 28px/1.3 Manrope;letter-spacing:-1px;margin:14px 0}.discovery p{font-size:14px;line-height:1.7;color:var(--muted)}.discovery .primary{width:100%;margin-top:10px}.collection{margin-top:28px}.collection h3{font-size:16px;font-weight:500}.keepsake{padding:20px;border:1px solid var(--line);border-radius:16px;display:flex;gap:16px;align-items:center}.find-art{font-size:44px}.keepsake strong{font-size:14px;font-weight:500}.keepsake small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.collection-empty{font-size:14px;line-height:1.7;color:var(--muted);border:1px dashed #ffffff24;border-radius:16px;padding:21px}.toast{position:fixed;z-index:20;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:20px;padding:15px 19px;border-radius:14px;border:1px solid #ffffff24;background:#35534c;box-shadow:0 15px 45px #0003;color:#f4efdf;font-size:14px;max-width:calc(100% - 32px);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.toast button{background:transparent;border:0;color:#ffe0ac;font-size:14px;font-weight:600;padding:7px}dialog{background:#1b3436;color:var(--ink);border:1px solid #ffffff1a;border-radius:24px;max-width:450px;width:calc(100% - 28px);padding:26px;box-shadow:0 30px 120px #0007;max-height:90dvh;overflow:auto}dialog::backdrop{background:#071619a6;backdrop-filter:blur(8px)}.sheet-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.sheet-top .eyebrow{font-size:9px;margin:0}dialog h2{font:600 28px/1.3 Manrope;letter-spacing:-1px;margin:15px 0}dialog p{font-size:15px;color:#b8cbc1;line-height:1.65}.detail-meta{font-size:13px;color:var(--amber);line-height:1.6}.sheet-actions{display:grid;gap:10px;margin-top:23px}.sheet-actions button{width:100%}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.setting-row label{font-size:14px}.setting-row small{display:block;font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}.setting-row input{accent-color:var(--amber);width:20px;height:20px}.name-edit{display:flex;align-items:center;gap:12px;margin-top:20px}.name-edit label{font-size:14px;flex:none}.name-edit input{min-width:0;width:100%;border:1px solid #ffffff25;border-radius:10px;background:#10282a;padding:12px;color:var(--ink);font-size:16px}.settings-links{display:flex;gap:17px;margin-top:20px;font-size:12px;color:var(--muted);flex-wrap:wrap}.member-choice{width:100%;display:flex;align-items:center;gap:14px;padding:16px;background:transparent;border:1px solid var(--line);border-radius:14px;margin-top:12px;text-align:left;font-size:15px}.member-choice[aria-pressed=true]{border-color:var(--amber)}.member-choice small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.discovery-art{font-size:85px;text-align:center;padding:20px;background:radial-gradient(ellipse,#edc29225,transparent 70%);animation:reveal .7s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(20px) rotate(-8deg) scale(.8)}to{opacity:1;transform:none}}#particles{position:absolute;inset:0;pointer-events:none;z-index:6}.heart{position:absolute;left:60%;top:35%;font-size:22px;color:#ffd6a8;animation:heart-rise 1s ease-out forwards}.heart:nth-child(2){left:38%;animation-delay:.08s;font-size:17px}.heart:nth-child(3){left:70%;animation-delay:.13s;font-size:15px}@keyframes heart-rise{0%{opacity:0;transform:translateY(10px) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translateY(-70px) rotate(15deg) scale(1.2)}}.task.just-done{animation:done-glow .65s ease-out}@keyframes done-glow{0%{border-color:#eec29299;box-shadow:0 0 22px #eec29218}100%{border-color:transparent;box-shadow:none}}.scene.cheer:after{animation:warm-light .85s ease-out}@keyframes warm-light{0%,100%{background-color:transparent}40%{background-color:#f5c28619}}
body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1450px){main{padding-top:43px}.page-heading{margin-top:60px}.scene{height:420px}#spirit3d{height:360px}.task{min-height:98px}}
@media(max-width:1100px){.app-frame{grid-template-columns:175px minmax(0,1fr)}.sidebar{padding:35px 15px}.brand{font-size:30px}.sidebar nav button{padding:14px 12px;gap:11px}main{padding:30px 27px 0}.workspace{grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr);gap:25px}.scene{height:300px}#spirit3d{height:265px}.task{padding:16px 12px;gap:10px}.task-title{font-size:15px}.sample-badge{display:none}h1{font-size:33px}.room-caption p{font-size:20px}}
@media(max-width:850px){.app-frame{grid-template-columns:80px minmax(0,1fr)}.sidebar{padding:29px 8px}.brand{font-size:0;padding:0;text-align:center}.brand span{font-size:34px}.sidebar nav{margin-top:50px;gap:17px}.sidebar nav button{flex-direction:column;gap:7px;padding:12px 4px;font-size:9px}.sidebar-bottom{padding:20px 0}.shared-mark{display:none}.sidebar-bottom .quiet-button{font-size:0;justify-content:center;width:100%}.workspace{grid-template-columns:minmax(0,1fr) minmax(235px,.8fr);gap:22px}main{padding:25px 22px 0}.page-heading{margin:33px 0 28px}.task-title{font-size:14px}.task-meta{font-size:11px}.task{gap:10px;padding:16px 10px}.task-check{width:24px;height:24px}.scene{height:285px}.companion-message p{font-size:14px}body[data-screen=rocco] .workspace{grid-template-columns:1fr}body[data-screen=rocco] .view{grid-column:1;grid-row:2}body[data-screen=rocco] .scene{height:390px}}
@media(max-width:650px){.app-frame{display:block;min-height:100dvh}.sidebar{position:fixed;inset:auto 0 0;height:auto;z-index:10;background:#102528f2;backdrop-filter:blur(18px);border-top:1px solid #ffffff15;border-right:0;padding:8px 16px max(8px,env(safe-area-inset-bottom))}.brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around;gap:5px;margin:0}.sidebar nav button{font-size:11px;gap:6px;min-width:80px;min-height:53px;padding:7px 17px;border-radius:12px}.sidebar nav button[aria-current=page]{background:transparent}main{padding:19px 20px 90px}.topbar{min-height:33px}.home-label{font-size:12px;gap:8px}.home-mark svg{width:17px}.top-actions{gap:6px}.person-button{font-size:12px;gap:6px}.person-button .avatar{width:29px;height:29px}.mobile-settings{display:inline-grid!important;min-width:33px;min-height:33px;padding:6px}.mobile-settings svg{width:17px}.page-heading{margin:25px 0 19px}.page-heading .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:9px}h1{font-size:30px;letter-spacing:-1.25px}.page-subtitle{font-size:13px;margin-top:9px}.heading-symbol{display:none}.workspace{display:flex;flex-direction:column;gap:24px}.companion{width:100%;display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center}.scene{height:145px;border-radius:17px}.scene-caption,.scene-touch,.scene-sound{display:none}#spirit3d{height:145px;bottom:-4px;width:170px;left:-19px}.scene:before{background-position:55% center}.scene:after{background:linear-gradient(0deg,#152f3344,transparent)}#pet-zone{inset:5% 0}.companion-message{padding:8px 0 0}.quote{top:-2px;left:-3px;font-size:26px}.companion-message p{font-size:13px;line-height:1.65;margin:8px 0 5px;min-height:0}.text-link{font-size:12px;min-height:35px}.room-caption{display:none}.view{width:100%}.section-heading{margin-bottom:13px}.section-heading h2{font-size:19px}.task{padding:16px 11px 16px 16px;gap:13px;min-height:82px;border-radius:15px}.task-title{font-size:15px}.task-meta{font-size:12px}.task-check{width:26px;height:26px}.task-list{gap:10px}.week-link{padding:21px 2px}.activity-section{margin-top:22px}.activity p{font-size:12px}.activity .avatar{width:28px;height:28px}.thanks{font-size:11px;padding:8px 10px}.page-footer{margin-top:28px;font-size:10px;padding:18px 0}.toast{bottom:86px;width:max-content;max-width:calc(100% - 24px);font-size:13px;padding:10px 15px}body[data-screen=plan] .companion{display:none}body[data-screen=rocco] .companion{display:block}body[data-screen=rocco] .scene{height:360px;border-radius:22px}body[data-screen=rocco] #spirit3d{height:305px;width:100%;bottom:0;left:0}body[data-screen=rocco] .scene-caption{display:flex}body[data-screen=rocco] .scene-touch{display:block}body[data-screen=rocco] .scene-sound{display:grid}body[data-screen=rocco] #pet-zone{inset:15% 15% 8%}body[data-screen=rocco] .companion-message{padding:16px 20px 8px}body[data-screen=rocco] .companion-message p{font-size:15px}body[data-screen=rocco] .quote{top:13px;left:6px;font-size:34px}.discovery{padding:22px}.discovery h2{font-size:25px}.room-controls{margin-bottom:0}.plan-row b{font-size:15px}}
@media(max-width:360px){main{padding-left:15px;padding-right:15px}.companion{grid-template-columns:112px minmax(0,1fr);gap:13px}.scene{height:137px}#spirit3d{left:-26px}.companion-message p{font-size:12px}h1{font-size:27px}.task-title{font-size:14px}.task{gap:10px;padding-left:12px}.person-button>#person-name{display:none}.top-actions{gap:0}.home-label{font-size:11px}.activity{gap:8px}.activity p{font-size:11px}.thanks{padding:8px;font-size:10px}.page-subtitle{font-size:12px}}
@media print{body{color:#111;background:#fff}.sidebar,.topbar,.companion,.page-footer,.plan-actions,.pill-tabs,.heading-symbol,.toast,dialog{display:none!important}.app-frame,main,.workspace,.view{display:block!important;margin:0;padding:0}.page-heading{margin:10px 0 25px}h1,.eyebrow,.page-subtitle,.plan-row small,.plan-row>span:last-child{color:#111!important}.plan-row{color:#111;border-color:#bbb}.avatar{border:1px solid #aaa}.owner-heading{break-after:avoid}.plan-row{break-inside:avoid}}

[hidden]{display:none!important}
