:root{font-family:Arial,Helvetica,sans-serif;color:#343c37;background:#fbfcfa;font-size:13px;--border:#e6e9e4;--sub:#98a097;--green:#315e43;--canvas:#f1f3ef;--top:64px;--side:218px;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a,input,select{font:inherit}button{border:0;background:transparent;color:inherit;cursor:pointer;padding:0}a{text-decoration:none;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #559676;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.975)}[hidden]{display:none!important}.icon{width:20px;height:20px;vertical-align:middle;flex:none}button:disabled{opacity:.4;cursor:default}.topbar{height:var(--top);display:flex;align-items:center;padding:0 24px 0 21px;border-bottom:1px solid var(--border);background:white;position:relative;z-index:20;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-size:16px;letter-spacing:-.35px;min-width:174px}.brand>b,.brand b{font-weight:500;color:#7d9280}.brand-symbol{width:30px;height:32px;display:grid;place-items:center;color:#426747}.brand-symbol .icon{width:29px;height:29px;stroke-width:1.5}.tabs{align-self:stretch;display:flex;gap:28px}.tabs button{height:100%;font-size:13px;font-weight:500;position:relative;color:#8f9790;padding:0 3px}.tabs button[aria-selected=true]{color:#253f2c}.tabs button[aria-selected=true]:after{content:'';position:absolute;height:2px;bottom:0;left:0;right:0;background:#466f4f}.top-right{margin-left:auto;display:flex;align-items:center;gap:21px}.version{border:1px solid #e8ece5;border-radius:5px;padding:4px 6px;color:#96a18e;font:10px monospace}.play-button{height:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#355e43;color:white;border-radius:7px;padding:0 13px;font-size:11px;white-space:nowrap}.play-button .icon{width:14px;height:14px;fill:currentColor;stroke-width:1.5}.layout{display:flex;height:calc(100% - var(--top))}.sidebar{width:var(--side);min-width:var(--side);background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;position:relative;z-index:10}.side-project{margin:25px 15px 24px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.project-icon{width:33px;height:33px;display:grid;place-items:center;border:1px solid #dfe8d9;background:#f5f8f1;border-radius:8px;color:#668753}.project-icon .icon{width:18px}.side-sub{display:block;font-size:9px;font-weight:400;color:#9ba293;margin-top:5px;white-space:nowrap}.project-dot{width:5px;height:5px;border-radius:50%;background:#96b080;margin-left:auto}.side-search{height:33px;display:flex;align-items:center;gap:6px;margin:0 14px 22px;border:1px solid var(--border);border-radius:6px;padding:0 8px;color:#9aa391}.side-search input{border:0;outline:0!important;width:100%;font-size:10px;color:#465141;background:transparent;min-width:0}.side-search input::placeholder{color:#9da496}.side-search .icon{width:14px;height:14px}.side-search kbd{font-size:10px;border:1px solid #e8ece4;border-radius:3px;padding:0 4px;color:#adb4a7}.side-label{padding:0 22px;font-size:9px;font-weight:500;letter-spacing:1.3px;color:#a0a79b;margin:21px 0 11px}.side-nav{padding:0 9px}.side-nav button,.archive-trigger{min-height:39px;width:100%;display:flex;align-items:center;gap:10px;font-size:11px;text-align:left;padding:9px 12px;color:#6e7967;border-radius:6px}.side-nav button .icon{width:17px;height:17px;color:#8c9a81}.side-nav button span:first-of-type{flex:1}.side-nav button .count{margin-left:auto;font-size:9px;color:#a4af99}.side-nav button.active{color:#345c3f;background:#edf3e6;font-weight:600}.side-nav button.active .icon{color:#638759}.side-nav button.active .count{color:#759766}.sidebar-divider{height:1px;background:#edf0e9;margin:20px 20px 16px}.archive-trigger{padding-left:21px;font-size:10px;color:#9da693}.archive-trigger .icon{width:15px;height:15px}.archive-trigger .icon:last-child{margin-left:auto}.archive-groups{padding:0 10px 15px 25px}.archive-groups button{display:block;width:100%;text-align:left;font-size:10px;color:#8b9682;line-height:1.55;padding:7px 9px;border-left:1px solid #e1e8d9}.archive-groups button.active{background:#f0f4e9;color:#42613c;border-left-color:#86a370}.archive-count{font-size:9px;color:#a8b39c;margin-left:auto}#sidebarContents{flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#e5ebdd transparent}.sidebar-footer{display:flex;align-items:center;gap:7px;padding:17px 20px;font-size:9px;color:#a1ac95;border-top:1px solid #eff2e9}.sidebar-footer .dot{width:5px;height:5px;border-radius:50%;background:#8ead74}.sidebar-footer button{border:1px solid #dfe5d7;border-radius:50%;width:19px;height:19px;margin-left:auto;font-size:10px}.workspace{flex:1;min-width:0;position:relative}.workspace>section{height:100%;display:flex;flex-direction:column}.toolbar{height:54px;min-height:54px;background:#ffffffd9;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:15px;position:relative;z-index:5}.breadcrumb{display:flex;align-items:center;gap:11px;font-size:10px;color:#a3aa9d;min-width:0;white-space:nowrap;overflow:hidden}.breadcrumb b{font-weight:500;color:#68745f;overflow:hidden;text-overflow:ellipsis}.breadcrumb .slash{color:#c2c9ba}.toolbar-actions{display:flex;align-items:center;gap:4px;flex:none}.device-switch{display:flex;gap:2px;border:1px solid #e5eadf;border-radius:6px;padding:2px;background:#f9faf7;margin-right:4px}.device-switch button{font-size:10px;color:#8b9780;min-width:47px;height:25px;padding:0 9px;border-radius:4px}.device-switch button.active{background:#fff;color:#3f563a;box-shadow:0 1px 3px #40522f13}.toolbar-separator{height:17px;width:1px;background:#e8ece3;margin:0 8px}.icon-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:#88977b;flex:none}.icon-button .icon{width:16px;height:16px}.icon-button:hover{background:#edf2e6}.zoom-button{height:30px;min-width:43px;font-size:10px;color:#829272}.canvas-viewport{flex:1;overflow:auto;min-height:0;overscroll-behavior:contain;background:radial-gradient(#cfd6c766 .7px,transparent .7px) 8px 8px/16px 16px,#f1f3ef;scrollbar-width:thin;scrollbar-color:#c6d0bc #f1f3ef}#canvasSurface{padding:36px 40px 80px;min-height:100%}.canvas-heading{display:flex;align-items:center;gap:15px;margin-bottom:29px}.canvas-heading h1{font-size:18px;font-weight:500;letter-spacing:-.4px;margin:0;color:#6a7963}.canvas-heading>span{font:9px monospace;color:#acb59f;border:1px solid #dbe3d2;border-radius:4px;padding:3px 6px}.screen-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-width,220px),1fr));gap:33px 27px;align-items:start;justify-items:start;max-width:1800px}.screen-card{width:var(--card-width,220px);min-width:0}.screen-label{display:flex;align-items:center;gap:7px;font-size:10px;color:#7d8e70;margin:0 0 10px;min-height:19px;max-width:100%}.screen-label .frame-symbol{font-size:13px;color:#a7b496}.screen-label .code{font:8px monospace;color:#a6b297}.screen-label .label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-label .launch-mini{margin-left:auto;opacity:0;color:#5d7b50;width:22px;height:22px}.screen-card:hover .launch-mini{opacity:1}.launch-mini .icon{width:13px;height:13px}.canvas-frame{position:relative;background:#f8f9f4;border:1px solid #dce4d3;box-shadow:0 2px 5px #36482706,0 13px 24px #4c613612;border-radius:15px;overflow:hidden;transition:box-shadow .2s;cursor:pointer}.canvas-frame:hover{box-shadow:0 0 0 2px #99b681,0 13px 32px #4c613622}.canvas-frame iframe{border:0;display:block;transform-origin:0 0;pointer-events:none}.canvas-frame>.frame-open{position:absolute;inset:0;z-index:2;border-radius:15px}.canvas-frame>.frame-open:focus-visible{outline:3px solid #315e43;outline-offset:-3px}.frame-skeleton{position:absolute;inset:0;background:#e8edde;display:grid;place-items:center;color:#becab0}.frame-skeleton .icon{width:42px;height:42px}.canvas-bottom{height:29px;min-height:29px;display:flex;justify-content:space-between;align-items:center;background:#fbfcf8;border-top:1px solid #e4eadd;font-size:9px;color:#9da991;padding:0 25px}.canvas-empty{padding:80px 20px;color:#8e9c81;font-size:13px}.spec-card{padding:23px 20px;min-height:165px;width:100%;background:#fff;border:1px solid #e0e8d7;border-radius:12px;display:flex;flex-direction:column;gap:17px;color:#617552}.spec-card h2{font-size:15px;margin:0;font-weight:500}.spec-card span{font-size:10px;color:#a1ae95}.spec-card .icon{width:20px}.load-more{display:block;margin:38px auto 0;background:#fff;padding:12px 25px;border:1px solid #dce6d1;border-radius:7px;color:#657d53;font-size:12px}.prototype-stage{flex:1;min-height:0;overflow:clip;display:flex;align-items:center;justify-content:center;background:#eef1e9;position:relative;padding:24px 24px 53px;isolation:isolate;scrollbar-width:thin}.proto-orbit{position:absolute;border:1px solid #dce5d377;border-radius:50%;z-index:-1;pointer-events:none}.orbit-one{width:720px;height:720px;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-two{width:970px;height:970px;left:50%;top:50%;transform:translate(-50%,-50%)}.prototype-device-holder{position:relative;flex:none}.device-shell{position:relative;transform-origin:0 0;background:#f8f9f4;overflow:hidden;box-shadow:0 0 0 1px #324136,0 0 0 4px #fafcf3,0 0 0 6px #a6b29a,0 35px 75px #4a5b3330,0 9px 22px #293b2633}.device-shell.ios{border:8px solid #1a281f;border-radius:46px}.device-shell.android{border:6px solid #243026;border-radius:34px}.device-shell>iframe{border:0;width:100%;height:100%;background:var(--canvas);display:block;position:relative;z-index:1}.prototype-caption{position:absolute;bottom:17px;left:0;right:0;display:flex;gap:9px;align-items:center;justify-content:center;font-size:9px;color:#95a487}.caption-dot{width:5px;height:5px;background:#91ad7f;border-radius:50%}.caption-divider{color:#bec9b3}.launch-cover{position:absolute;inset:0;background:#f2f5ebef;backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;color:#3a573c;text-align:center}.launch-symbol{width:76px;height:76px;border-radius:50%;border:1px solid #c5d4b8;display:grid;place-items:center;box-shadow:0 0 0 14px #e4ecd9;margin-bottom:34px}.launch-symbol .icon{width:42px;height:42px;stroke-width:1.2}.launch-kicker{font-size:10px;letter-spacing:2.5px;color:#8a9c78}.launch-cover h1{font-size:31px;line-height:1.25;font-weight:400;letter-spacing:-.8px;margin:24px 0 35px}.launch-cover h1 i{font-family:Georgia,serif;font-size:32px;color:#7c9062;font-weight:400}.launch-button{display:flex;align-items:center;justify-content:center;gap:11px;font-size:14px;padding:17px 21px;background:#365c41;border-radius:12px;color:white;box-shadow:0 10px 20px #3155301a}.launch-button .icon{width:16px;height:16px;fill:currentColor}.scenario-nav .scenario-button{display:flex;align-items:flex-start;padding:13px 12px;min-height:58px;gap:11px;margin-bottom:4px}.scenario-button .scenario-label{flex:1;display:block}.scenario-button small{display:block;font-size:9px;color:#a0af92;margin-top:5px;font-weight:400;line-height:1.4}.scenario-button .icon{margin-top:2px}.proto-quick-nav{margin:0 12px;padding:0 11px;border-left:1px solid #e3eadb}.proto-quick-nav button{display:block;text-align:left;min-height:31px;font-size:10px;color:#8c9d7e;width:100%;border-radius:4px;padding-left:8px}.proto-quick-nav button:hover,.proto-quick-nav button.active{background:#f0f5e9;color:#517343}.proto-state-row{display:flex;gap:9px;align-items:center;font-size:10px;color:#8ea07d;margin:24px 20px}.proto-state-row input{accent-color:#517849;width:14px;height:14px;margin:0}.prototype-caption a{text-decoration:underline}.plain-button{border:1px solid #dce5d2;background:#f7f9f2;height:35px;border-radius:6px;padding:0 15px;font-size:11px;color:#789064}.focus-dialog{padding:0;border:0;border-radius:16px;width:min(1100px,96vw);max-width:96vw;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);overflow:hidden;background:#f2f4ed;color:#45613a;box-shadow:0 35px 100px #1e2b2850}.focus-dialog[open]{display:flex;flex-direction:column}.focus-dialog::backdrop,.confirm-dialog::backdrop{background:#25392e48;backdrop-filter:blur(5px)}.focus-top{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:16px 24px;border-bottom:1px solid #e2e9da;gap:12px}.focus-top h2{font-size:14px;font-weight:500;margin:4px 0 0;line-height:1.4}.tiny-meta{font:9px monospace;color:#9eae90}.focus-top-actions{display:flex;gap:10px;align-items:center}.focus-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:min(8vw,110px);padding:20px 35px 25px;background:radial-gradient(#cad5be66 .6px,transparent .6px) 0 0/15px 15px}.focus-arrow{border:1px solid #d6e1cb;border-radius:50%;background:#fafcf5;width:39px;height:39px;flex:none;display:grid;place-items:center;color:#8fa27c}.focus-arrow .icon{width:19px;height:19px}.focus-footer{display:flex;justify-content:space-between;font-size:9px;color:#a4b294;padding:10px 22px;border-top:1px solid #e0e8d7}.confirm-dialog{border:1px solid #d6e1cb;border-radius:16px;padding:28px;width:min(420px,92vw);color:#35583c;box-shadow:0 20px 80px #26382133}.confirm-dialog h2{font-size:20px;font-weight:500;margin:0 0 15px}.confirm-dialog p{font-size:12px;line-height:1.8;color:#8a9c79;margin:0 0 22px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-dialog kbd{font:11px monospace;padding:3px 5px;border:1px solid #dce6d1;border-radius:4px;line-height:2.8}.sidebar-toggle{display:none}.expanded .sidebar,.expanded .topbar{display:none}.expanded .layout{height:100%}.expanded .prototype-stage{background:#e9eee2}.archive-badge{font:9px monospace;color:#a1af94}.device-shell [hidden]{display:none}.focus-legacy-note{padding:12px;text-align:center;font-size:10px;color:#8b9b7a}
@media(min-width:1750px){:root{--side:240px}.side-project{margin-left:23px}.side-nav{padding:0 14px}#canvasSurface{padding-left:48px}}
@media(max-width:1050px){:root{--side:185px}.topbar{gap:18px;padding-left:15px}.brand{min-width:150px;font-size:14px}.side-sub{font-size:8px}.side-project{margin-left:12px;gap:7px}.project-icon{width:29px;height:29px}.side-label{padding-left:18px}#canvasSurface{padding:26px}.toolbar{padding-left:22px;padding-right:16px}.canvas-heading{margin-bottom:22px}.screen-board{gap:26px 18px}}
@media(max-width:760px){:root{--top:58px;--side:215px}.topbar{gap:12px;padding:0 13px}.brand{min-width:0;font-size:13px;gap:6px}.brand-symbol{width:23px}.brand-symbol .icon{width:23px}.brand b{display:none}.tabs{margin-left:3px;gap:15px}.tabs button{font-size:12px}.version{display:none}.top-right{gap:7px}.top-right .play-button{width:31px;padding:0;background:#edf2e7;color:#507443}.top-right .play-button>span:last-child{display:none}.sidebar-toggle{display:inline-flex;width:25px}.sidebar{position:absolute;left:0;top:var(--top);height:calc(100% - var(--top));transform:translateX(-100%);box-shadow:15px 0 50px #37483125;transition:transform .2s;z-index:15}.sidebar-open .sidebar{transform:translateX(0)}.toolbar{height:49px;min-height:49px;padding:0 15px}.breadcrumb{font-size:9px;gap:7px}.toolbar-actions{gap:0}.toolbar-separator{margin:0 5px}.device-switch button{min-width:36px;padding:0 7px;font-size:9px}.toolbar .icon-button{width:25px}.zoom-button{min-width:34px;font-size:9px}#canvasSurface{padding:25px 19px 70px}.screen-board{grid-template-columns:repeat(auto-fill,minmax(var(--card-width,162px),1fr));gap:26px 14px}.canvas-heading h1{font-size:16px}.canvas-bottom{padding:0 15px;font-size:8px}.focus-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0}.focus-top{padding:12px 15px}.focus-top h2{font-size:12px}.focus-top .play-button{font-size:10px;padding:0 10px}.focus-top-actions{gap:6px}.focus-body{gap:9px;padding:20px 9px}.focus-arrow{width:27px;height:34px;border-color:transparent;background:transparent}.focus-footer{font-size:8px;padding:10px 12px}.focus-footer span:last-child{display:none}.prototype-stage{padding-left:18px;padding-right:18px}.prototype-caption{font-size:8px}.proto-orbit{display:none}.expanded .toolbar{padding:0 12px}.expanded .sidebar{top:0}.confirm-dialog{padding:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
