:root{--brand-primary:#6C63FF;--brand-primary-dark:#5650DB;--brand-accent-1:#FF6B6B;--brand-accent-2:#4ECDC4;--brand-highlight:#FFD93D;--primary-rose:#FF6B6B;--primary-cream:#F8F9FA;--primary-sage:#4ECDC4;--primary-dusty-blue:#6C63FF;--accent-gold:#FFD93D;--accent-coral:#FF6B6B;--accent-lavender:#8B84FF;--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:#5650DB;--accent-pink:var(--accent-coral);--accent-teal:var(--accent-mint);--highlight:var(--accent-gold);--white:#FFFFFF;--primary-rose-light:rgba(255,107,107,0.15);--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:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(139,134,128,0.05);--shadow-md:0 4px 6px -1px rgba(139,134,128,0.1),0 2px 4px -1px rgba(139,134,128,0.06);--shadow-lg:0 10px 15px -3px rgba(139,134,128,0.1),0 4px 6px -2px rgba(139,134,128,0.05);--shadow-xl:0 20px 25px -5px rgba(139,134,128,0.15),0 10px 10px -5px rgba(139,134,128,0.04);--shadow-paper:0 4px 8px rgba(139,134,128,0.12),0 2px 4px rgba(139,134,128,0.08);--transition-fast:150ms ease-out;--transition-normal:200ms ease-out;--transition-slow:300ms 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);background-color:var(--neutral-warm-white)}body,h1,h2,h3,h4,h5,h6{color:var(--neutral-charcoal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600}.ms-auth-loading{background-color:var(--neutral-light-gray)}.ms-auth-error{border:1px solid var(--primary-rose)}.ms-auth-error,.ms-route-protected{background-color:var(--neutral-warm-white)}.btn-primary{background:linear-gradient(135deg,var(--accent-gold),var(--primary-rose));color:white;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);border:none;cursor:pointer}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.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:white;border-color:var(--primary-rose)}.btn-icon{width:40px;height:40px;background:var(--neutral-light-gray);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);border:none;cursor:pointer;color:var(--neutral-dark-gray)}.btn-icon:hover{background:var(--primary-rose);color:white;transform:scale(1.05)}.panel-primary{background:var(--neutral-warm-white);box-shadow:var(--shadow-sm);padding:var(--space-6)}.panel-primary,.panel-secondary{border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-lg)}.panel-secondary{background:linear-gradient(to bottom,var(--neutral-warm-white),var(--primary-cream));box-shadow:var(--shadow-md)}.toolbar-main{background:linear-gradient(to right,var(--primary-cream),var(--neutral-warm-white));border-bottom:1px solid var(--neutral-medium-gray);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:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 1px 1px,rgba(139,134,128,.15) 1px,transparent 0);background-size:20px 20px;pointer-events:none;opacity:.3}.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{outline:none;border-color:var(--primary-rose);box-shadow:0 0 0 3px rgba(232,180,184,.1)}.state-success{color:var(--accent-mint);background-color:rgba(152,216,200,.1)}.state-warning{color:var(--accent-coral);background-color:rgba(255,107,107,.1)}.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);font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-normal)}.ms-save-status--idle{color:var(--neutral-dark-gray);background-color:var(--neutral-light-gray);border:1px solid transparent}.ms-save-status--dirty{color:#D97706;background-color:#FEF3C7;border:1px solid #f59e0b;box-shadow:0 0 0 1px rgba(245,158,11,.2)}.ms-save-status--saving{color:var(--brand-primary);background-color:#EDE9FE;border:1px solid var(--brand-primary);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.ms-save-status--saved{color:#059669;background-color:#D1FAE5;border:1px solid #10b981;animation:savedSuccess .3s ease-out}.ms-save-status--error{color:#DC2626;background-color:#FEE2E2;box-shadow:0 0 0 1px rgba(239,68,68,.3);border:1px dashed #ef4444}.ms-save-status--offline{color:var(--neutral-charcoal);background-color:#F3F4F6;border-style:solid;border:1px dotted var(--neutral-medium-gray);opacity:.8}@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--saved,.ms-save-status--saving{animation:none}.ms-save-status{transition:none}}.ms-title-bar{display:flex;align-items:center;padding:var(--space-3) var(--space-6);background:var(--neutral-warm-white);border-bottom:1px solid var(--neutral-medium-gray);min-height:60px}.ms-title-bar--inline{padding:0;background:transparent;border-bottom:none;min-height:auto}.ms-title-bar-content{display:flex;align-items:center;gap:var(--space-4);width:100%}.ms-title-bar-name{position:relative;flex:1;min-width:0}.ms-title-bar-display{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--neutral-charcoal);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-normal);outline:none;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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{position:relative;display:flex;flex-direction:column;gap:var(--space-1)}.ms-title-bar-input{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;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);outline:none;transition:border-color var(--transition-normal);min-width:200px;max-width:100%}.ms-title-bar-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(108,99,255,.15)}.ms-title-bar-input--error{border-color:var(--accent-coral);box-shadow:0 0 0 3px rgba(255,107,107,.15)}.ms-title-bar-input:disabled{opacity:.6;cursor:not-allowed}.ms-title-bar-error{color:var(--accent-coral);background-color:rgba(255,107,107,.1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid rgba(255,107,107,.3);right:0;z-index:var(--z-canvas-status)}.ms-title-bar-error,.ms-title-bar-saving{font-family:var(--font-body);font-size:.875rem;position:absolute;top:100%;left:0;margin-top:var(--space-1)}.ms-title-bar-saving{color:var(--brand-primary);display:flex;align-items:center;gap:var(--space-2)}.ms-title-bar-spinner{width:12px;height:12px;border-top:2px solid var(--neutral-medium-gray);border:2px solid var(--neutral-medium-gray);border-top-color:var(--brand-primary);border-radius:50%;animation:spin 1s linear infinite}.ms-title-bar-hint{font-family:var(--font-body);font-size:.75rem;color:var(--neutral-dark-gray);opacity:.7;transition:opacity var(--transition-normal)}.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{font-size:1.125rem;min-width:150px}.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{border-width:2px;background-color:rgba(255,107,107,.2)}}@media (prefers-reduced-motion:reduce){.ms-title-bar-display,.ms-title-bar-hint,.ms-title-bar-input{transition:none}.ms-title-bar-spinner{animation:none;border:2px solid var(--brand-primary)}}.app-main{margin-top:128px!important}.ms-ribbon-collapsed~.app-main{margin-top:78px!important}.ms-ribbon{display:flex;flex-direction:column;background-color:var(--neutral-warm-white);border-bottom:1px solid var(--neutral-medium-gray);box-shadow:var(--shadow-sm);position:fixed;top:48px;left:0;right:0;z-index:var(--z-canvas-status);transition:height var(--transition-fast)}.ms-ribbon--loading{display:flex;align-items:center;justify-content:center;color:var(--neutral-dark-gray);font-size:.875rem}.ms-ribbon-collapsed{overflow:hidden}.ms-ribbon-collapsed .ms-ribbon-content-area{display:none}.ms-ribbon-tabs{display:flex;background-color:var(--neutral-light-gray);border-bottom:1px solid var(--neutral-medium-gray);padding:0 var(--space-3);gap:0;align-items:stretch}.ms-ribbon-tab{display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background-color:transparent;border:none;border-bottom:2px solid transparent;color:var(--neutral-dark-gray);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);position:relative;min-width:70px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.ms-ribbon-tab:hover{color:var(--brand-primary)}.ms-ribbon-tab:focus,.ms-ribbon-tab:hover{background-color:var(--neutral-warm-white)}.ms-ribbon-tab:focus{outline:2px solid var(--brand-primary);outline-offset:-2px}.ms-ribbon-tab--active{border-bottom-color:var(--brand-primary);font-weight:600;box-shadow:inset 0 -1px 0 0 var(--neutral-warm-white)}.ms-ribbon-tab--active,.ms-ribbon-tab--active:hover{background-color:var(--neutral-warm-white);color:var(--brand-primary)}.ms-ribbon-tab__contextual-indicator{color:var(--accent-coral);font-weight:700;margin-left:var(--space-1)}.ms-ribbon-content-area{display:flex;position:relative;background-color:var(--neutral-warm-white);min-height:50px;overflow:hidden}.ms-ribbon-content{display:none;width:100%;padding:var(--space-4);overflow-x:auto;overflow-y:hidden}.ms-ribbon-content:not([hidden]),.ms-ribbon-content[role=tabpanel][aria-labelledby*=ribbon-tab]:target{display:block}.ms-ribbon-content__groups{display:flex;gap:var(--space-4);align-items:flex-start;min-height:40px}.ms-ribbon-content__placeholder{display:flex;align-items:center;justify-content:center;color:var(--neutral-dark-gray);font-style:italic;min-height:40px}.ms-ribbon-group{flex-direction:column;gap:var(--space-1);padding:var(--space-2);background-color:transparent;border-radius:var(--radius-sm);border:none;min-width:90px}.ms-ribbon-group:hover{background-color:var(--neutral-light-gray)}.ms-ribbon-group__buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1);width:100%;max-height:40px;align-items:center}.ms-ribbon-group__label{font-size:.6875rem;color:var(--neutral-dark-gray);font-weight:500;text-align:center;line-height:1.2;margin-top:var(--space-1);text-transform:none;letter-spacing:0}.ms-ribbon-btn{gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:transparent;border-radius:var(--radius-sm);color:var(--neutral-charcoal);font-family:var(--font-body);font-size:.6875rem;transition:all var(--transition-fast);min-height:32px;min-width:50px}.ms-ribbon-btn:hover{color:var(--brand-primary);border-color:var(--neutral-medium-gray)}.ms-ribbon-btn:focus,.ms-ribbon-btn:hover{background-color:var(--neutral-light-gray)}.ms-ribbon-btn:focus{outline:1px solid var(--brand-primary);outline-offset:1px}.ms-ribbon-btn:active{background-color:var(--brand-primary);color:white}.ms-ribbon-btn--split{padding-right:var(--space-6)}.ms-ribbon-btn__dropdown-arrow{position:absolute;top:50%;right:var(--space-1);transform:translateY(-50%);font-size:.625rem;color:var(--neutral-dark-gray);pointer-events:none}.ms-ribbon-btn--split:hover .ms-ribbon-btn__dropdown-arrow{color:white}.ms-shell-tabbar{gap:4px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.85));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--neutral-medium-gray);height:48px;z-index:9;padding-left:24px;border-top:1px solid rgba(255,255,255,.2)}.ms-shell-tab,.ms-shell-tabbar{display:flex;align-items:center}.ms-shell-tab{padding:8px 20px;font-size:15px;font-weight:500;background:none;border:none;border-radius:10px 10px 0 0;color:var(--brand-primary);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal);position:relative;min-width:auto;white-space:nowrap}.ms-shell-tab:hover{box-shadow:0 2px 8px rgba(108,99,255,.08)}.ms-shell-tab:focus,.ms-shell-tab:hover{background:linear-gradient(135deg,var(--brand-primary) 0,var(--accent-lavender) 100%);color:white}.ms-shell-tab:focus{outline:1px solid var(--brand-primary);outline-offset:1px}.ms-shell-tab--active{background:linear-gradient(135deg,var(--brand-primary) 0,var(--accent-lavender) 100%);color:white;box-shadow:0 2px 8px rgba(108,99,255,.08)}.ms-shell-tab--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ms-shell-tab--active:hover{background:linear-gradient(135deg,#5650DB,#7d74ff)}.ms-shell-ribbon{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--neutral-medium-gray);height:64px;padding:0 16px;z-index:8;overflow-x:auto;overflow-y:visible}.ms-ribbon-empty{padding:16px 24px;color:var(--neutral-dark-gray);font-style:italic;display:flex;align-items:center;justify-content:center;width:100%}.ms-ribbon-group{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:nowrap;border-right:1px solid var(--neutral-medium-gray);padding-right:12px;margin-right:12px}.ms-ribbon-group:last-child{border-right:none;margin-right:0;padding-right:0}.ms-ribbon-btn-container{position:relative}.ms-ribbon-btn{flex-direction:column;background:var(--neutral-light-gray);border-radius:var(--radius-md);padding:6px 8px;min-width:52px;font-size:10px;font-weight:500;color:var(--brand-primary);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-fast);position:relative;border:1px solid transparent}.ms-ribbon-btn,.ms-ribbon-btn-icon{display:flex;align-items:center;justify-content:center}.ms-ribbon-btn-icon{margin-bottom:2px;line-height:1}.ms-ribbon-btn-text{font-size:10px;line-height:1.1;text-align:center;white-space:nowrap;max-width:50px;overflow:hidden;text-overflow:ellipsis}.ms-ribbon-btn:hover:not(.ms-ribbon-btn--disabled){background:var(--accent-lavender);background:rgba(139,132,255,.1);color:var(--brand-primary);border-color:rgba(139,132,255,.2);transform:translateY(-1px)}.ms-ribbon-btn:focus:not(.ms-ribbon-btn--disabled){outline:1px solid var(--brand-primary);outline-offset:1px;background:rgba(139,132,255,.1);color:var(--brand-primary)}.ms-ribbon-btn:active:not(.ms-ribbon-btn--disabled){background:var(--brand-primary);color:white;transform:translateY(0)}.ms-ribbon-btn--active{background:var(--brand-primary);color:white;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{display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);padding:2px 6px;min-width:60px;max-width:72px;font-size:11px;font-weight:500;color:var(--neutral-charcoal);cursor:pointer;transition:all var(--transition-fast);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{display:flex;align-items:center;justify-content:center;height:18px}.ms-ribbon-btn--with-icon .text-container{font-size:9px;line-height:1.2;text-align:center;word-wrap:break-word;word-break:break-word;hyphens:auto;max-width:100%;display:flex;align-items:center;justify-content:center;padding:0 2px}@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{font-size:8px;min-height:20px}}.ms-ribbon-btn-arrow{position:absolute;top:6px;right:6px;font-size:8px;color:currentColor;opacity:.7;pointer-events:none}.ms-ribbon-dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:4px;background:white;border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-critical);min-width:120px;overflow:hidden}.ms-ribbon-dropdown-item{display:block;width:100%;padding:8px 12px;font-size:12px;color:var(--neutral-charcoal);background:white;border:none;cursor:pointer;transition:background var(--transition-fast);text-align:left;border-bottom:1px solid var(--neutral-light-gray)}.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:rgba(139,132,255,.1)}@media (max-width:768px){.ms-shell-ribbon{height:64px;padding:0 16px;gap:16px}.ms-ribbon-group{gap:6px;padding-right:12px;margin-right:12px}.ms-ribbon-btn{min-width:56px;min-height:48px;padding:6px 10px}.ms-ribbon-btn-text{font-size:10px;max-width:52px}}.ms-ribbon-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--neutral-dark-gray)}.ms-ribbon-loading:before{content:"";width:16px;height:16px;border:2px solid var(--neutral-medium-gray);border-top-color:var(--brand-primary);border-radius:50%;animation:ribbon-spin .8s linear infinite}@keyframes ribbon-spin{to{transform:rotate(1turn)}}@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-height:40px;min-width:50px;font-size:.6875rem}}.ms-context-panel{position:fixed;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);min-width:200px;max-width:280px;opacity:0;transform:translateY(-10px) scale(.95);pointer-events:none;transition:all var(--transition-fast);z-index:var(--z-shell)}.ms-context-panel--show{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.ms-context-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-3);border-bottom:1px solid var(--neutral-medium-gray);padding-bottom:var(--space-2)}.ms-context-tab{padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:500;color:var(--neutral-dark-gray);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.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{display:flex;flex-direction:column;gap:var(--space-3)}.ms-tool-row{display:flex;align-items:center;gap:var(--space-2)}.ms-tool-label{font-size:.75rem;color:var(--neutral-dark-gray);min-width:40px}.ms-tool-select{flex:1;padding:var(--space-1) var(--space-2);cursor:pointer}.ms-tool-input,.ms-tool-select{border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-sm);background:var(--neutral-warm-white);font-size:.75rem;color:var(--neutral-charcoal)}.ms-tool-input{width:50px;padding:var(--space-1);text-align:center}.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);display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.75rem}.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{display:flex;gap:var(--space-1)}.ms-color-picker{width:32px;height:28px;cursor:pointer;padding:2px}.ms-color-picker,.ms-quick-actions{border:1px solid var(--neutral-medium-gray);border-radius:var(--radius-sm)}.ms-quick-actions{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--neutral-warm-white);box-shadow:var(--shadow-md)}.ms-quick-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--neutral-charcoal);font-size:.875rem}.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-btn,.ms-ribbon-tab{transition:none}.ms-ribbon-btn:hover{transform:none}.ms-ribbon-loading:before{animation:none;border-top-color:var(--brand-primary)}}.ms-asset-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:8px 12px 12px;overflow-y:auto;min-height:0}.ms-asset-card{background:var(--white);border:1px solid var(--neutral-medium-gray);border-radius:12px;box-shadow:0 1px 6px rgba(0,0,0,.04);padding:8px;display:flex;flex-direction:column;gap:6px;cursor:default;transition:border-color .18s ease,box-shadow .18s ease;position:relative}.ms-asset-card:hover{border-color:rgba(108,99,255,.4);box-shadow:0 4px 14px rgba(108,99,255,.08)}.ms-asset-drag-indicator{position:absolute;left:-4px;top:50%;transform:translateY(-50%);color:var(--neutral-dark-gray);opacity:0;transition:opacity .18s ease;cursor:grab;z-index:2}.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{width:100%;aspect-ratio:1/1;border-radius:8px;background:linear-gradient(135deg,var(--white),#f8f8fb);box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);display:grid;place-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ms-asset-thumb-text{color:#c7c9d6;font-size:12px}.ms-asset-actions{position:absolute;left:6px;right:6px;bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(17,17,17,.6);backdrop-filter:blur(6px);border-radius:8px;padding:4px 6px;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}.ms-asset-card:hover .ms-asset-actions{opacity:1;transform:translateY(0)}.ms-asset-action-btn{width:24px;height:24px;border:none;outline:none;border-radius:6px;display:grid;place-items:center;color:var(--white);background:transparent;cursor:pointer;transition:background .15s ease,transform .08s ease}.ms-asset-action-btn:hover{background:rgba(255,255,255,.12)}.ms-asset-action-btn:active{transform:translateY(1px) scale(.98)}.ms-asset-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.ms-asset-name{font-size:12px;color:var(--neutral-dark-gray);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.ms-asset-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.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:transparent}.ms-shell-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px;font-weight:600;font-size:14px;color:var(--brand-primary)}.ms-shell-panel__header-content{display:flex;align-items:center;gap:8px}.ms-shell-panel__pin-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--neutral-dark-gray);cursor:pointer;transition:background-color .15s ease,color .15s ease}.ms-shell-panel__pin-btn:hover{background:rgba(108,99,255,.1);color:var(--brand-primary)}.ms-shell-panel__pin-btn:active{transform:scale(.95)}.ms-shell-panel--pinned{position:relative;transition:none;z-index:var(--z-content)}.ms-shell-panel--unpinned{position:absolute!important;left:0;top:0;height:var(--workspace-content-height,calc(100vh - 200px))!important;z-index:var(--z-shell);transform:translateX(-100%)!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s ease!important;box-shadow:none;opacity:0!important}.ms-shell-panel--unpinned.ms-shell-panel--visible{transform:translateX(0)!important;opacity:1!important;box-shadow:4px 0 20px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05)}.ms-shell-panel--left.ms-shell-panel--unpinned{position:absolute!important;left:0;top:0;height:var(--workspace-content-height,calc(100vh - 200px))!important;z-index:var(--z-shell);transform:translateX(-100%)!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s ease!important;box-shadow:none;opacity:0!important}.ms-shell-panel--left.ms-shell-panel--unpinned.ms-shell-panel--visible{transform:translateX(0)!important;opacity:1!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s ease!important}.ms-shell{grid-template-rows:var(--toolbar-height,56px) var(--tabbar-height,48px) var(--ribbon-height,56px) 1fr var(--statusbar-height,40px);height:100vh;width:100vw}.ms-shell,.ms-shell-main{display:grid;overflow:hidden}.ms-shell-main{grid-template-columns:var(--left-panel-width,220px) 1fr var(--right-panel-width,380px);position:relative;min-height:0}.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{position:relative;height:var(--workspace-content-height,calc(100vh - 200px));min-height:0;overflow:hidden;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s ease}.ms-shell-panel--left{grid-column:1;width:var(--left-panel-width,220px);min-width:var(--left-panel-width,220px)}.ms-shell-panel--right{grid-column:3;width:var(--right-panel-width,380px);min-width:var(--right-panel-width,380px)}.ms-shell-canvas{grid-column:2;position:relative;min-height:0;min-width:0;padding:var(--canvas-padding,20px)}.ms-shell-canvas .ms-workspace,.ms-workspace{scrollbar-width:auto!important;scrollbar-color:#666 #e0e0e0!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar,.ms-workspace::-webkit-scrollbar{width:16px!important;height:16px!important;background:#f0f0f0!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar-track,.ms-workspace::-webkit-scrollbar-track{background:#e0e0e0!important;border-radius:8px!important;margin:2px!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar-thumb,.ms-workspace::-webkit-scrollbar-thumb{background:#666!important;border-radius:8px!important;border:2px solid #e0e0e0!important;min-height:20px!important;min-width:20px!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar-thumb:hover,.ms-workspace::-webkit-scrollbar-thumb:hover{background:#444!important}.ms-shell-canvas .ms-workspace::-webkit-scrollbar-corner,.ms-workspace::-webkit-scrollbar-corner{background:#e0e0e0!important}.ms-panel-hover-trigger{position:absolute;left:0;top:50%;transform:translateY(-50%);width:30px;height:60px;z-index:var(--z-tabbar);background:linear-gradient(90deg,var(--brand-primary),transparent);border-radius:0 8px 8px 0;opacity:.7;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .2s ease}.ms-panel-hover-trigger:after{content:"›";color:white;font-size:20px;font-weight:700}.ms-panel-hover-trigger:hover{opacity:.9;transform:translateY(-50%) translateX(2px)}.ms-shell-panel--unpinned.ms-shell-panel--visible{backdrop-filter:blur(2px)}.ms-shell-panel--right.ms-shell-panel--unpinned{position:absolute!important;right:0;top:0;left:auto;height:var(--workspace-content-height,calc(100vh - 200px))!important;z-index:var(--z-shell);transform:translateX(100%)!important;transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s ease!important;box-shadow:none;opacity:0!important}.ms-shell-panel--right.ms-shell-panel--unpinned.ms-shell-panel--visible{transform:translateX(0)!important;opacity:1!important;box-shadow:-4px 0 20px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05);transition:transform 1s ease-out,box-shadow 1s ease-out,opacity .5s ease!important}.ms-panel-hover-trigger--right{position:absolute;right:0!important;left:auto!important;top:50%;transform:translateY(-50%);width:30px;height:60px;z-index:var(--z-tabbar);background:linear-gradient(270deg,var(--brand-primary),transparent);border-radius:8px 0 0 8px;opacity:.7;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .2s ease}.ms-panel-hover-trigger--right:after{content:"‹";color:white;font-size:20px;font-weight:700}.ms-panel-hover-trigger--right:hover{opacity:.9;transform:translateY(-50%) translateX(-2px)}.ms-photo-browser-icon-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:var(--radius-md);color:white;cursor:pointer;opacity:.9;transition:var(--transition-fast);backdrop-filter:blur(4px);z-index:var(--z-canvas-status);box-shadow:var(--shadow-sm)}.ms-photo-browser-icon-btn:hover{opacity:1;transform:scale(1.05);box-shadow:var(--shadow-md)}.ms-photo-browser-icon-btn--edit{top:10px;left:10px;background-color:rgba(108,99,255,.9)}.ms-photo-browser-icon-btn--edit:hover{background-color:var(--brand-primary)}.ms-photo-browser-icon-btn--favorite{top:10px;right:10px;background-color:rgba(255,107,107,.9)}.ms-photo-browser-icon-btn--favorite:hover{background-color:var(--accent-coral)}.ms-photo-browser-icon-btn--add{bottom:30px;left:10px;background-color:rgba(78,205,196,.9)}.ms-photo-browser-icon-btn--add:hover{background-color:var(--accent-mint)}.ms-photo-browser-icon-btn--delete{bottom:30px;right:10px;background-color:rgba(255,107,107,.9)}.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);border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.04);padding:4px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .15s ease;position:relative;width:100%;max-width:90px}.ms-asset-library-card:hover{border-color:rgba(108,99,255,.4);box-shadow:0 3px 8px rgba(108,99,255,.12);transform:translateY(-1px)}.ms-asset-library-card--selected{border-color:var(--brand-primary);box-shadow:0 0 0 2px rgba(108,99,255,.2)}.ms-asset-library-thumb-container{position:relative;width:100%;aspect-ratio:1;border-radius:4px;overflow:hidden}.ms-asset-library-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--neutral-light-gray);border-radius:4px;overflow:hidden}.ms-asset-library-thumb-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s ease}.ms-asset-library-card:hover .ms-asset-library-thumb-image{transform:scale(1.05)}.ms-asset-library-thumb-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--neutral-light-gray),var(--neutral-medium-gray));display:flex;align-items:center;justify-content:center;color:var(--neutral-dark-gray)}.ms-asset-library-thumb-text{font-size:14px;font-weight:600;font-family:var(--font-heading)}.ms-asset-library-icon-btn{position:absolute;width:20px;height:20px;border:none;border-radius:50%;background:rgba(255,255,255,.9);color:var(--neutral-dark-gray);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all .15s ease;backdrop-filter:blur(4px);box-shadow:0 1px 3px rgba(0,0,0,.1);opacity:0;transform:scale(.8)}.ms-asset-library-card:hover .ms-asset-library-icon-btn{opacity:1;transform:scale(1);z-index:4;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.3)}.ms-asset-library-icon-btn:hover{background:white;box-shadow:0 2px 6px rgba(0,0,0,.15);transform:scale(1.1)}.ms-asset-library-icon-btn--edit{top:2px;left:2px}.ms-asset-library-icon-btn--edit:hover{color:var(--brand-primary);background:rgba(108,99,255,.1)}.ms-asset-library-icon-btn--favorite{top:2px;right:2px}.ms-asset-library-icon-btn--favorite:hover{color:var(--accent-coral);background:rgba(255,107,107,.1)}.ms-asset-library-icon-btn--favorite-active{color:var(--accent-coral);background:rgba(255,107,107,.15)}.ms-asset-library-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:space-between;padding:4px;border-radius:4px;z-index:var(--z-hover);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ms-asset-library-overlay-btn{width:24px;height:24px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;backdrop-filter:blur(8px);box-shadow:0 2px 8px rgba(0,0,0,.2)}.ms-asset-library-overlay-btn:hover{transform:scale(1.1);box-shadow:0 3px 12px rgba(0,0,0,.3)}.ms-asset-library-overlay-btn--add{background:var(--accent-mint);color:white}.ms-asset-library-overlay-btn--add:hover{background:#3eb8b0}.ms-asset-library-overlay-btn--delete{background:var(--accent-coral);color:white}.ms-asset-library-overlay-btn--delete:hover{background:#ff5252}.ms-asset-library-meta{padding:0 2px;min-height:0}.ms-asset-library-name{font-size:10px;font-weight:500;color:var(--neutral-charcoal);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.ms-asset-library-tags{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.ms-asset-library-tag{font-size:8px;padding:1px 3px;background:rgba(108,99,255,.1);color:var(--brand-primary);border-radius:2px;font-weight:500}.ms-asset-library-tag-more{font-size:8px;color:var(--neutral-dark-gray);font-weight:500}.ms-asset-preview-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-critical);padding:20px;animation:backdropFadeIn .2s ease}@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);max-width:600px;max-height:80vh;width:100%;display:flex;flex-direction:column;animation:modalSlideIn .2s ease;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.ms-asset-preview-header{display:flex;align-items:center;justify-content:space-between;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))}.ms-asset-preview-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--neutral-charcoal);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:var(--space-4)}.ms-asset-preview-actions,.ms-asset-preview-btn{display:flex;gap:var(--space-2)}.ms-asset-preview-btn{align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);font-weight:500;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.ms-asset-preview-btn--icon{width:36px;height:36px;padding:0;background:var(--neutral-light-gray);color:var(--neutral-dark-gray)}.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:rgba(255,107,107,.1)}.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:white}.ms-asset-preview-btn--primary{background:linear-gradient(135deg,var(--brand-primary),var(--primary-dusty-blue));color:white;padding:var(--space-3) var(--space-6)}.ms-asset-preview-btn--primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.ms-asset-preview-content{display:flex;flex:1;min-height:0}.ms-asset-preview-image-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--neutral-light-gray);position:relative;min-height:300px}.ms-asset-preview-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;opacity:0;transition:opacity .3s ease}.ms-asset-preview-image--loaded{opacity:1}.ms-asset-preview-error,.ms-asset-preview-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--neutral-dark-gray)}.ms-asset-preview-spinner{width:32px;height:32px;border-top:3px solid var(--neutral-medium-gray);border:3px solid var(--neutral-medium-gray);border-top-color:var(--brand-primary);border-radius:50%;animation:spin 1s linear infinite}.ms-asset-preview-error-icon{width:60px;height:60px;border-radius:var(--radius-lg);background:var(--neutral-medium-gray);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;font-family:var(--font-heading);color:var(--neutral-dark-gray)}.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);font-size:.875rem;font-weight:600;color:var(--neutral-charcoal);margin:0 0 var(--space-3) 0}.ms-asset-preview-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ms-asset-preview-tag{padding:var(--space-1) var(--space-2);background:rgba(108,99,255,.1);color:var(--brand-primary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.ms-asset-preview-details{display:flex;flex-direction:column;gap:var(--space-2)}.ms-asset-preview-detail{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;color:var(--neutral-dark-gray)}.ms-asset-preview-type-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;background:var(--neutral-medium-gray);color:var(--neutral-charcoal)}.ms-asset-preview-type-badge--photo{background:rgba(78,205,196,.2);color:var(--accent-mint)}.ms-asset-preview-type-badge--frame{background:rgba(255,217,61,.2);color:var(--accent-gold)}.ms-asset-preview-type-badge--paper{background:rgba(255,107,107,.2);color:var(--accent-coral)}.ms-asset-preview-type-badge--embellishment{background:rgba(139,132,255,.2);color:var(--accent-lavender)}.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);display:flex;justify-content:flex-end}@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 white}}@media (prefers-reduced-motion:reduce){.ms-asset-library-card,.ms-asset-library-icon-btn,.ms-asset-library-overlay-btn,.ms-asset-library-thumb-image,.ms-asset-preview-btn,.ms-asset-preview-modal{transition:none}.ms-asset-library-overlay,.ms-asset-preview-spinner{animation:none}}