/* A bounded workbench on desktop; a thumb-sized editor on phones. */
body{max-width:1700px;margin-inline:auto;position:relative;background:#101010}html{background:#080909}.topbar{inset:18px 22px auto;gap:16px}.topbar .wordmark,.modulus-logo{width:48px;height:48px;min-width:48px}.modulus-logo{display:block;border-radius:50%;object-fit:cover;background:#fff;border:1px solid #ffffff40}.project-tab,.work-menu{display:none!important}.modulus-apps{display:flex;gap:7px;align-items:center;margin-left:8px}.modulus-apps a{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 12px;border:1px solid #393939;border-radius:10px;color:#bbb;font-size:11px;text-decoration:none;background:#1c1c1c}.modulus-apps b{font-size:19px;font-weight:550;color:#eee}.modulus-apps a:hover{background:#292929;border-color:#737373}.modulus-apps a:first-child b{color:#9de5b1}.modulus-apps a:last-child b{color:#b7b6f6}.studio-menu button{min-width:65px;font-size:11px}.topbar .share-button{position:static;min-height:42px;height:42px;padding:10px 13px}.workspace-intro{inset:81px 24px auto}.workspace-intro .canvas-brand{display:none}.workspace-intro>div:first-of-type{left:0;transform:none;top:0;text-align:left}.workspace-intro h1,html[lang=th] .workspace-intro h1{font-size:13px;color:#a9a9a9}.workspace-intro .starter{top:20px;left:0}.outcome-strip{position:absolute;z-index:14;top:113px;left:24px;right:24px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.outcome-strip button{display:flex;gap:9px;align-items:center;white-space:nowrap;background:#181919;color:#b6b6b6;border:1px solid #343535;border-radius:9px;padding:9px 14px;font-size:12px;min-height:40px}.outcome-strip button>span{font-size:17px;color:#999}.outcome-strip button[aria-pressed=true]{border-color:#8bc99a;background:#24352b;color:#d7f3de}.outcome-strip button[aria-pressed=true]>span{color:#99ecaf}.world{width:1800px;height:1000px}.world:before{content:"";position:absolute;inset:0;border:1px solid #ffffff0c;border-radius:24px;pointer-events:none}.canvas-controls{right:14px}.canvas-dock{bottom:29px;width:auto}.prompt-strip{display:none}.canvas-hint{bottom:51px;left:23px;max-width:240px}.canvas-dock .dock-buttons{padding:7px 10px}.project-node .type-options{display:none}#tool-outcome{width:100%;font:inherit;font-size:14px;line-height:1.7;color:#e8e8e8;background:#171717;border:1px solid #585858;padding:12px 10px;border-radius:9px;margin-top:2px}.project-node #outcome-label{margin-top:20px}.outcome-functions{font-size:14px;line-height:1.85;color:#d0d0d0;margin:8px 0 16px}.tool-cover{height:485px;padding:28px 24px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(ellipse at 80% 25%,color-mix(in srgb,var(--tool-accent) 17%,transparent),transparent 62%),#121714;color:#f2f4ef}.tool-tag{font-size:12px;color:var(--tool-accent)}.tool-instrument{flex:1;display:grid;align-content:center;line-height:1.3;font-size:56px;letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-weight:400;color:var(--tool-accent)}.tool-instrument.notes{font-size:30px}.tool-instrument small{font-size:32px;opacity:.5}.tool-cover h2{margin:0 0 12px;font-size:23px;font-weight:450;line-height:1.5}.tool-cover p{color:#aab7ac;font-size:12px;line-height:1.7;margin:0 0 18px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.tool-cover button{background:var(--tool-accent);color:#13221a;padding:12px;border-radius:10px;border:0;font:inherit;font-size:13px;min-height:44px}.tool-cover>small{font-size:10px;color:#95a197;margin-top:12px}.mobile-steps,.mobile-actions{display:none}#view-mode{display:none!important}.node [hidden]{display:none!important}#maker-dialog{scrollbar-width:thin}#maker-dialog .dialog-top{position:sticky;top:-28px;background:#191a1b;z-index:2;padding-block:8px}#maker-frame{height:min(730px,77svh)}#maker-description{max-width:75ch}#maker-offline,#maker-note{max-width:100ch}

/* The canvas is the interface: input and output remain connected on a phone. */
.topbar .wordmark{width:64px;height:64px;min-width:64px;border-radius:50%;background:#fff;overflow:hidden;box-shadow:0 0 0 1px #ffffff30}
.modulus-logo{width:64px;height:64px;min-width:64px;transform:scale(1.14);border:0}
.topbar{align-items:center;height:64px;gap:14px}.workspace-intro{top:95px}.outcome-strip{top:122px}
#apps-launcher{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 13px;color:#c9c9c9;background:#202020;border:1px solid #414141;border-radius:12px;font:inherit;font-size:12px;cursor:pointer}
#apps-launcher:hover{background:#303030;border-color:#777}.app-grid{display:grid;grid-template-columns:repeat(2,5px);gap:4px;transform:rotate(-9deg)}.app-grid i{width:5px;height:5px;border-radius:2px;background:#e0e0e0}.app-grid i:nth-child(2){background:#c5aff3}.app-grid i:nth-child(3){background:#b9efad}
#apps-dialog{width:min(520px,calc(100% - 28px));padding:24px;border-radius:24px;background:#161817;border-color:#525653}
#apps-dialog h2{font-size:30px;font-weight:450;line-height:1.4;letter-spacing:-.8px;margin:20px 0 8px}#apps-description{font-size:14px;color:#a6aea8;line-height:1.6;margin:0 0 25px}.app-destinations{display:grid;gap:12px}
.app-destination{display:grid;grid-template-columns:88px 1fr 16px;align-items:center;gap:16px;background:#232925;border:1px solid #3e5346;border-radius:18px;overflow:hidden;text-decoration:none;color:#e6eeea;padding:12px;min-height:122px}.app-destination:hover{border-color:#a9cdb6}.app-destination.app-a8{background:#25232e;border-color:#4b435f}.app-destination.app-a8:hover{border-color:#c5aff3}.app-art{position:relative;width:88px;height:96px;isolation:isolate;display:grid;place-items:center;border-radius:12px;overflow:hidden;background:#9de5b115;color:#a6e5ba}.app-art b{font-size:44px;font-weight:450;letter-spacing:-4px;z-index:1}.app-art i{position:absolute;inset:10px;border:1px solid #9de5b12e;border-radius:14px;transform:rotate(25deg)}.app-art i:nth-of-type(2){transform:rotate(55deg);inset:0}.app-art i:nth-of-type(3){transform:rotate(85deg);inset:-10px}.app-a8 .app-art{color:#c5aff3;background:#c5aff315}.app-a8 .app-art i{border-color:#c5aff32b;border-radius:50%}.app-copy strong{font-size:15px;font-weight:450;line-height:1.6;display:block}.app-copy small{display:block;font-size:11px;color:#a7b3aa;line-height:1.7;margin-top:7px}.app-a8 .app-copy small{color:#b0a6c3}#apps-footnote{font-size:11px;color:#969e97;margin:20px 0 0}
#node-idea.off .node-fields{opacity:1}.idea-include i{display:none}.idea-node .idea-include{position:static;display:flex;background:#25382c;border:1px solid #65947655;border-radius:8px;width:auto;min-width:78px;min-height:32px;white-space:nowrap;padding:6px 9px;font-size:11px;color:#aee9bd;margin-right:0}.idea-node .idea-include[aria-pressed=false]{background:#333;color:#aaa;border-color:#555}.idea-state{font-size:11px;line-height:1.7;color:#f3d39d;margin:12px 0 0}.audience-detail{display:block;margin-top:16px}.audience-detail>summary{display:list-item;font-size:12px;color:#a9b4ac;cursor:pointer;line-height:30px}.audience-detail .audience-label{display:none}.audience-detail input{margin-top:7px}.idea-node .input-meta{display:flex;font-size:10px;gap:8px}.idea-node .input-meta>span:first-child{color:#969c98}.idea-node #idea{background:#161918;border:1px solid #565e58;min-height:120px;font-size:15px;line-height:1.8;resize:vertical;cursor:text;touch-action:auto;user-select:text}.idea-node #idea:focus{outline:2px solid #a8eaba;outline-offset:3px}
.mobile-settings,.mobile-wire{display:none}.mobile-more{display:none}
@media(max-width:800px){
html[data-editor-mode=cards] body{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto;display:block;padding-bottom:86px;max-width:620px;background:radial-gradient(ellipse at 95% 34%,#8a65bd0a,transparent 55%),#101010}
html[data-editor-mode=cards] .topbar{position:relative;inset:auto;height:auto;min-height:88px;padding:13px 17px;display:flex;gap:10px;background:transparent;border:0;z-index:25;flex-wrap:nowrap}
html[data-editor-mode=cards] .topbar .wordmark,html[data-editor-mode=cards] .modulus-logo{width:62px;height:62px;min-width:62px}
.topbar .studio-menu,.topbar .share-button{display:none!important}.topbar .top-actions{margin-left:auto;gap:5px}.topbar .languages{height:40px}.topbar .languages button{min-height:36px;min-width:29px}.topbar #save-project{min-width:36px;min-height:40px;padding:8px}.topbar #save-project span{display:none}.topbar #saved-projects{display:none}.topbar #apps-launcher{padding:10px;min-height:40px;gap:7px}.topbar #apps-label{font-size:11px}
.mobile-more{display:block;position:relative}.mobile-more summary{list-style:none;cursor:pointer;min-width:32px;min-height:40px;display:grid;place-items:center;background:#252525;border:1px solid #444;border-radius:9px;color:#ddd;font-size:17px}.mobile-more summary::-webkit-details-marker{display:none}.mobile-more>div{position:absolute;top:48px;right:0;min-width:205px;display:grid;gap:4px;background:#252525;border:1px solid #555;border-radius:12px;padding:8px;box-shadow:0 15px 40px #000a;z-index:40}.mobile-more button{font:inherit;min-height:44px;border:0;background:#303030;color:#eee;border-radius:7px;font-size:13px;text-align:left;padding:10px}.mobile-more button:disabled{opacity:.4}
html[data-editor-mode=cards] .workspace-intro{position:relative;inset:auto;padding:8px 22px 5px;pointer-events:auto}
html[data-editor-mode=cards] .workspace-intro>div:first-of-type{position:static;transform:none;white-space:normal;margin:0;text-align:left}
html[data-editor-mode=cards] .workspace-intro h1,html[data-editor-mode=cards][lang=th] .workspace-intro h1{font-size:27px;line-height:1.45;font-weight:400;color:#eee;max-width:340px;letter-spacing:-1px}
html[data-editor-mode=cards] .workspace-intro .starter,html[data-editor-mode=cards] .workspace-intro .canvas-brand{display:none}
.outcome-strip{position:relative;inset:auto;padding:14px 22px 12px;gap:7px;scrollbar-width:none}.outcome-strip button{font-size:12px;min-height:42px;padding:9px 13px;flex-shrink:0;border-radius:9px}.outcome-strip button[aria-pressed=true]{background:#24332b;border-color:#7fae8d}
html[data-editor-mode=cards] main{display:block}
html[data-editor-mode=cards] .viewport{height:auto;min-height:400px;position:relative;overflow:visible;touch-action:pan-y;padding:22px 22px 30px;background-image:radial-gradient(#ffffff17 1px,transparent 1px);background-size:22px 22px;cursor:auto}
html[data-editor-mode=cards] .world{position:relative;inset:auto;width:100%;height:auto;display:flex;flex-direction:column;gap:0;transform:none!important;will-change:auto;isolation:isolate}
.world:before{display:none}html[data-editor-mode=cards] .wires,html[data-editor-mode=cards] .canvas-controls,html[data-editor-mode=cards] .canvas-hint,html[data-editor-mode=cards] .canvas-dock{display:none}
html[data-editor-mode=cards] .node{display:none;position:relative!important;inset:auto!important;width:100%!important;margin:0!important;border-radius:18px;transform:none!important;z-index:2}
html[data-editor-mode=cards] #node-idea{display:block;order:1;background:#242625;border:1px solid #6c85733d;box-shadow:0 8px 32px #0006,0 -12px 45px #86eea00b}
html[data-editor-mode=cards] #node-preview{display:block;order:5;margin-top:36px!important;background:#161719;border:1px solid #66758a7a;box-shadow:0 10px 50px #0008,13px -16px 45px #80bdff10,-15px 20px 45px #f4a4d20a}
html[data-mobile-panel=project] #node-project,html[data-mobile-panel=features] #node-features,html[data-mobile-panel=style] #node-style{display:block;order:3;margin-top:12px!important;border-color:#74618480}
.mobile-settings{display:flex;order:2;justify-content:center;gap:6px;z-index:3;margin:24px -4px 0;padding:0}.mobile-settings button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:48px;padding:10px 6px;background:linear-gradient(120deg,#2a2a2e,#1e1e20);border:1px solid #5f566b80;border-radius:11px;color:#c4bfcf;font:inherit;font-size:11px;white-space:nowrap;box-shadow:0 6px 14px #0004}.mobile-settings button>span{color:#c5aff3;font-size:19px}.mobile-settings button[aria-expanded=true]{background:#3b304a;border-color:#c5aff3;color:#f4e9ff}
.mobile-wire{display:block;position:absolute;top:130px;left:-14px;width:calc(100% + 28px);height:calc(100% - 290px);min-height:200px;overflow:visible;pointer-events:none;z-index:0}.mobile-wire path{stroke:#8399b37d;stroke-width:1;fill:none;vector-effect:non-scaling-stroke}.mobile-wire .wire-signal{stroke:#b9efad;stroke-width:1.8;stroke-dasharray:8 350;filter:drop-shadow(0 0 3px #b9efad);opacity:.8}
html[data-editor-mode=cards] .node .port{display:block;left:auto;right:17px;top:auto;bottom:-4px;width:7px;height:7px;transform:none;box-shadow:0 0 9px currentColor}
html[data-editor-mode=cards] .node .port.input{top:-4px;bottom:auto;right:35px}html[data-editor-mode=cards] #port-idea-in{display:none}html[data-editor-mode=cards] #port-idea-out{right:auto;left:24px;background:#a9efbd}
html[data-editor-mode=cards] .node .node-header{position:relative;inset:auto;margin:0;min-height:43px;padding:0 14px;gap:5px}html[data-editor-mode=cards] .node .drag-handle{font-size:12px;touch-action:pan-y;cursor:default;min-height:43px}html[data-editor-mode=cards] .grip{display:none}
html[data-editor-mode=cards] .node .node-header .node-toggle{position:static}html[data-editor-mode=cards] .idea-node .idea-include{margin:0;min-width:0;min-height:32px;font-size:10px;padding:6px 8px}
html[data-editor-mode=cards] .node .node-body{padding:17px;margin:0 6px 6px;border-radius:12px}.node .drag-handle{cursor:default}
html[data-editor-mode=cards] .node input:not([type]),html[data-editor-mode=cards] .node input[type=text],html[data-editor-mode=cards] .node textarea,html[data-editor-mode=cards] #tool-outcome{font-size:16px;line-height:1.7;min-height:48px}
html[data-editor-mode=cards] .node #idea{min-height:104px;height:112px;padding:12px;font-size:16px;background:#161817;border:1px solid #515a54}html[data-editor-mode=cards] #node-idea .field-label:first-of-type{margin-bottom:11px;font-size:12px}.idea-node .input-meta{margin-top:8px;font-size:9px}.idea-node .input-meta>span:first-child{display:none}.idea-node .input-meta>span:last-child{margin-left:auto}
.audience-detail{display:block;margin-top:8px}.audience-detail>summary{display:list-item;font-size:11px;color:#a9b4ac;cursor:pointer;min-height:28px;line-height:28px}.audience-detail:not([open])>label,.audience-detail:not([open])>input{display:none}.audience-detail[open] .audience-label{display:none}.audience-detail[open] input{margin-top:6px}
html[data-editor-mode=cards] .node .field-label{font-size:13px;line-height:1.6}html[data-editor-mode=cards] .node .type-options{display:none}.project-node .microcopy{font-size:12px;line-height:1.8}html[data-editor-mode=cards] .feature-option,html[data-editor-mode=cards][lang=th] .feature-option{min-height:48px;font-size:13px;padding:12px}.feature-options{grid-template-columns:1fr 1fr}html[data-editor-mode=cards] .signal-list{display:none}html[data-editor-mode=cards] .segmented button{min-height:44px;font-size:14px}html[data-editor-mode=cards] .layout-options button{min-height:60px;font-size:12px}html[data-editor-mode=cards] .swatches{gap:15px}html[data-editor-mode=cards] .swatches button{width:30px;height:30px}html[data-editor-mode=cards] .node input[type=range]{height:44px}.build-button{display:none}
html[data-editor-mode=cards] .preview-well{height:350px;min-height:0;border-radius:12px;overflow:hidden}html[data-editor-mode=cards] .mock-screen[data-kind=website] .mock-hero,html[data-editor-mode=cards] .mock-screen[data-kind=website] .mock-hero-copy{min-height:350px}html[data-editor-mode=cards] .mock-screen[data-kind=website] .mock-heading{font-size:25px}html[data-editor-mode=cards] .mock-screen[data-kind=website] .mock-description{font-size:12px}html[data-editor-mode=cards] .mock-screen[data-kind=website] .mock-hero-copy{padding:22px}html[data-editor-mode=cards] .tool-cover{height:350px;padding:22px}.tool-instrument{font-size:47px}html[data-editor-mode=cards] .preview-toolbar{padding:8px;gap:4px}html[data-editor-mode=cards] .preview-share{font-size:10px}.preview-bottom{padding:9px}.live-label{font-size:9px}
.mobile-actions{position:fixed;inset:auto 12px 12px;margin:auto;max-width:590px;z-index:22;display:flex;gap:8px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border:1px solid #6669;border-radius:17px;background:#222624ee;backdrop-filter:blur(20px);box-shadow:0 12px 35px #0008}.mobile-actions button{min-height:48px;border-radius:11px;font:inherit;font-size:13px;border:0;background:transparent;color:#c5cec8;padding:10px 14px}.mobile-actions #mobile-run{flex:1;background:linear-gradient(120deg,#b8f7c5,#8deaaa);color:#14331d;box-shadow:inset 0 1px 0 #ffffff80}.keyboard-open .mobile-actions{display:none}
html[data-editor-mode=cards] footer{position:relative;inset:auto;height:auto;display:flex;flex-wrap:wrap;background:transparent;font-size:10px;padding:12px 22px;gap:8px;min-height:0}.footer-brand{display:none!important}#save-status{font-size:10px}html[data-editor-mode=cards] footer button{font-size:11px;min-height:32px}
#apps-dialog{padding:20px;border-radius:23px}#apps-dialog h2{font-size:27px}.app-destination{grid-template-columns:76px 1fr 14px;gap:12px;padding:10px}.app-art{width:76px;height:90px}.app-copy strong{font-size:14px}.app-copy small{font-size:11px}
#maker-dialog{width:100%;max-width:100%;height:100svh;max-height:100svh;margin:0;border:0;border-radius:0;padding:16px}#maker-dialog .dialog-top{top:-16px;padding-block:10px}#maker-close{min-height:44px;max-width:none;font-size:12px}#maker-dialog h2{font-size:24px;margin-top:15px}.maker-config{grid-template-columns:1fr;gap:12px;margin:16px 0}.maker-config input,.maker-config select{font-size:16px;min-height:48px}.maker-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.maker-actions button{min-height:48px;font-size:13px;padding:12px}#maker-save,.maker-import{grid-column:1 / -1}.maker-import{padding:10px 12px}.maker-import input{width:100%;font-size:12px}.maker-capabilities{font-size:13px!important;line-height:1.8}#maker-note,#maker-offline{font-size:11px}#maker-frame-wrap{border-radius:12px;margin-inline:-6px}#maker-frame{height:75svh}#maker-status{font-size:13px;line-height:1.8}
}
@media(max-width:370px){html[data-editor-mode=cards] .topbar{padding-inline:12px;gap:8px}.topbar #apps-label{display:none}.topbar #apps-launcher{min-width:36px}.app-copy strong{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.mobile-wire .wire-signal{animation:flow-wire 5s linear infinite}.app-destination{transition:background .2s,border-color .2s}.mobile-settings button{transition:background .2s}.node:focus-within{transition:box-shadow .2s}@keyframes flow-wire{to{stroke-dashoffset:-358}}}

@media(max-width:800px){html[data-editor-mode=cards] #node-idea .node-body{padding:14px 17px}html[data-editor-mode=cards] #node-idea .field-label:first-of-type{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}html[data-editor-mode=cards] #node-idea .input-meta{margin-top:9px}.mobile-settings{margin-top:22px}html[data-editor-mode=cards] #node-preview{margin-top:28px!important}html[data-editor-mode=cards] .idea-node .dot{background:#9de5b1;box-shadow:0 0 8px #9de5b1aa}html[data-editor-mode=cards] .preview-node .dot{background:#91c7ff;box-shadow:0 0 8px #91c7ffaa}}

.idea-node .input-meta{align-items:center;justify-content:space-between}.idea-node .input-meta>span:first-of-type{display:none}.idea-node .input-meta .idea-include{min-height:32px;margin:0}.idea-node .node-header .drag-handle{white-space:nowrap}.idea-node .node-header{padding-right:135px}.idea-node .idea-include[aria-pressed=false]{color:#f3d39d}
@media(max-width:800px){html[data-editor-mode=cards] .idea-node .node-header{padding-right:14px}.idea-node .input-meta .idea-include{font-size:10px;padding:5px 8px}.idea-node .input-meta>span:last-child{margin-left:auto}}
@media(max-width:800px){
html[data-editor-mode=cards] #node-idea .input-meta .idea-include{width:auto;min-width:90px;flex:0 0 auto;justify-content:center;padding:6px 10px;border:1px solid #71947c55!important;background:#24372b!important;border-radius:8px}
html[data-editor-mode=cards] #node-idea .input-meta .idea-include[aria-pressed=false]{background:#34312b!important}
html[data-editor-mode=cards] #preview-screen[data-kind=website][data-layout=stack] .mock-hero{display:grid;grid-template-columns:1fr;grid-template-rows:160px 190px;gap:0;height:350px;min-height:350px;padding:0}
html[data-editor-mode=cards] #preview-screen[data-kind=website][data-layout=stack] .mock-art{height:160px;min-height:160px;margin:0}
html[data-editor-mode=cards] #preview-screen[data-kind=website][data-layout=stack] .mock-hero-copy{height:190px;min-height:0;padding:16px 20px;justify-content:center}
html[data-editor-mode=cards] #preview-screen[data-kind=website] .mock-heading{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html[data-editor-mode=cards] #preview-screen[data-kind=website] .mock-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html[data-editor-mode=cards] #preview-screen[data-kind=website][data-layout=stack] .mock-art img{object-position:center 35%}
html[data-editor-mode=cards] .preview-node .preview-bar{height:26px;margin-bottom:6px}
html[data-editor-mode=cards] #node-preview .preview-toolbar{position:relative;inset:auto;margin:0 7px 7px;border:0;background:transparent;box-shadow:none}
}

@media(max-width:800px){html[data-editor-mode=cards] #preview-screen[data-kind=website][data-layout=stack] .mock-cta{display:none}html[data-editor-mode=cards] #preview-screen[data-kind=website][data-layout=stack] .mock-description{-webkit-line-clamp:2}html[data-editor-mode=cards] #preview-screen[data-kind=website][data-layout=stack] .mock-heading{font-size:23px;flex-shrink:0}}
