:root{--brand-primary:#06b6d4;--brand-primary-dark:#0891b2;--brand-primary-light:#67e8f9;--brand-accent-1:#ff6b6b;--brand-accent-2:#4ecdc4;--brand-highlight:#ffd93d;--primary-rose:#ff6b6b;--primary-cream:#f8f9fa;--primary-sage:#4ecdc4;--primary-dusty-blue:#06b6d4;--primary-pale:#ecfeff;--accent-gold:#ffd93d;--accent-coral:#ff6b6b;--accent-lavender:#22d3ee;--accent-mint:#4ecdc4;--neutral-warm-white:#fffefb;--neutral-light-gray:#f5f3f0;--neutral-medium-gray:#d0ccc7;--neutral-dark-gray:#8b8680;--neutral-charcoal:#4a453f;--primary:var(--brand-primary);--primary-dark:var(--brand-primary-dark);--primary-light:var(--brand-primary-light);--accent-pink:var(--accent-coral);--accent-teal:var(--accent-mint);--highlight:var(--accent-gold);--white:#fff;--primary-rose-light:#ff6b6b26;--primary-rose-dark:#e55555;--secondary-cream-light:#fdfefe;--secondary-sage:var(--primary-sage);--neutral-lightest-gray:#fafaf8;--font-heading:"Comfortaa","Nunito","Poppins",sans-serif;--font-body:"Inter","Source Sans Pro",system-ui,sans-serif;--font-accent:"Kalam","Caveat","Dancing Script",cursive;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #8b86800d;--shadow-md:0 4px 6px -1px #8b86801a,0 2px 4px -1px #8b86800f;--shadow-lg:0 10px 15px -3px #8b86801a,0 4px 6px -2px #8b86800d;--shadow-xl:0 20px 25px -5px #8b868026,0 10px 10px -5px #8b86800a;--shadow-paper:0 4px 8px #8b86801f,0 2px 4px #8b868014;--transition-fast:.15s ease-out;--transition-normal:.2s ease-out;--transition-slow:.3s ease-out;--z-critical:1000;--z-critical-blocking:1010;--z-shell:100;--z-tabbar:99;--z-ribbon:98;--z-secondary-nav:90;--z-panel-overlay:60;--z-panel:50;--z-panel-controls:45;--z-menu:30;--z-tooltip:25;--z-fab:20;--z-canvas-controls:15;--z-canvas-overlays:12;--z-canvas-status:10;--z-handle:5;--z-hover:3;--z-content:1;--z-flow:0}body{font-family:var(--font-body);color:var(--neutral-charcoal);background-color:var(--neutral-warm-white)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--neutral-charcoal);font-weight:600}.ms-auth-loading{background-color:var(--neutral-light-gray)}.ms-auth-error{background-color:var(--neutral-warm-white);border:1px solid var(--primary-rose)}.ms-route-protected{background-color:var(--neutral-warm-white)}.btn-primary{background:linear-gradient(135deg,var(--accent-gold),var(--primary-rose));color:#fff;padding:var(--space-3)var(--space-6);border-radius:var(--radius-md);font-weight:600;font-family:var(--font-body);box-shadow:var(--shadow-md);transition:all var(--transition-normal);cursor:pointer;border:none}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background:var(--primary-cream);color:var(--neutral-charcoal);border:2px solid var(--primary-rose);padding:var(--space-2)var(--space-5);border-radius:var(--radius-md);font-weight:500;font-family:var(--font-body);transition:all var(--transition-normal);cursor:pointer}.btn-secondary:hover{background:var(--primary-rose);color:#fff;border-color:var(--primary-rose)}.btn-icon{background:var(--neutral-light-gray);border-radius:var(--radius-md);width:40px;height:40px;transition:all var(--transition-normal);cursor:pointer;color:var(--neutral-dark-gray);border:none;justify-content:center;align-items:center;display:flex}.btn-icon:hover{background:var(--primary-rose);color:#fff;transform:scale(1.05)}.panel-primary{background:var(--neutral-warm-white);border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.panel-secondary{background:linear-gradient(to bottom,var(--neutral-warm-white),var(--primary-cream));border:1px solid var(--neutral-medium-gray);box-shadow:var(--shadow-md);border-radius:var(--radius-lg)}.toolbar-main{background:linear-gradient(to right,var(--primary-cream),var(--neutral-warm-white));border-bottom:1px solid var(--neutral-medium-gray);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.canvas-area{background:linear-gradient(135deg,var(--neutral-light-gray),var(--primary-cream));position:relative}.canvas-area:before{content:"";pointer-events:none;opacity:.3;background-image:radial-gradient(circle at 1px 1px,#8b868026 1px,#0000 0);background-size:20px 20px;position:absolute;inset:0}.input-primary{background:var(--neutral-warm-white);border:2px solid var(--neutral-medium-gray);border-radius:var(--radius-md);padding:var(--space-2)var(--space-4);font-family:var(--font-body);color:var(--neutral-charcoal);transition:border-color var(--transition-normal)}.input-primary:focus{border-color:var(--primary-rose);outline:none;box-shadow:0 0 0 3px #e8b4b81a}.state-success{color:var(--accent-mint);background-color:#98d8c81a}.state-warning{color:var(--accent-coral);background-color:#ff6b6b1a}.text-heading{font-family:var(--font-heading);font-weight:600}.text-accent{font-family:var(--font-accent)}.shadow-paper{box-shadow:var(--shadow-paper)}.rounded-scrapbook{border-radius:var(--radius-lg)}.bg-warm{background:var(--primary-cream)}.bg-canvas{background:linear-gradient(135deg,var(--neutral-light-gray),var(--primary-cream))}.ms-save-status{font-family:var(--font-body);align-items:center;gap:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-normal);font-size:.875rem;font-weight:500;display:inline-flex}.ms-save-status--idle{color:var(--neutral-dark-gray);background-color:var(--neutral-light-gray);border:1px solid #0000}.ms-save-status--dirty{color:#d97706;background-color:#fef3c7;border:1px solid #f59e0b;box-shadow:0 0 0 1px #f59e0b33}.ms-save-status--saving{color:var(--brand-primary);border:1px solid var(--brand-primary);background-color:#ede9fe;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.ms-save-status--saved{color:#059669;background-color:#d1fae5;border:1px solid #10b981;animation:.3s ease-out savedSuccess}.ms-save-status--error{color:#dc2626;background-color:#fee2e2;border:1px dashed #ef4444;box-shadow:0 0 0 1px #ef44444d}.ms-save-status--offline{color:var(--neutral-charcoal);border:1px solid var(--neutral-medium-gray);opacity:.8;background-color:#f3f4f6;border-style:dotted}@keyframes savedSuccess{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.ms-save-status:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.ms-save-status--error:hover{background-color:#fecaca;border-color:#dc2626}@media (prefers-contrast:high){.ms-save-status--dirty,.ms-save-status--error{border-width:2px;font-weight:600}.ms-save-status--offline{border-width:2px}}@media (prefers-reduced-motion:reduce){.ms-save-status--saving,.ms-save-status--saved{animation:none}.ms-save-status{transition:none}}.ms-title-bar{padding:var(--space-3)var(--space-6);background:var(--neutral-warm-white);border-bottom:1px solid var(--neutral-medium-gray);align-items:center;min-height:60px;display:flex}.ms-title-bar--inline{background:0 0;border-bottom:none;min-height:auto;padding:0}.ms-title-bar-content{align-items:center;gap:var(--space-4);width:100%;display:flex}.ms-title-bar-name{flex:1;min-width:0;position:relative}.ms-title-bar-display{font-family:var(--font-heading);color:var(--neutral-charcoal);cursor:pointer;padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-normal);text-overflow:ellipsis;white-space:nowrap;outline:none;max-width:100%;font-size:1.25rem;font-weight:600;display:inline-block;overflow:hidden}.ms-title-bar-display:hover{background-color:var(--neutral-light-gray);color:var(--brand-primary)}.ms-title-bar-display:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.ms-title-bar-edit{gap:var(--space-1);flex-direction:column;display:flex;position:relative}.ms-title-bar-input{font-family:var(--font-heading);color:var(--neutral-charcoal);background:var(--neutral-warm-white);border:2px solid var(--brand-primary);border-radius:var(--radius-md);padding:var(--space-2)var(--space-3);transition:border-color var(--transition-normal);outline:none;min-width:200px;max-width:100%;font-size:1.25rem;font-weight:600}.ms-title-bar-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #06b6d426}.ms-title-bar-input--error{border-color:var(--accent-coral);box-shadow:0 0 0 3px #ff6b6b26}.ms-title-bar-input:disabled{opacity:.6;cursor:not-allowed}.ms-title-bar-error{font-family:var(--font-body);color:var(--accent-coral);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);z-index:var(--z-canvas-status);margin-top:var(--space-1);background-color:#ff6b6b1a;border:1px solid #ff6b6b4d;font-size:.875rem;position:absolute;top:100%;left:0;right:0}.ms-title-bar-saving{font-family:var(--font-body);color:var(--brand-primary);align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:.875rem;display:flex;position:absolute;top:100%;left:0}.ms-title-bar-spinner{border:2px solid var(--neutral-medium-gray);border-top:2px solid var(--brand-primary);border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}.ms-title-bar-hint{font-family:var(--font-body);color:var(--neutral-dark-gray);opacity:.7;transition:opacity var(--transition-normal);font-size:.75rem}.ms-title-bar:hover .ms-title-bar-hint{opacity:1}.ms-title-bar--inline .ms-title-bar-hint{display:none}@media (max-width:768px){.ms-title-bar{padding:var(--space-2)var(--space-4);min-height:50px}.ms-title-bar-display{font-size:1.125rem}.ms-title-bar-input{min-width:150px;font-size:1.125rem}.ms-title-bar-hint{display:none}}@media (prefers-contrast:high){.ms-title-bar-display:hover{background-color:var(--neutral-medium-gray);border:1px solid var(--neutral-charcoal)}.ms-title-bar-input{border-width:3px}.ms-title-bar-error{background-color:#ff6b6b33;border-width:2px}}@media (prefers-reduced-motion:reduce){.ms-title-bar-display,.ms-title-bar-input,.ms-title-bar-hint{transition:none}.ms-title-bar-spinner{border:2px solid var(--brand-primary);animation:none}}.app-main{margin-top:128px!important}.ms-ribbon-collapsed~.app-main{margin-top:78px!important}.ms-ribbon{background-color:var(--neutral-warm-white);border-bottom:1px solid var(--neutral-medium-gray);box-shadow:var(--shadow-sm);z-index:var(--z-canvas-status);transition:height var(--transition-fast);flex-direction:column;display:flex;position:fixed;top:48px;left:0;right:0}.ms-ribbon--loading{color:var(--neutral-dark-gray);justify-content:center;align-items:center;font-size:.875rem;display:flex}.ms-ribbon-collapsed{overflow:hidden}.ms-ribbon-collapsed .ms-ribbon-content-area{display:none}.ms-ribbon-tabs{background-color:var(--neutral-light-gray);border-bottom:1px solid var(--neutral-medium-gray);padding:0 var(--space-3);align-items:stretch;gap:0;display:flex}.ms-ribbon-tab{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2)var(--space-3);color:var(--neutral-dark-gray);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm)var(--radius-sm)0 0;background-color:#0000;border:none;border-bottom:2px solid #0000;min-width:70px;font-size:.8125rem;font-weight:500;display:flex;position:relative}.ms-ribbon-tab:hover{background-color:var(--neutral-warm-white);color:var(--brand-primary)}.ms-ribbon-tab:focus{outline:2px solid var(--brand-primary);outline-offset:-2px;background-color:var(--neutral-warm-white)}.ms-ribbon-tab--active{background-color:var(--neutral-warm-white);color:var(--brand-primary);border-bottom-color:var(--brand-primary);box-shadow:inset 0 -1px 0 0 var(--neutral-warm-white);font-weight:600}.ms-ribbon-tab--active:hover{background-color:var(--neutral-warm-white);color:var(--brand-primary)}.ms-ribbon-tab__contextual-indicator{color:var(--accent-coral);margin-left:var(--space-1);font-weight:700}.ms-ribbon-content-area{background-color:var(--neutral-warm-white);min-height:50px;display:flex;position:relative;overflow:hidden}.ms-ribbon-content{width:100%;padding:var(--space-4);display:none;overflow:auto hidden}.ms-ribbon-content[role=tabpanel][aria-labelledby*=ribbon-tab]:target,.ms-ribbon-content:not([hidden]){display:block}.ms-ribbon-content__groups{gap:var(--space-4);align-items:flex-start;min-height:40px;display:flex}.ms-ribbon-content__placeholder{color:var(--neutral-dark-gray);justify-content:center;align-items:center;min-height:40px;font-style:italic;display:flex}.ms-ribbon-group{align-items:center;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-sm);background-color:#0000;border:none;flex-direction:column;min-width:90px;display:flex}.ms-ribbon-group:hover{background-color:var(--neutral-light-gray)}.ms-ribbon-group__buttons{justify-content:center;gap:var(--space-1);flex-wrap:wrap;align-items:center;width:100%;max-height:40px;display:flex}.ms-ribbon-group__label{color:var(--neutral-dark-gray);text-align:center;margin-top:var(--space-1);text-transform:none;letter-spacing:0;font-size:.6875rem;font-weight:500;line-height:1.2}.ms-ribbon-btn{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);color:var(--neutral-charcoal);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:1px solid #0000;min-width:50px;min-height:32px;font-size:.6875rem;font-weight:500;display:flex;position:relative}.ms-ribbon-btn:hover{background-color:var(--neutral-light-gray);color:var(--brand-primary);border-color:var(--neutral-medium-gray)}.ms-ribbon-btn:focus{outline:1px solid var(--brand-primary);outline-offset:1px;background-color:var(--neutral-light-gray)}.ms-ribbon-btn:active{background-color:var(--brand-primary);color:#fff}.ms-ribbon-btn--split{padding-right:var(--space-6)}.ms-ribbon-btn__dropdown-arrow{top:50%;right:var(--space-1);color:var(--neutral-dark-gray);pointer-events:none;font-size:.625rem;position:absolute;transform:translateY(-50%)}.ms-ribbon-btn--split:hover .ms-ribbon-btn__dropdown-arrow{color:#fff}.ms-shell-tabbar{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--neutral-medium-gray);z-index:9;background:linear-gradient(#fffffff2 0%,#ffffffd9 100%);border-top:1px solid #fff3;align-items:center;gap:4px;height:48px;padding-left:24px;display:flex}.ms-shell-tab{color:var(--brand-primary);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal);white-space:nowrap;background:0 0;border:none;border-radius:10px 10px 0 0;align-items:center;min-width:auto;padding:8px 20px;font-size:15px;font-weight:500;display:flex;position:relative}.ms-shell-tab:hover{background:linear-gradient(135deg,var(--brand-primary)0%,var(--accent-lavender)100%);color:#fff;box-shadow:0 2px 8px #06b6d414}.ms-shell-tab:focus{outline:1px solid var(--brand-primary);outline-offset:1px;background:linear-gradient(135deg,var(--brand-primary)0%,var(--accent-lavender)100%);color:#fff}.ms-shell-tab--active{background:linear-gradient(135deg,var(--brand-primary)0%,var(--accent-lavender)100%);color:#fff;box-shadow:0 2px 8px #06b6d414}.ms-shell-tab--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ms-shell-tab--active:hover{background:linear-gradient(135deg,#0891b2 0%,#22d3ee 100%)}.ms-shell-ribbon{-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--neutral-medium-gray);z-index:8;background:#ffffffd9;align-items:center;gap:16px;height:64px;padding:0 16px;display:flex;overflow:auto visible}.ms-ribbon-empty{color:var(--neutral-dark-gray);justify-content:center;align-items:center;width:100%;padding:16px 24px;font-style:italic;display:flex}.ms-ribbon-group{border-right:1px solid var(--neutral-medium-gray);flex-flow:row;align-items:center;gap:6px;margin-right:12px;padding-right:12px;display:flex}.ms-ribbon-group:last-child{border-right:none;margin-right:0;padding-right:0}.ms-ribbon-btn-container{position:relative}.ms-ribbon-btn{background:var(--neutral-light-gray);border-radius:var(--radius-md);min-width:52px;color:var(--brand-primary);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-fast);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:6px 8px;font-size:10px;font-weight:500;display:flex;position:relative}.ms-ribbon-btn-icon{justify-content:center;align-items:center;margin-bottom:2px;line-height:1;display:flex}.ms-ribbon-btn-text{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:50px;font-size:10px;line-height:1.1;overflow:hidden}.ms-ribbon-btn:hover:not(.ms-ribbon-btn--disabled){background:var(--accent-lavender);color:var(--brand-primary);background:#8b84ff1a;border-color:#8b84ff33;transform:translateY(-1px)}.ms-ribbon-btn:focus:not(.ms-ribbon-btn--disabled){outline:1px solid var(--brand-primary);outline-offset:1px;color:var(--brand-primary);background:#8b84ff1a}.ms-ribbon-btn:active:not(.ms-ribbon-btn--disabled){background:var(--brand-primary);color:#fff;transform:translateY(0)}.ms-ribbon-btn--active{background:var(--brand-primary);color:#fff;border-color:var(--primary-dark)}.ms-ribbon-btn--disabled{background:var(--neutral-light-gray);color:var(--neutral-dark-gray);cursor:not-allowed;opacity:.6}.ms-ribbon-btn--modern{border-radius:var(--radius-md);min-width:60px;max-width:72px;color:var(--neutral-charcoal);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:2px 6px;font-size:11px;font-weight:500;display:flex;position:relative}.ms-ribbon-btn--modern:hover:not(:disabled){background:var(--neutral-light-gray);border-color:var(--neutral-medium-gray);color:var(--brand-primary)}.ms-ribbon-btn--modern:active:not(:disabled){background:var(--neutral-medium-gray);transform:translateY(1px)}.ms-ribbon-btn--modern:disabled{opacity:.5;cursor:not-allowed;color:var(--neutral-medium-gray)}.ms-ribbon-btn--modern:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.ms-ribbon-btn--with-icon{gap:1px}.ms-ribbon-btn--with-icon .icon-container{justify-content:center;align-items:center;height:18px;display:flex}.ms-ribbon-btn--with-icon .text-container{text-align:center;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;justify-content:center;align-items:center;max-width:100%;padding:0 2px;font-size:9px;line-height:1.2;display:flex}@media (max-width:1280px){.ms-ribbon-btn--modern{min-width:55px;max-width:65px;padding:3px 4px}.ms-ribbon-btn--with-icon .text-container{font-size:9px}}@media (max-width:768px){.ms-ribbon-btn--modern{min-width:48px;max-width:56px}.ms-ribbon-btn--with-icon .icon-container{height:18px}.ms-ribbon-btn--with-icon .text-container{min-height:20px;font-size:8px}}.ms-ribbon-btn-arrow{color:currentColor;opacity:.7;pointer-events:none;font-size:8px;position:absolute;top:6px;right:6px}.ms-ribbon-dropdown-menu{border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-critical);background:#fff;min-width:120px;margin-top:4px;position:absolute;top:100%;left:50%;overflow:hidden;transform:translate(-50%)}.ms-ribbon-dropdown-item{width:100%;color:var(--neutral-charcoal);cursor:pointer;transition:background var(--transition-fast);text-align:left;border:none;border-bottom:1px solid var(--neutral-light-gray);background:#fff;padding:8px 12px;font-size:12px;display:block}.ms-ribbon-dropdown-item:last-child{border-bottom:none}.ms-ribbon-dropdown-item:hover{background:var(--neutral-light-gray);color:var(--brand-primary)}.ms-ribbon-dropdown-item:active{background:#8b84ff1a}@media (max-width:768px){.ms-shell-ribbon{gap:16px;height:64px;padding:0 16px}.ms-ribbon-group{gap:6px;margin-right:12px;padding-right:12px}.ms-ribbon-btn{min-width:56px;min-height:48px;padding:6px 10px}.ms-ribbon-btn-text{max-width:52px;font-size:10px}}.ms-ribbon-loading{justify-content:center;align-items:center;gap:var(--space-2);color:var(--neutral-dark-gray);display:flex}.ms-ribbon-loading:before{content:"";border:2px solid var(--neutral-medium-gray);border-top-color:var(--brand-primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite ribbon-spin}@keyframes ribbon-spin{to{transform:rotate(360deg)}}@media (max-width:768px){.ms-ribbon-tabs{padding:0 var(--space-2);gap:0}.ms-ribbon-tab{padding:var(--space-2);min-width:60px;font-size:.8125rem}.ms-ribbon-content{padding:var(--space-3)}.ms-ribbon-content__groups{gap:var(--space-4);flex-wrap:wrap}.ms-ribbon-group{min-width:100px;padding:var(--space-2)}.ms-ribbon-group__buttons{grid-template-columns:repeat(2,1fr)}.ms-ribbon-btn{min-width:50px;min-height:40px;font-size:.6875rem}}.ms-context-panel{background:var(--neutral-warm-white);border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-3);opacity:0;pointer-events:none;min-width:200px;max-width:280px;transition:all var(--transition-fast);z-index:var(--z-shell);position:fixed;transform:translateY(-10px)scale(.95)}.ms-context-panel--show{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.ms-context-tabs{gap:var(--space-1);margin-bottom:var(--space-3);border-bottom:1px solid var(--neutral-medium-gray);padding-bottom:var(--space-2);display:flex}.ms-context-tab{padding:var(--space-1)var(--space-3);color:var(--neutral-dark-gray);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-size:.75rem;font-weight:500}.ms-context-tab.active{background:var(--brand-primary);color:var(--neutral-warm-white)}.ms-context-tab:hover:not(.active){background:var(--neutral-light-gray);color:var(--neutral-charcoal)}.ms-text-tools{gap:var(--space-3);flex-direction:column;display:flex}.ms-tool-row{align-items:center;gap:var(--space-2);display:flex}.ms-tool-label{color:var(--neutral-dark-gray);min-width:40px;font-size:.75rem}.ms-tool-select{padding:var(--space-1)var(--space-2);border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-sm);background:var(--neutral-warm-white);color:var(--neutral-charcoal);cursor:pointer;flex:1;font-size:.75rem}.ms-tool-input{width:50px;padding:var(--space-1);border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-sm);background:var(--neutral-warm-white);color:var(--neutral-charcoal);text-align:center;font-size:.75rem}.ms-tool-btn{padding:var(--space-1);border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-sm);background:var(--neutral-warm-white);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;display:flex}.ms-tool-btn:hover{background:var(--neutral-light-gray);border-color:var(--brand-primary)}.ms-tool-btn:active,.ms-tool-btn.active{background:var(--brand-primary);color:var(--neutral-warm-white);border-color:var(--brand-primary)}.ms-format-buttons{gap:var(--space-1);display:flex}.ms-color-picker{border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:28px;padding:2px}.ms-quick-actions{gap:var(--space-1);padding:var(--space-1);background:var(--neutral-warm-white);border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);display:flex}.ms-quick-action-btn{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);color:var(--neutral-charcoal);background:0 0;border:none;justify-content:center;align-items:center;font-size:.875rem;display:flex}.ms-quick-action-btn:hover{background:var(--neutral-light-gray)}.ms-quick-action-btn:active{background:var(--brand-primary);color:var(--neutral-warm-white)}@media (prefers-contrast:high){.ms-ribbon{border-bottom-width:3px}.ms-ribbon-tab--active{border-bottom-width:4px}.ms-ribbon-btn{border-width:2px}.ms-ribbon-btn:focus{outline-width:3px}}@media (prefers-reduced-motion:reduce){.ms-ribbon,.ms-ribbon-tab,.ms-ribbon-btn{transition:none}.ms-ribbon-btn:hover{transform:none}.ms-ribbon-loading:before{border-top-color:var(--brand-primary);animation:none}}.ms-asset-grid{grid-template-columns:1fr;gap:10px;min-height:0;padding:8px 12px 12px;display:grid;overflow-y:auto}.ms-asset-card{background:var(--white);border:1px solid var(--neutral-medium-gray);cursor:default;border-radius:12px;flex-direction:column;gap:6px;padding:8px;transition:border-color .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 1px 6px #0000000a}.ms-asset-card:hover{border-color:#06b6d466;box-shadow:0 4px 14px #06b6d414}.ms-asset-drag-indicator{color:var(--neutral-dark-gray);opacity:0;cursor:grab;z-index:2;transition:opacity .18s;position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.ms-asset-card:hover .ms-asset-drag-indicator{opacity:1}.ms-asset-thumb-wrap{background:var(--neutral-light-gray);border:1px dashed #d9dce6;border-radius:10px;padding:6px;position:relative}.ms-asset-thumb{aspect-ratio:1;background:linear-gradient(135deg,var(--white),#f8f8fb);-webkit-user-select:none;user-select:none;border-radius:8px;place-items:center;width:100%;display:grid;box-shadow:inset 0 0 0 1px #0000000a}.ms-asset-thumb-text{color:#c7c9d6;font-size:12px}.ms-asset-actions{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:#1119;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;transition:opacity .18s,transform .18s;display:flex;position:absolute;bottom:6px;left:6px;right:6px;transform:translateY(4px)}.ms-asset-card:hover .ms-asset-actions{opacity:1;transform:translateY(0)}.ms-asset-action-btn{width:24px;height:24px;color:var(--white);cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;place-items:center;transition:background .15s,transform 80ms;display:grid}.ms-asset-action-btn:hover{background:#ffffff1f}.ms-asset-action-btn:active{transform:translateY(1px)scale(.98)}.ms-asset-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.ms-asset-name{color:var(--neutral-dark-gray);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.ms-asset-status{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ms-asset-status--available{background:#10b981;box-shadow:0 0 0 2px #ecfdf5}.ms-asset-status--unavailable{background:#ef4444;box-shadow:0 0 0 2px #fef2f2}.ms-asset-grid::-webkit-scrollbar{width:10px}.ms-asset-grid::-webkit-scrollbar-thumb{background:var(--neutral-medium-gray);border-radius:10px}.ms-asset-grid::-webkit-scrollbar-track{background:0 0}.ms-shell-panel__header{color:var(--brand-primary);justify-content:space-between;align-items:center;padding:12px 12px 8px;font-size:14px;font-weight:600;display:flex}.ms-shell-panel__header-content{align-items:center;gap:8px;display:flex}.ms-shell-panel__pin-btn{width:24px;height:24px;color:var(--neutral-dark-gray);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.ms-shell-panel__pin-btn:hover{color:var(--brand-primary);background:#06b6d41a}.ms-shell-panel__pin-btn:active{transform:scale(.95)}.ms-shell-panel--pinned{z-index:var(--z-content);transition:none;position:relative}.ms-shell-panel--unpinned{z-index:var(--z-shell);box-shadow:none;top:0;left:0;height:var(--workspace-content-height,calc(100vh - 200px))!important;opacity:0!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s!important;position:absolute!important;transform:translate(-100%)!important}.ms-shell-panel--unpinned.ms-shell-panel--visible{box-shadow:4px 0 20px #00000026,0 0 0 1px #0000000d;opacity:1!important;transform:translate(0)!important}.ms-shell-panel--left.ms-shell-panel--unpinned{z-index:var(--z-shell);box-shadow:none;top:0;left:0;height:var(--workspace-content-height,calc(100vh - 200px))!important;opacity:0!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s!important;position:absolute!important;transform:translate(-100%)!important}.ms-shell-panel--left.ms-shell-panel--unpinned.ms-shell-panel--visible{opacity:1!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s!important;transform:translate(0)!important}.ms-shell{grid-template-rows:var(--toolbar-height,56px)var(--tabbar-height,48px)var(--ribbon-height,56px)1fr var(--statusbar-height,40px);width:100vw;height:100vh;display:grid;overflow:hidden}.ms-shell-main{grid-template-columns:var(--left-panel-width,220px)1fr var(--right-panel-width,380px);min-height:0;display:grid;position:relative;overflow:hidden}.ms-shell-main[data-left-pinned=false]{grid-template-columns:0 1fr var(--right-panel-width,380px)}.ms-shell-main[data-right-pinned=false]{grid-template-columns:var(--left-panel-width,220px)1fr 0}.ms-shell-main[data-left-pinned=false][data-right-pinned=false]{grid-template-columns:0 1fr 0}.ms-shell-panel{height:var(--workspace-content-height,calc(100vh - 200px));min-height:0;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s;position:relative;overflow:hidden}.ms-shell-panel--left{width:var(--left-panel-width,220px);min-width:var(--left-panel-width,220px);grid-column:1}.ms-shell-panel--right{width:var(--right-panel-width,380px);min-width:var(--right-panel-width,380px);grid-column:3}.ms-shell-canvas{min-width:0;min-height:0;padding:var(--canvas-padding,20px);grid-column:2;position:relative}.ms-shell-canvas .ms-workspace,.ms-workspace{scrollbar-width:auto!important;scrollbar-color:#666 #e0e0e0!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar{background:#f0f0f0!important;width:16px!important;height:16px!important}.ms-workspace::-webkit-scrollbar{background:#f0f0f0!important;width:16px!important;height:16px!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar-track{background:#e0e0e0!important;border-radius:8px!important;margin:2px!important}.ms-workspace::-webkit-scrollbar-track{background:#e0e0e0!important;border-radius:8px!important;margin:2px!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar-thumb{background:#666!important;border:2px solid #e0e0e0!important;border-radius:8px!important;min-width:20px!important;min-height:20px!important}.ms-workspace::-webkit-scrollbar-thumb{background:#666!important;border:2px solid #e0e0e0!important;border-radius:8px!important;min-width:20px!important;min-height:20px!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar-thumb:hover{background:#444!important}.ms-workspace::-webkit-scrollbar-thumb:hover{background:#444!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar-corner{background:#e0e0e0!important}.ms-workspace::-webkit-scrollbar-corner{background:#e0e0e0!important}.ms-panel-hover-trigger{width:30px;height:60px;z-index:var(--z-tabbar);background:linear-gradient(90deg,var(--brand-primary),transparent);opacity:.7;cursor:pointer;border-radius:0 8px 8px 0;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.ms-panel-hover-trigger:after{content:"›";color:#fff;font-size:20px;font-weight:700}.ms-panel-hover-trigger:hover{opacity:.9;transform:translateY(-50%)translate(2px)}.ms-shell-panel--unpinned.ms-shell-panel--visible{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ms-shell-panel--right.ms-shell-panel--unpinned{z-index:var(--z-shell);box-shadow:none;top:0;left:auto;right:0;height:var(--workspace-content-height,calc(100vh - 200px))!important;opacity:0!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s!important;position:absolute!important;transform:translate(100%)!important}.ms-shell-panel--right.ms-shell-panel--unpinned.ms-shell-panel--visible{box-shadow:-4px 0 20px #00000026,0 0 0 1px #0000000d;opacity:1!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s!important;transform:translate(0)!important}.ms-panel-hover-trigger--right{width:30px;height:60px;z-index:var(--z-tabbar);background:linear-gradient(270deg,var(--brand-primary),transparent);opacity:.7;cursor:pointer;border-radius:8px 0 0 8px;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);left:auto!important;right:0!important}.ms-panel-hover-trigger--right:after{content:"‹";color:#fff;font-size:20px;font-weight:700}.ms-panel-hover-trigger--right:hover{opacity:.9;transform:translateY(-50%)translate(-2px)}.ms-photo-browser-icon-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;opacity:.9;width:22px;height:22px;transition:var(--transition-fast);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-canvas-status);box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;display:flex;position:absolute}.ms-photo-browser-icon-btn:hover{opacity:1;box-shadow:var(--shadow-md);transform:scale(1.05)}.ms-photo-browser-icon-btn--edit{background-color:#06b6d4e6;top:10px;left:10px}.ms-photo-browser-icon-btn--edit:hover{background-color:var(--brand-primary)}.ms-photo-browser-icon-btn--favorite{background-color:#ff6b6be6;top:10px;right:10px}.ms-photo-browser-icon-btn--favorite:hover{background-color:var(--accent-coral)}.ms-photo-browser-icon-btn--add{background-color:#4ecdc4e6;bottom:30px;left:10px}.ms-photo-browser-icon-btn--add:hover{background-color:var(--accent-mint)}.ms-photo-browser-icon-btn--delete{background-color:#ff6b6be6;bottom:30px;right:10px}.ms-photo-browser-icon-btn--delete:hover{background-color:var(--accent-coral)}.ms-asset-library-card{background:var(--white);border:1px solid var(--neutral-medium-gray);cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;width:100%;max-width:90px;padding:4px;transition:border-color .18s,box-shadow .18s,transform .15s;display:flex;position:relative;box-shadow:0 1px 3px #0000000a}.ms-asset-library-card:hover{border-color:#06b6d466;transform:translateY(-1px);box-shadow:0 3px 8px #06b6d41f}.ms-asset-library-card--selected{border-color:var(--brand-primary);box-shadow:0 0 0 2px #06b6d433}.ms-asset-library-thumb-placeholder{background:linear-gradient(135deg,var(--neutral-light-gray),var(--neutral-medium-gray));width:100%;height:100%;color:var(--neutral-dark-gray);justify-content:center;align-items:center;display:flex}.ms-asset-library-thumb-text{font-size:14px;font-weight:600;font-family:var(--font-heading)}.ms-asset-library-icon-btn{width:20px;height:20px;color:var(--neutral-dark-gray);cursor:pointer;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;transform:scale(.8);box-shadow:0 1px 3px #0000001a}.ms-asset-library-card:hover .ms-asset-library-icon-btn{opacity:1;z-index:4;background:#fffffff2;transform:scale(1);box-shadow:0 2px 8px #0000004d}.ms-asset-library-icon-btn:hover{background:#fff;transform:scale(1.1);box-shadow:0 2px 6px #00000026}.ms-asset-library-icon-btn--edit{top:2px;left:2px}.ms-asset-library-icon-btn--edit:hover{color:var(--brand-primary);background:#06b6d41a}.ms-asset-library-icon-btn--favorite{top:2px;right:2px}.ms-asset-library-icon-btn--favorite:hover{color:var(--accent-coral);background:#ff6b6b1a}.ms-asset-library-icon-btn--favorite-active{color:var(--accent-coral);background:#ff6b6b26}.ms-asset-library-overlay{z-index:var(--z-hover);background:#0009;border-radius:4px;justify-content:space-between;align-items:flex-end;padding:4px;animation:.15s fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ms-asset-library-overlay-btn{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex;box-shadow:0 2px 8px #0003}.ms-asset-library-overlay-btn:hover{transform:scale(1.1);box-shadow:0 3px 12px #0000004d}.ms-asset-library-overlay-btn--add{background:var(--accent-mint);color:#fff}.ms-asset-library-overlay-btn--add:hover{background:#3eb8b0}.ms-asset-library-overlay-btn--delete{background:var(--accent-coral);color:#fff}.ms-asset-library-overlay-btn--delete:hover{background:#ff5252}.ms-asset-library-meta{min-height:0;padding:0 2px}.ms-asset-library-name{color:var(--neutral-charcoal);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:10px;font-weight:500;line-height:1.2;overflow:hidden}.ms-asset-library-tags{flex-wrap:wrap;gap:2px;margin-top:2px;display:flex}.ms-asset-library-tag{color:var(--brand-primary);background:#06b6d41a;border-radius:2px;padding:1px 3px;font-size:8px;font-weight:500}.ms-asset-library-tag-more{color:var(--neutral-dark-gray);font-size:8px;font-weight:500}.ms-asset-preview-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-critical);background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.2s backdropFadeIn;display:flex;position:fixed;inset:0}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.ms-asset-preview-modal{background:var(--neutral-warm-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:600px;max-height:80vh;animation:.2s modalSlideIn;display:flex;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.ms-asset-preview-header{padding:var(--space-5)var(--space-6);border-bottom:1px solid var(--neutral-medium-gray);background:linear-gradient(to bottom,var(--neutral-warm-white),var(--primary-cream));justify-content:space-between;align-items:center;display:flex}.ms-asset-preview-title{font-family:var(--font-heading);color:var(--neutral-charcoal);text-overflow:ellipsis;white-space:nowrap;margin:0;margin-right:var(--space-4);flex:1;font-size:1.25rem;font-weight:600;overflow:hidden}.ms-asset-preview-actions{gap:var(--space-2);display:flex}.ms-asset-preview-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);font-weight:500;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-normal);border:none;text-decoration:none;display:flex}.ms-asset-preview-btn--icon{background:var(--neutral-light-gray);width:36px;height:36px;color:var(--neutral-dark-gray);padding:0}.ms-asset-preview-btn--icon:hover{background:var(--neutral-medium-gray);color:var(--neutral-charcoal);transform:scale(1.05)}.ms-asset-preview-btn--favorite{color:var(--accent-coral);background:#ff6b6b1a}.ms-asset-preview-btn--close{background:var(--neutral-light-gray);color:var(--neutral-dark-gray)}.ms-asset-preview-btn--close:hover{background:var(--accent-coral);color:#fff}.ms-asset-preview-btn--primary{background:linear-gradient(135deg,var(--brand-primary),var(--primary-dusty-blue));color:#fff;padding:var(--space-3)var(--space-6)}.ms-asset-preview-btn--primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.ms-asset-preview-content{flex:1;min-height:0;display:flex}.ms-asset-preview-image-container{background:var(--neutral-light-gray);flex:1;justify-content:center;align-items:center;min-height:300px;display:flex;position:relative}.ms-asset-preview-image{-o-object-fit:contain;object-fit:contain;opacity:0;max-width:100%;max-height:100%;transition:opacity .3s}.ms-asset-preview-image--loaded{opacity:1}.ms-asset-preview-loading,.ms-asset-preview-error{align-items:center;gap:var(--space-3);color:var(--neutral-dark-gray);flex-direction:column;display:flex}.ms-asset-preview-spinner{border:3px solid var(--neutral-medium-gray);border-top:3px solid var(--brand-primary);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}.ms-asset-preview-error-icon{border-radius:var(--radius-lg);background:var(--neutral-medium-gray);width:60px;height:60px;font-size:24px;font-weight:600;font-family:var(--font-heading);color:var(--neutral-dark-gray);justify-content:center;align-items:center;display:flex}.ms-asset-preview-metadata{width:240px;padding:var(--space-4)var(--space-5);background:var(--primary-cream);overflow-y:auto}.ms-asset-preview-section{margin-bottom:var(--space-5)}.ms-asset-preview-section:last-child{margin-bottom:0}.ms-asset-preview-section-title{font-family:var(--font-heading);color:var(--neutral-charcoal);margin:0 0 var(--space-3)0;font-size:.875rem;font-weight:600}.ms-asset-preview-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.ms-asset-preview-tag{padding:var(--space-1)var(--space-2);color:var(--brand-primary);border-radius:var(--radius-sm);background:#06b6d41a;font-size:.75rem;font-weight:500}.ms-asset-preview-details{gap:var(--space-2);flex-direction:column;display:flex}.ms-asset-preview-detail{align-items:center;gap:var(--space-2);color:var(--neutral-dark-gray);font-size:.875rem;display:flex}.ms-asset-preview-type-badge{padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;background:var(--neutral-medium-gray);color:var(--neutral-charcoal);font-size:.75rem;font-weight:600}.ms-asset-preview-type-badge--photo{color:var(--accent-mint);background:#4ecdc433}.ms-asset-preview-type-badge--frame{color:var(--accent-gold);background:#ffd93d33}.ms-asset-preview-type-badge--paper{color:var(--accent-coral);background:#ff6b6b33}.ms-asset-preview-type-badge--embellishment{color:var(--accent-lavender);background:#8b84ff33}.ms-asset-preview-type-badge--text{background:var(--neutral-medium-gray);color:var(--neutral-charcoal)}.ms-asset-preview-footer{padding:var(--space-4)var(--space-6);border-top:1px solid var(--neutral-medium-gray);background:var(--primary-cream);justify-content:flex-end;display:flex}@media (max-width:768px){.ms-asset-preview-modal{max-height:90vh;margin:0 10px}.ms-asset-preview-content{flex-direction:column}.ms-asset-preview-metadata{width:100%}.ms-asset-library-card{max-width:70px}.ms-asset-library-name{font-size:9px}}@media (prefers-contrast:high){.ms-asset-library-card:hover{border-width:2px}.ms-asset-library-overlay-btn{box-shadow:0 0 0 2px #fff}}@media (prefers-reduced-motion:reduce){.ms-asset-library-card,.ms-asset-library-thumb-image,.ms-asset-library-icon-btn,.ms-asset-library-overlay-btn,.ms-asset-preview-modal,.ms-asset-preview-btn{transition:none}.ms-asset-preview-spinner,.ms-asset-library-overlay{animation:none}}
