:root{--bg:#f6f4f0;--panel:#fffefa;--ink:#292b29;--muted:#72746d;--line:#e5e4de;--pink:#a84863;--soft:#f6e5eb;--radius:12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden}button,input,select{font:inherit}button{border:0;background:transparent;color:inherit;cursor:pointer;min-height:44px;border-radius:9px;padding:0 12px}button:hover{background:#eeede7}button:focus-visible,input:focus-visible{outline:2px solid var(--pink);outline-offset:2px}button:disabled{opacity:.35;cursor:default}.primary{background:var(--ink);color:white;padding:0 21px}.primary:hover{background:#42463e}.primary span{margin-left:12px}header{height:88px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:var(--panel);border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:11px;padding:0;text-align:left}.brand>span{font-family:Georgia,serif;font-weight:bold;font-size:25px;letter-spacing:-1px}.brand small{display:block;font:8px -apple-system,sans-serif;letter-spacing:1.7px;margin-top:6px}.document{display:flex;flex-direction:column;gap:5px;text-align:center}.document input{background:none;border:0;text-align:center;max-width:220px;font-size:13px;color:var(--ink);font-weight:600}.document>span{font-size:10px;color:var(--muted)}.header-actions{display:flex;gap:9px;align-items:center;font-size:12px}#help{border:1px solid var(--line);width:44px}.workspace{height:calc(100dvh - 88px);display:grid;grid-template-columns:86px minmax(0,1fr) 290px}.tools{padding:18px 12px;display:flex;flex-direction:column;align-items:stretch;gap:5px;border-right:1px solid var(--line);background:var(--panel);overflow-y:auto}.tools button{flex-shrink:0;min-height:57px;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.tools button>span{font-size:23px;font-weight:400;line-height:25px}.tools small,.color-tool small{font-size:9px}.tools button.active{background:var(--soft);color:#8d3d55}.tool-divider{height:1px;background:var(--line);margin:6px}.color-tool{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px}.color-tool input{border:0;background:none;width:30px;height:30px;padding:0;cursor:pointer}main{min-width:0;display:flex;flex-direction:column}.canvas-toolbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;flex-shrink:0;font-size:11px}.canvas-toolbar>div:first-child{display:flex;gap:8px;align-items:center}.status-dot,.pen-dot{width:6px;height:6px;background:#8d9f88;border-radius:100%;display:inline-block}.zoom-controls{display:flex;align-items:center;border:1px solid #dcdcd5;border-radius:9px;height:33px;background:#faf9f5}.zoom-controls button{min-height:32px;font-size:10px;padding:0 11px}.stage{flex:1;min-height:0;overflow:auto;position:relative;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(#d8d8d0 .65px,transparent .65px);background-size:12px 12px;margin:0 18px;border:1px solid var(--line);border-radius:6px}.artboard{flex-shrink:0;box-shadow:0 9px 38px #39362d19;touch-action:none;position:relative}#canvas{width:100%;height:100%;display:block;touch-action:none;background:white;user-select:none}.canvas-badge{position:sticky;bottom:14px;align-self:flex-end;margin-left:-140px;margin-right:0;width:130px;text-align:center;font-size:9px;letter-spacing:1px;color:#65685f;background:#faf9f3dd;border:1px solid #dfdfd7;padding:7px;border-radius:5px;pointer-events:none}.bottom-bar{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:10px;font-size:9px;color:var(--muted);flex-shrink:0}.bottom-bar>div{display:flex;align-items:center;gap:6px}.bottom-bar button{font-size:10px;text-decoration:underline}.inspector{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}.inspector-head{display:flex;align-items:center;justify-content:space-between;padding:26px 22px 20px}.inspector-head>span{font-family:Georgia,serif;font-size:12px;color:#96988f}h2{font-size:14px;margin:0;font-weight:600}.inspector section{padding:20px 22px;border-top:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;font-weight:600;color:#6f716a;margin-bottom:17px}.section-label>span{color:#aaa}.muted{color:var(--muted);font-size:11px;line-height:1.7}.quick{display:flex;align-items:center;gap:10px;padding:8px 0;text-align:left;width:100%;font-size:11px}.quick small{display:block;margin-top:5px;font-size:9px;color:var(--muted)}.quick>span:last-child{margin-left:auto;color:#8c8f84}.quick-icon{font-size:22px;border:1px solid var(--line);border-radius:9px;width:36px;height:36px;display:grid;place-items:center;color:#72766a}.layer-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.layer-title h2 span{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}.layer-title button{font-size:22px}.layers-section{flex:1;min-height:180px}#layers{display:flex;flex-direction:column;gap:5px}.layer{display:flex;gap:7px;align-items:center;border:1px solid transparent;border-radius:8px;padding:3px;font-size:11px}.layer.selected{background:#f6edeF;border-color:#e9cfd6}.layer .pick{display:flex;align-items:center;gap:9px;flex:1;min-width:0;text-align:left;padding:0 3px;font-size:10px}.layer .pick span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-symbol{display:grid;place-items:center;width:30px;height:33px;border-radius:4px;border:1px solid #dad8d2;background:#faf9f4;font-size:17px}.layer .eye{padding:0 5px;min-width:30px}.local-note{padding:19px 22px;font-size:9px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line)}.local-note span{color:#8d9f88;margin-right:6px}#properties label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin:10px 0}#properties input[type=range]{width:120px;accent-color:var(--pink)}#properties input[type=text]{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px;background:white}#properties .row{display:flex;gap:3px;justify-content:space-between}#properties .row button{font-size:10px;padding:0 6px;border:1px solid var(--line)}.mobile-layer{display:none}dialog{width:min(760px,calc(100% - 32px));max-height:85dvh;border:1px solid var(--line);border-radius:20px;padding:26px;background:var(--panel);box-shadow:0 30px 100px #2223;color:var(--ink)}dialog::backdrop{background:#24282360;backdrop-filter:blur(5px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px;color:var(--muted)}.modal-heading button{font-size:25px}dialog h1{font:normal 34px Georgia,serif;letter-spacing:-1px;margin:12px 0}dialog p{font-size:13px;color:var(--muted);line-height:1.7}.project-actions{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.project-actions button{border:1px solid var(--line);font-size:12px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-card{padding:0;text-align:left;border:1px solid var(--line);overflow:hidden;min-width:0}.project-preview{height:130px;display:grid;place-items:center;background:#eeece6;overflow:hidden}.project-preview svg{height:115px;max-width:100%}.project-card b,.project-card small{display:block;margin:12px;font-size:12px}.project-card small{font-size:10px;color:var(--muted);margin-top:0}.learn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.learn-card{background:#f1efe9;border-radius:12px;padding:18px}.learn-card .example{height:75px;display:grid;place-items:center;font:italic 30px Georgia;color:var(--pink);border-bottom:1px solid #ddd8cc;margin-bottom:16px}.learn-card h3{font-size:13px}.learn-card p{font-size:11px}.export-options{display:grid;gap:12px;margin-top:20px}.export-options button{border:1px solid var(--line);text-align:left;padding:15px}.export-options small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.orientation{display:none;position:fixed;inset:0;z-index:20;background:var(--bg);align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.orientation h1{font:normal 32px Georgia;max-width:330px}.orientation p{color:var(--muted);font-size:14px;line-height:1.8}.orientation button{margin-top:20px;text-decoration:underline;font-size:12px}#toast{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);background:#292b29;color:white;padding:13px 20px;border-radius:10px;font-size:12px;z-index:30;opacity:0;pointer-events:none;max-width:90%;transition:opacity .2s}#toast.show{opacity:1}button{touch-action:manipulation}@media(max-width:1100px){header{padding:0 19px;height:72px}.workspace{height:calc(100dvh - 72px);grid-template-columns:72px minmax(0,1fr) 250px}.brand>span{font-size:22px}.brand small{font-size:7px}.tools{padding:12px 8px}.inspector section{padding:16px}.inspector-head{padding:20px 16px}.canvas-toolbar{padding:0 18px}.bottom-bar{padding:0 18px}#toolHint{display:none}}@media(max-height:560px),(max-width:800px){header{height:58px;padding:0 max(14px,env(safe-area-inset-left));gap:10px}.workspace{height:calc(100dvh - 58px);grid-template-columns:62px minmax(0,1fr)}.brand>span{font-size:20px}.brand small{display:none}.brand svg{width:23px}.header-actions{gap:3px}.header-actions button{font-size:11px;padding:0 10px}.document input{max-width:170px;font-size:11px}.document>span{font-size:8px}.inspector{display:none;position:absolute;right:max(0px,env(safe-area-inset-right));top:58px;bottom:0;width:265px;z-index:5;box-shadow:-12px 0 30px #0001}.inspector.open{display:flex}.tools{padding:6px;gap:1px}.tools button{min-height:44px}.tools button small{display:none}.tools button>span{font-size:22px}.color-tool{padding:4px}.color-tool small{display:none}.tool-divider{margin:3px}.canvas-toolbar{height:44px;padding:0 13px;gap:8px}.canvas-toolbar>div:first-child{font-size:10px}.mobile-layer{display:block;font-size:11px}.stage{margin:0 10px}.bottom-bar{height:32px;padding:0 12px;font-size:8px}.bottom-bar button{min-height:30px}.local-note{padding:12px 16px}.tools{padding-bottom:env(safe-area-inset-bottom)}.canvas-badge{display:none}}@media(max-width:600px) and (orientation:portrait){.orientation:not(.dismissed){display:flex}.document{display:none}.header-actions #projects{display:none}.canvas-toolbar>div:first-child{display:none}.learn-grid,.project-grid{grid-template-columns:1fr}.project-preview{height:100px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.dimension-input{width:90px;min-height:36px;border:1px solid var(--line);border-radius:6px;padding:7px;background:white;color:var(--ink)}
.inspector-head,.quick-section,.local-note{flex-shrink:0}.inspector .layers-section{flex:1 0 auto}.compact-history{display:none}@media(max-height:560px),(max-width:800px){.tools #undo,.tools #redo{display:none}.compact-history{display:flex;gap:4px}.bottom-bar{height:44px}.compact-history button{min-width:44px;min-height:44px;font-size:21px;text-decoration:none}.canvas-toolbar{height:48px}.zoom-controls,.zoom-controls button{height:44px;min-height:44px}.zoom-controls button{min-width:44px}}
.bottom-bar .compact-history{display:none}@media(max-height:560px),(max-width:800px){.bottom-bar .compact-history{display:flex}}
/* v0.2: a camera independent from document coordinates. */
.stage{display:block;overflow:hidden;touch-action:none}.artboard{position:absolute;left:50%;top:50%;transform-origin:center;will-change:transform}.canvas-badge{position:absolute;right:14px;bottom:14px;margin:0;width:auto;min-width:130px}.property-divider{height:1px;background:var(--line);margin:18px 0}.transform-buttons,.photo-presets{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}.transform-buttons button,.photo-presets button{border:1px solid var(--line);font-size:10px;min-width:44px;padding:0 9px}.wide-button{width:100%;border:1px solid #dec5cd;background:#f6e5eb;font-size:12px}#properties>input[type=range]{width:100%;accent-color:var(--pink);min-height:32px;margin:0}#properties output{font-size:10px;color:var(--muted)}.crop-layout{display:flex;gap:25px;align-items:flex-start;margin:22px 0}.crop-preview{position:relative;max-width:100%;flex-shrink:1;overflow:hidden;background:#ddd;touch-action:none;user-select:none}.crop-preview>img{width:100%;height:100%;display:block;pointer-events:none}.crop-box{position:absolute;border:2px solid white;box-shadow:0 0 0 999px #1118;cursor:move;min-width:4px;min-height:4px;touch-action:none}.crop-thirds{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 32.9%,#fff8 33%,#fff8 33.3%,transparent 33.4%,transparent 66.2%,#fff8 66.3%,#fff8 66.6%,transparent 66.7%),linear-gradient(to bottom,transparent 32.9%,#fff8 33%,#fff8 33.3%,transparent 33.4%,transparent 66.2%,#fff8 66.3%,#fff8 66.6%,transparent 66.7%)}#cropGrip{position:absolute;right:-2px;bottom:-2px;border-radius:0;background:#fffefa;color:#6b3a4a;width:44px;height:44px;min-width:44px;padding:0;font-size:23px;cursor:nwse-resize;touch-action:none}.crop-settings{flex:1;min-width:170px}.crop-presets{display:flex;flex-wrap:wrap;gap:5px}.crop-presets button{font-size:12px;border:1px solid var(--line);padding:0 12px}.crop-presets .chosen{background:var(--soft);border-color:#a84863}.crop-settings .primary{font-size:12px}.tools button[data-tool=hand]>span{font-size:23px}.tools button{min-height:52px}@media(max-height:560px),(max-width:800px){.tools button{min-height:44px}.tools{gap:0}.tools .tool-divider{display:none}.color-tool{padding:2px}.crop-layout{gap:18px}.crop-settings{min-width:190px}.inspector-head{position:sticky;top:0;background:var(--panel);z-index:2}#properties>input[type=range]{min-height:44px}}@media(max-width:600px) and (orientation:portrait){.crop-layout{flex-direction:column}.crop-preview{align-self:center}.crop-settings{width:100%}}

.export-options a{display:block;border:1px solid var(--line);padding:15px;border-radius:9px;color:inherit;text-decoration:none;font:inherit;cursor:pointer;min-height:44px}.export-options a:hover{background:#eeede7}.export-options a:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
/* v0.3: task workspaces share one document. */
[hidden]{display:none!important}.workspace-switch{display:flex!important;gap:3px!important;padding:3px;border:1px solid var(--line);border-radius:10px;background:#eeede8;flex-shrink:0}.workspace-switch button{min-height:44px;min-width:78px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:4px 14px;border-radius:7px;font-size:11px}.workspace-switch button small{font-size:8px;color:#62675e;letter-spacing:.3px}.workspace-switch button[aria-pressed=true]{background:var(--panel);box-shadow:0 1px 4px #0001;color:var(--pink)}.canvas-toolbar{gap:12px}.canvas-toolbar .mode-caption{font-size:10px;flex:1;justify-content:center}.pen-actions{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 20px #0001;padding:4px 8px;z-index:2;max-width:95%;white-space:nowrap}.pen-actions span{font-size:10px;color:var(--muted);padding:0 5px}.pen-actions button{font-size:12px;min-height:44px}.pen-actions #finishPath{background:var(--soft);color:#813b51}.node-actions{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.node-actions button{font-size:10px;border:1px solid var(--line);padding:0 10px}.mask-panel{margin:16px 0;font-size:12px;border:1px solid var(--line);border-radius:9px;padding:0 10px}.mask-panel summary{cursor:pointer;min-height:44px;align-content:center}.mask-panel select{width:145px;max-width:100%;min-height:44px;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:11px}.mask-panel .wide-button{margin:8px 0}.vector-lesson{display:flex;gap:22px;background:#f3eee8;padding:20px;border-radius:12px;margin:18px 0}.vector-lesson svg{width:170px;flex-shrink:0;overflow:visible;align-self:center}.vector-lesson h3{font-size:14px;margin-top:0}.vector-lesson p{font-size:12px}.local-note p{font-size:10px;margin:0 0 10px;color:#5d6357}@media(max-width:1100px){.canvas-toolbar .mode-caption{display:none}}@media(max-height:560px),(max-width:800px){.canvas-toolbar{height:58px;padding:0 10px;gap:6px}.workspace-switch{padding:1px;gap:1px!important}.workspace-switch button{min-width:68px;padding:2px 9px}.canvas-toolbar .mode-caption{display:none}.canvas-toolbar .workspace-switch{display:flex}.canvas-toolbar>div:first-child{font-size:11px}.pen-actions{bottom:6px}.pen-actions span{display:none}.tools{gap:0}.tools button{flex-shrink:0}.vector-lesson svg{width:100px}.canvas-toolbar .zoom-controls{margin-left:auto}.canvas-toolbar .zoom-controls button{padding:0 8px}.local-note p{margin-bottom:6px}}@media(max-width:600px) and (orientation:portrait){.canvas-toolbar .workspace-switch{display:flex!important}.workspace-switch button{min-width:60px}.zoom-controls #fit{max-width:80px}.vector-lesson{display:block}.vector-lesson svg{display:block;width:160px;height:70px;margin:8px auto 18px}.canvas-toolbar .zoom-controls button{min-width:36px}.canvas-toolbar #toggleLayers{padding:0 5px;font-size:10px}}
.canvas-toolbar .mode-caption{display:none}
