@font-face{font-family:ZaobaPF;src:url('assets/brand-zaoba/PFanHuTuTi-0.680.woff') format('woff');font-display:swap}@font-face{font-family:ZaobaKimpo;src:url('assets/brand-zaoba/Kimpo-Regular.woff') format('woff');font-display:swap}
:root{--paper:#fbf6ea;--ink:#173f73;--body:#355a85;--muted:#62748a;--green:#173f73;--line:#173f7326;--pink:#e76598;--white:#fffcf5;--light-green:#f6edda;--font:'Yuanti SC','STYuanti','Avenir Next','PingFang SC',sans-serif;color-scheme:light}
*{box-sizing:border-box}body.zaoba-editor{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--font)}button,input,select{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #427dca;outline-offset:3px}button{border:0;background:none}a{color:inherit;text-decoration:none}p,h1,h2{margin:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-70px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:10px}.skip-link:focus{top:12px}
.zaoba-header{max-width:1416px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:17px 48px;border-bottom:1px solid var(--line)}.zaoba-brand{display:flex;align-items:center;gap:13px;font:34px/1.2 ZaobaPF,cursive}.zaoba-brand small{font:12px/1.5 var(--font);display:block;letter-spacing:.12em;margin-top:5px}.frame-brand-mark{display:flex;align-items:center;justify-content:center;width:59px;height:62px;border:3px solid var(--ink);border-radius:12px 10px 14px 9px;transform:rotate(-8deg);background:#ed90b4;color:var(--paper);font:36px ZaobaPF}.back-zaoba{font-size:14px;padding:10px}.zaoba-main{max-width:1300px;margin:auto;padding:0 30px}.zaoba-intro{display:flex;justify-content:space-between;align-items:flex-end;padding:20px 0 23px;gap:20px}.zaoba-intro p{font-size:12px;letter-spacing:.16em;margin-bottom:5px}.zaoba-intro h1{font:clamp(34px,3.5vw,48px)/1.35 ZaobaPF,cursive}.zaoba-intro h1 span{color:var(--pink)}.work-menu{display:flex;align-items:center;gap:18px;font-size:12px;padding-bottom:5px}.work-menu button{font-size:13px;min-height:42px;text-decoration:underline;text-underline-offset:4px}#saveStatus{font-size:11px;color:var(--muted)}
.frame-workbench{border:1.5px solid var(--ink);border-radius:22px;background:var(--white);box-shadow:4px 5px 0 #173f7310;overflow:visible}.workbench-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 24px;border-bottom:1px solid var(--line)}.size-dropdown{display:flex;align-items:center;gap:12px;font-size:12px}.size-dropdown>span{color:var(--muted);white-space:nowrap;flex-shrink:0}.size-dropdown select{max-width:285px;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:10px 31px 10px 12px;min-height:44px;font-size:14px}.creation-tools{display:flex;align-items:center;gap:10px}.creation-tools>button,.color-control>button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid transparent;border-radius:9px;font-size:14px}.creation-tools>button:hover,.color-control>button:hover,.creation-tools>button[aria-expanded=true],.color-control>button[aria-expanded=true]{background:#f9e9ee;border-color:#e7659833}.creation-tools>button>span{font-size:25px;line-height:1}.text-tool-icon{font-family:Georgia,serif;font-size:23px!important}.color-control{position:relative}#paletteDot{width:22px;height:22px;border-radius:50%;border:1px solid #173f7340}#colorPopover{position:absolute;z-index:45;right:0;top:calc(100% + 12px);width:290px;border:1px solid var(--ink);border-radius:14px;background:var(--white);padding:17px;box-shadow:0 10px 30px #173f731a}.popover-heading{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:12px}.popover-heading button{width:36px;height:36px;font-size:23px}#colorChoices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.palette-choice{display:flex;align-items:center;gap:9px;text-align:left;padding:9px 5px;border:1px solid transparent;border-radius:8px;font-size:12px}.palette-choice i{width:29px;height:29px;border-radius:50%;border:1px solid #173f732a;flex-shrink:0}.palette-choice.selected{background:#f7edcc;border-color:var(--ink)}.finish-choice{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin-top:16px;font-size:12px}.finish-choice select{padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--white)}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr)}.editor-layout.library-open{grid-template-columns:minmax(0,1fr) 310px}.zaoba-editor .canvas-area{position:relative;top:auto;min-width:0;padding:0;background:#f3ecd9;order:initial;overflow:hidden;isolation:isolate}.zaoba-editor .canvas-surface{position:relative;border:0;border-radius:0;background-color:#f3ecd9;background-image:radial-gradient(#173f7315 .7px,transparent .7px);background-size:18px 18px;height:clamp(430px,59dvh,650px);max-height:none;min-height:0;padding:43px 34px 48px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:none}.zaoba-editor #designCanvas{display:block;width:100%;height:100%;max-height:none;max-width:none;overflow:visible;touch-action:none;filter:none}.zaoba-editor #canvasArea.expanded .canvas-surface{height:76dvh;min-height:450px}.canvas-meta{position:absolute;top:14px;left:23px;right:23px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);pointer-events:none}.canvas-meta>span+span{border:0;padding:0}.zaoba-editor .canvas-help{min-height:34px;padding:0 20px 10px;text-align:center;color:var(--muted);font-size:11px;line-height:1.7}.zaoba-editor #constraintStatus{font-size:11px}.status-dot{display:none}.zaoba-editor #constraintStatus.warning,#inlineTextError:not(:empty){color:#a33f40}.zaoba-editor #inlineTextError:not(:empty){display:block}.zaoba-editor #limitLegend{position:absolute;bottom:42px;left:16px;display:flex;gap:10px;pointer-events:none;font-size:10px;color:var(--muted)}.zaoba-editor #limitLegend span:first-child{color:#ae7143}.zaoba-editor #limitLegend span+span{color:#856ba2}
.zaoba-editor #canvasQuickbar{position:absolute;z-index:12;bottom:50px;left:50%!important;top:auto!important;transform:translateX(-50%);display:flex;align-items:center;gap:6px;width:max-content!important;max-width:calc(100% - 18px);padding:5px 8px;background:#fffdf5f5;border:1px solid #173f7340;border-radius:99px;box-shadow:0 4px 12px #173f7312;font-size:12px}.zaoba-editor #canvasQuickbar>strong{font-size:11px;font-weight:400;padding:0 7px;white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}.zaoba-editor #canvasQuickbar button{min-height:40px;min-width:38px;padding:5px 9px;border:0;border-radius:50px;font-size:12px}.zaoba-editor #canvasQuickbar button:hover{background:#f8e6b6}.zaoba-editor #textFontControl select{max-width:140px;min-height:37px;padding:5px 20px 5px 6px;background:transparent;border:0;font-size:12px}#quickRemove{color:#a14760}.zaoba-editor .inplace-text{position:absolute;z-index:11;display:block;border:0;padding:0;background:transparent;box-shadow:none;transform-origin:center;min-height:36px}.zaoba-editor #inlineTextInput{width:100%;height:auto;min-height:36px;border:0;border-radius:0;padding:0 3px;margin:0;background:transparent;text-align:center;line-height:1.1;font-weight:400;outline:none!important;box-shadow:none;caret-color:#173f73;text-shadow:0 1px 1px #173f7330}.inplace-text:focus-within{border-bottom:1px dashed #173f7360}.inplace-text input::selection{background:#173f7344;color:inherit}
.icon-library{border-left:1px solid var(--ink);min-width:0;padding:20px 17px;overflow-y:auto;max-height:calc(clamp(430px,59dvh,650px) + 44px);background:var(--white)}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.library-heading h2{font:25px ZaobaPF,cursive}.library-heading span{font-size:10px;color:var(--muted)}.library-heading button{font-size:24px;width:40px;height:40px}.library-search{display:flex;align-items:center;gap:8px;margin:15px 0 12px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.library-search>span{font-size:20px}.library-search input{width:100%;border:0;background:transparent;padding:4px 0;font-size:12px;min-width:0;outline-offset:0}.icon-categories{display:flex;gap:5px;flex-wrap:wrap}.icon-categories button{border:1px solid transparent;border-radius:6px;padding:5px 8px;min-height:34px;font-size:11px;white-space:nowrap}.icon-categories button.active{background:#f7e5eb;border-color:#e7659855}#libraryHint{font-size:10px;color:var(--muted);margin:12px 0}.icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.icon-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:100px;padding:8px 3px;border:1px solid #173f7320;border-radius:9px;background:#f9f3e2;gap:5px}.icon-tile:hover{border-color:var(--ink);background:#f9e8ef}.icon-tile>img,.icon-tile>svg{width:57px;height:57px;object-fit:contain;filter:none}.icon-tile>svg path{fill:#355a85!important}.icon-tile>span{font-size:10px;line-height:1.4}.icon-tile>small{font-size:8px;color:var(--muted)}.library-empty{grid-column:1/-1;font-size:12px;color:var(--muted);padding:25px 10px}
.workbench-bottom{display:flex;align-items:center;justify-content:flex-end;gap:17px;padding:16px 23px;border-top:1px solid var(--line);background:var(--white);border-radius:0 0 21px 21px}.history-tools{margin-right:auto;display:flex;align-items:center;border:1px solid var(--line);border-radius:99px;padding:2px 7px;background:var(--paper)}.history-tools button{width:42px;height:40px;border-radius:50%;font-size:22px}.history-tools>span{height:20px;width:1px;background:var(--line);margin:0 6px}.save-secondary{font-size:12px;min-height:44px}.zaoba-editor .finish-button{background:var(--ink);border:1.5px solid var(--ink);border-radius:9px;color:var(--paper);min-height:48px;min-width:234px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:15px;box-shadow:2px 3px 0 #173f7319}.finish-button span{font-size:22px}.finish-button:hover{background:#265489}.editor-bottom-note{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted);padding:16px 3px 24px}.editor-bottom-note button{font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:40px}
.zaoba-editor dialog{border:1px solid var(--ink);border-radius:20px;background:var(--white);color:var(--ink);max-height:90dvh;padding:25px}.zaoba-editor dialog h2{font:31px ZaobaPF,cursive}.zaoba-editor dialog::backdrop{background:#173f7355;backdrop-filter:blur(4px)}.zaoba-editor dialog .primary,.zaoba-editor dialog .major{background:var(--ink);color:var(--paper)}.zaoba-editor dialog .secondary{border-color:#173f7340;color:var(--ink);background:var(--paper)}.zaoba-editor .eyebrow{color:var(--muted)}.zaoba-editor .model-progress{background:#f4efdf;color:var(--ink)}.zaoba-editor #modelValidationSection{border-top:1px solid var(--line);padding-top:15px;font-size:12px}.zaoba-editor #modelValidationSection>summary{cursor:pointer;min-height:42px}.zaoba-editor #modelNextSteps{background:var(--paper)}.zaoba-editor #modelNextSteps h3{font-size:14px}.zaoba-editor .model-download.major{border:0}.zaoba-editor .model-download.major small{color:#ecedec}.zaoba-editor .toast{bottom:25px;background:var(--ink);color:var(--paper);font-size:13px;z-index:1000}.zaoba-editor .handle-hit{touch-action:none}
@media(max-width:1050px){.zaoba-header{padding:15px 28px}.zaoba-main{padding:0 24px}.work-menu{gap:10px}.work-menu #saveStatus{max-width:120px;font-size:10px}.workbench-toolbar{padding:12px 16px}.size-dropdown{gap:7px}.size-dropdown select{max-width:240px;font-size:12px}.creation-tools{gap:2px}.creation-tools>button,.color-control>button{padding:8px 10px;font-size:12px}.editor-layout.library-open{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:760px){.zaoba-header{padding:12px 18px}.zaoba-brand{font-size:28px;gap:9px}.zaoba-brand small{font-size:10px}.frame-brand-mark{width:42px;height:46px;font-size:27px;border-width:2px}.back-zaoba{font-size:12px;padding:8px 0}.zaoba-main{padding:0 14px}.zaoba-intro{padding:17px 0 15px;align-items:center;gap:6px}.zaoba-intro p{font-size:10px}.zaoba-intro h1{font-size:31px;white-space:nowrap}.work-menu{align-self:flex-start;display:block;white-space:nowrap}.work-menu #saveStatus{display:none}.work-menu button{font-size:10px;min-height:30px;padding:0 2px}.frame-workbench{border-radius:16px}.workbench-toolbar{display:block;padding:11px 12px 8px}.size-dropdown{display:flex;justify-content:space-between;font-size:11px}.size-dropdown select{max-width:none;width:calc(100% - 63px);min-height:40px;padding:7px 22px 7px 9px;font-size:12px}.creation-tools{display:grid;grid-template-columns:1fr 1fr .8fr;margin-top:8px;gap:5px}.creation-tools>button,.color-control>button{width:100%;font-size:12px;gap:6px;min-height:43px;padding:6px 5px;background:#f5f0e2;border-radius:7px}.creation-tools>button>span{font-size:21px}.color-control>button #paletteDot{width:19px;height:19px}#colorPopover{top:calc(100% + 8px);width:280px;right:-3px}.editor-layout,.editor-layout.library-open{display:flex;flex-direction:column}.zaoba-editor .canvas-surface{height:clamp(320px,47dvh,450px);padding:38px 16px 46px}.zaoba-editor .canvas-area{position:relative!important;top:auto!important;padding:0;overflow:hidden}.zaoba-editor #canvasArea.expanded .canvas-surface{height:68dvh;min-height:370px}.canvas-meta{left:13px;right:13px;top:12px;font-size:9px}.canvas-meta>span+span{font-size:9px}.zaoba-editor .canvas-help{font-size:10px;padding:0 12px 9px;min-height:32px}.zaoba-editor #constraintStatus{font-size:10px}.zaoba-editor #limitLegend{font-size:8px;bottom:35px;left:10px;gap:7px}.zaoba-editor #canvasQuickbar{bottom:43px;gap:1px;padding:2px 5px}.zaoba-editor #canvasQuickbar>strong{font-size:10px;padding:0 5px;max-width:65px}.zaoba-editor #canvasQuickbar button{font-size:11px;min-height:38px;padding:5px 8px}.zaoba-editor #textFontControl select{max-width:124px;font-size:11px}.icon-library{border-left:0;border-top:1px solid var(--line);padding:14px;max-height:340px;min-height:250px}.library-heading h2{font-size:22px}.library-heading span{display:none}.library-heading button{height:32px}.library-search{margin:7px 0 9px}.library-search input{font-size:16px}.icon-categories{flex-wrap:nowrap;overflow-x:auto;gap:5px;padding:0 0 3px}.icon-categories button{font-size:11px;min-height:37px;padding:4px 7px}.icon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.icon-tile{min-height:84px;padding:6px 2px}.icon-tile>img,.icon-tile>svg{width:49px;height:49px}.icon-tile>span{font-size:9px}#libraryHint{margin:7px 0;font-size:9px}.workbench-bottom{position:sticky;bottom:0;z-index:30;padding:11px 10px max(11px,env(safe-area-inset-bottom));gap:8px;border-radius:0 0 15px 15px}.history-tools{padding:1px 3px}.history-tools button{width:30px;height:36px;font-size:19px}.history-tools>span{margin:0 1px;height:16px}.zaoba-editor .finish-button{min-width:0;min-height:44px;flex:1;padding:8px 11px;font-size:13px;gap:7px;max-width:215px}.save-secondary{display:none}.editor-bottom-note{padding:12px 0 18px;font-size:10px;gap:5px}.editor-bottom-note button{font-size:10px}.zaoba-editor .toast{bottom:80px;font-size:12px}.zaoba-editor dialog{padding:18px;width:calc(100vw - 20px)}.zaoba-editor dialog h2{font-size:26px}.zaoba-editor .work-card{grid-template-columns:65px minmax(0,1fr)}.zaoba-editor .work-actions{grid-column:2}}
@media(max-width:355px){.zaoba-intro h1{font-size:27px}.zaoba-intro{gap:3px}.zaoba-brand{font-size:25px}.size-dropdown select{font-size:11px}.zaoba-main{padding:0 10px}.work-menu button{font-size:9px}.zaoba-editor .finish-button{font-size:12px;padding:8px}.history-tools button{width:28px}.icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Feedback stays above the workbench, away from the single completion action. */
.zaoba-editor .toast{top:88px;bottom:auto;pointer-events:none}
@media(max-width:760px){.zaoba-editor .toast{top:80px;bottom:auto}}
@font-face{font-family:FrameLulu;src:url('assets/fonts/Chewy-Regular.woff') format('woff');font-display:swap}
.zaoba-editor .library-search input{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0;padding:4px 0;margin:0;height:30px}
.finish-choice{white-space:nowrap;gap:12px}.finish-choice select{width:138px;max-width:65%}
@media(max-width:760px){.zaoba-editor .editor-layout.library-open .canvas-surface{height:240px!important;min-height:240px;padding:27px 16px 26px}.zaoba-editor .editor-layout.library-open .canvas-help{min-height:25px;padding-bottom:5px}.zaoba-editor .editor-layout.library-open .icon-library{height:310px;max-height:310px;min-height:0}.zaoba-editor .editor-layout.library-open #canvasQuickbar{bottom:28px}.zaoba-editor .editor-layout.library-open #limitLegend{display:none!important}}
.zaoba-editor .model-dialog{width:min(880px,calc(100vw - 30px));max-width:880px}.zaoba-editor .model-snapshot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;font-size:12px;color:var(--muted);margin:14px 0}.zaoba-editor .model-progress{padding:14px 17px;margin:12px 0 17px;border-radius:11px;line-height:1.8}.zaoba-editor .model-progress p{font-size:12px;margin:4px 0 0}.zaoba-editor .model-progress strong{font-size:15px}.zaoba-editor .model-progress progress{width:100%;margin-top:12px;accent-color:var(--ink)}.zaoba-editor #modelDownloadsSection{margin:0 0 19px}.zaoba-editor #modelDownloads{display:block;margin:0}.zaoba-editor .model-download.major{display:flex;flex-direction:column;padding:14px 20px;border-radius:9px;text-decoration:none;gap:5px}.zaoba-editor .model-download.major strong{font-size:16px}.zaoba-editor .model-download.major small{font-size:11px}.zaoba-editor #modelDimensions{margin:8px 0;font-size:11px}.zaoba-editor #modelMeshNotice{margin:10px 0 17px;font-size:11px}.zaoba-editor #modelNextSteps{padding:12px 15px;border-radius:9px;margin:12px 0;font-size:12px}.zaoba-editor #modelNextSteps summary{cursor:pointer;min-height:27px;font-size:13px}.zaoba-editor #modelNextSteps ol{padding-left:22px}.zaoba-editor #modelNextSteps li{padding:5px 0}.zaoba-editor #modelNextSteps li strong,.zaoba-editor #modelNextSteps li span{display:block}.zaoba-editor .model-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.zaoba-editor .model-actions button{min-height:43px;padding:8px 15px;font-size:12px}.zaoba-editor .model-stale{background:#f9e5ed;color:#8d3958;border-radius:8px;padding:10px 14px;margin:12px 0;font-size:12px}
