*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:Segoe UI,system-ui,sans-serif;font-size:13px;color:#1b1b1b;background:#e8e6e0}.myhy-app{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.myhy-app-title{margin:0;padding:.45rem .85rem;font-size:1.05rem;font-weight:600;color:#1a237e;background:#f5f3ed;border-bottom:1px solid #c8c4ba;flex-shrink:0}.myhy-editor{display:flex;flex-direction:column;flex:1 1;min-height:0;background:#f5f3ed}.myhy-editor-loading{padding:2rem;text-align:center;color:#666}.myhy-menubar{display:flex;align-items:center;gap:1rem;padding:.25rem .65rem;background:#faf8f4;border-bottom:1px solid #c8c4ba;flex-shrink:0;font-size:15px}.myhy-menu{display:flex;gap:.25rem}.myhy-menu-group{position:relative}.myhy-menu-group>summary{list-style:none;cursor:pointer;padding:.4rem .85rem;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:15px;line-height:1.3}.myhy-menu-group>summary::-webkit-details-marker{display:none}.myhy-menu-group>summary:hover{background:#e8e4da}.myhy-menu-group:not([open])>.myhy-menu-panel{display:none}.myhy-menu-panel{position:absolute;top:100%;left:0;z-index:20;min-width:190px;background:#fff;border:1px solid #b7b2a6;box-shadow:0 2px 6px rgba(0,0,0,.12)}.myhy-menu-item,.myhy-menu-panel{display:flex;flex-direction:column}.myhy-menu-item{align-items:flex-start;gap:.05rem}.myhy-menu-item-label{font-weight:600}.myhy-menu-item-hint{font-size:.72rem;color:#6b665c;font-weight:400;line-height:1.2}.myhy-menu-panel button{text-align:left;border:none;background:none;padding:.45rem .9rem;cursor:pointer;font:inherit;font-size:15px;line-height:1.35}.myhy-menu-panel button:hover{background:#eef2fb}.myhy-sketch-title{margin-left:auto;color:#555;font-size:.85rem}.myhy-editor-body{display:flex;flex:1 1;min-height:0}.myhy-toolbar{display:flex;flex-direction:column;gap:4px;padding:.45rem .35rem;background:#faf8f4;border-right:1px solid #c8c4ba;flex-shrink:0}.myhy-toolbar button{width:42px;height:42px;border:1px solid transparent;background:#fff;cursor:pointer;font-size:18px;line-height:1;border-radius:2px;color:#333}.myhy-toolbar button:hover:not(:disabled){border-color:#b7b2a6;background:#f0ede6}.myhy-toolbar button.active{border-color:#1a237e;background:#e8eaf6;color:#1a237e;font-weight:600}.myhy-toolbar button.disabled,.myhy-toolbar button:disabled{opacity:.35;cursor:not-allowed}.myhy-canvas-area{flex:1 1;min-width:0;min-height:0;display:flex;background:#ddd9d0;padding:4px}.myhy-canvas-surface{flex:1 1;background:#fff;overflow:hidden;touch-action:none}.myhy-canvas-surface svg{display:block;width:100%;height:100%}.myhy-statusbar{display:flex;gap:1.25rem;padding:.35rem .85rem;background:#faf8f4;border-top:1px solid #c8c4ba;color:#444;font-size:14px;flex-shrink:0}.myhy-context-menu{position:fixed;z-index:120;min-width:200px;background:#fff;border:1px solid #b7b2a6;box-shadow:0 3px 10px rgba(0,0,0,.15);display:flex;flex-direction:column;padding:.25rem 0;font-size:15px}.myhy-context-menu button{text-align:left;border:none;background:none;padding:.45rem 1rem;cursor:pointer;font:inherit;color:#1b1b1b}.myhy-context-menu button:hover{background:#eef2fb}.myhy-context-separator{height:1px;margin:.25rem 0;background:#d8d4cb}.myhy-toast{position:fixed;bottom:2.5rem;left:50%;transform:translateX(-50%);padding:.5rem 1rem;background:#323232;color:#fff;border-radius:3px;font-size:.85rem;z-index:100}.myhy-toast-error{background:#b71c1c}.myhy-dialog-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:50}.myhy-dialog{background:#fff;border:1px solid #b7b2a6;padding:1rem 1.25rem;min-width:280px;max-width:420px;max-height:60vh;overflow:auto}.myhy-dialog h2{margin:0 0 .75rem;font-size:1rem}.myhy-sketch-list{list-style:none;margin:0 0 .75rem;padding:0}.myhy-sketch-list button{width:100%;text-align:left;border:none;background:none;padding:.35rem 0;cursor:pointer;font:inherit}.myhy-sketch-list button:hover{color:#1a237e}.landing{max-width:640px;margin:10vh auto;padding:2rem;background:#fff;border:1px solid #b7b2a6}.landing h1{margin:0 0 .5rem;color:#1a237e}.landing p{margin:.5rem 0}.phase{font-size:.875rem;color:#666}