@import"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap";:root{--msq-orange: #d4521a;--msq-orange-dark: #c44414;--msq-orange-light: #fdeee3;--msq-yellow: #ffbb00;--msq-yellow-dark: #c27d00;--msq-gray-900: #1f1f1f;--msq-gray-800: #333333;--msq-gray-700: #4a4a4a;--msq-gray-600: #555555;--msq-gray-500: #777777;--msq-gray-400: #999999;--msq-gray-300: #aaaaaa;--msq-gray-200: #cccccc;--msq-gray-150: #e0e0e0;--msq-gray-100: #eeeeee;--msq-gray-50: #f5f5f5;--msq-white: #ffffff;--msq-success: #3a9e5f;--msq-error: #c44414;--msq-info: #2a6db5;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .06);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--radius-sm: 2px;--radius-base: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--transition-fast: .12s ease;--transition-base: .2s ease}*,*:before,*:after{box-sizing:border-box}html{height:100%}body,#root{margin:0;min-height:100%}body{font-family:Lato,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--msq-gray-800);background:var(--msq-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell__header{position:sticky;top:0;z-index:100;background:var(--msq-white);border-top:3px solid var(--msq-orange);border-bottom:1px solid var(--msq-gray-150);box-shadow:var(--shadow-sm);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:60px}.app-shell__brand{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.app-shell__title{margin:0;font-size:1.25rem;font-weight:900;color:var(--msq-gray-600);cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:-.02em;transition:color var(--transition-base)}.app-shell__title:hover{color:var(--msq-orange)}.app-shell__user{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--msq-gray-400);padding-left:.625rem;border-left:1px solid var(--msq-gray-150)}.badge{display:inline-block;padding:.1rem .45rem;font-size:.6875rem;font-weight:700;font-style:normal;border-radius:var(--radius-sm);background:var(--msq-orange-light);color:var(--msq-orange);letter-spacing:.06em;text-transform:uppercase}.app-shell__actions{display:flex;align-items:center;gap:.125rem}.app-shell__content{flex:1;max-width:1280px;width:100%;margin:0 auto;padding:2rem}.app-shell__footer{display:flex;justify-content:center;padding:1rem 2rem;border-top:1px solid var(--msq-gray-150)}.app-shell__version{font-size:.75rem;color:var(--msq-gray-400);letter-spacing:.02em}.hub-waffle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);color:var(--msq-gray-400);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.hub-waffle:hover{background:var(--msq-orange-light);color:var(--msq-orange)}.hub-waffle:active{transform:scale(.94)}.hub-waffle:focus-visible{outline:2px solid var(--msq-orange);outline-offset:2px}.nav-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:inherit;font-size:.875rem;font-weight:700;color:var(--msq-gray-500);background:transparent;border:none;border-radius:var(--radius-base);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);white-space:nowrap;line-height:1}.nav-btn:hover{color:var(--msq-gray-800);background:var(--msq-gray-50)}.nav-btn--active{color:var(--msq-orange);background:var(--msq-orange-light)}.nav-btn--active:hover{color:var(--msq-orange-dark);background:#fbd5c5}.lang-toggle{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:inherit;font-size:.875rem;font-weight:700;color:var(--msq-gray-500);background:transparent;border:1px solid var(--msq-gray-150);border-radius:var(--radius-base);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.lang-toggle:hover{color:var(--msq-gray-800);background:var(--msq-gray-50);border-color:var(--msq-gray-300)}.lang-toggle--active{color:var(--msq-orange);background:var(--msq-orange-light);border-color:var(--msq-orange)}.launchpad{display:flex;flex-direction:column;gap:1.5rem}.launchpad__hint{margin:3rem auto;color:var(--msq-gray-400);text-align:center}.launchpad__hint--error{color:var(--msq-error)}.launchpad__toolbar{display:flex;gap:.75rem;align-items:center}.launchpad__search-wrap{flex:1;position:relative;display:flex;align-items:center}.launchpad__search-icon{position:absolute;left:.75rem;color:var(--msq-gray-400);pointer-events:none;display:flex;align-items:center}.launchpad__search{width:100%;padding:.625rem .75rem .625rem 2.5rem;font-family:inherit;font-size:.9375rem;background:var(--msq-white);border:1px solid var(--msq-gray-150);border-radius:var(--radius-md);color:var(--msq-gray-800);box-shadow:var(--shadow-xs);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.launchpad__search:focus{outline:none;border-color:var(--msq-orange);box-shadow:0 0 0 3px #d4521a1f}.launchpad__search::placeholder{color:var(--msq-gray-300)}.launchpad__count{font-size:.875rem;font-weight:700;color:var(--msq-gray-400);white-space:nowrap}.launchpad__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.app-tile{position:relative;display:flex;gap:1rem;align-items:flex-start;padding:1.125rem;background:var(--msq-white);border:1px solid var(--msq-gray-150);border-radius:var(--radius-lg);text-decoration:none;color:inherit;box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.app-tile:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--app-accent, var(--msq-orange));opacity:0;transition:opacity var(--transition-base)}.app-tile:hover,.app-tile:focus-visible{box-shadow:var(--shadow-md);border-color:var(--msq-gray-100);transform:translateY(-2px);outline:none}.app-tile:hover:after,.app-tile:focus-visible:after{opacity:1}.app-tile__icon{flex:0 0 auto;width:3rem;height:3rem;border-radius:var(--radius-lg);background:var(--app-accent, var(--msq-orange));display:grid;place-items:center;color:var(--msq-white)}.app-tile__icon--emoji{font-size:1.5rem;line-height:1}.app-tile__body{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.app-tile__category{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--msq-orange)}.app-tile__title{margin:0;font-size:.9375rem;font-weight:700;color:var(--msq-gray-700);line-height:1.3}.app-tile__description{margin:.15rem 0 0;font-size:.8125rem;color:var(--msq-gray-400);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.app-tile__vendor{margin-top:.3rem;font-size:.6875rem;color:var(--msq-gray-400)}.app-tile__external{flex:0 0 auto;margin-left:auto;align-self:flex-start;color:var(--msq-gray-300);transition:color var(--transition-fast)}.app-tile:hover .app-tile__external{color:var(--msq-orange)}.admin{display:flex;flex-direction:column;gap:1.25rem}.admin__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:2px solid var(--msq-gray-100)}.admin__header h2{margin:0;font-size:1.125rem;font-weight:900;color:var(--msq-gray-600);letter-spacing:-.01em}.admin__table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--msq-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs);border:1px solid var(--msq-gray-150)}.admin__table th,.admin__table td{text-align:left;padding:.625rem .875rem;border-bottom:1px solid var(--msq-gray-100);vertical-align:middle}.admin__table tbody tr:last-child td{border-bottom:none}.admin__table tbody tr:hover td{background:var(--msq-gray-50)}.admin__table th{font-weight:700;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--msq-gray-400);background:var(--msq-gray-50)}.admin__actions{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.admin__actions button{font-family:inherit;font-size:.8125rem;font-weight:700;background:transparent;border:1px solid var(--msq-gray-150);border-radius:var(--radius-base);padding:.25rem .6rem;cursor:pointer;color:var(--msq-gray-600);transition:background var(--transition-fast),border-color var(--transition-fast)}.admin__actions button:hover{background:var(--msq-gray-50);border-color:var(--msq-gray-300)}.admin__probe{font-size:.8rem;font-weight:700}.admin__probe--ok{color:var(--msq-success)}.admin__probe--err{color:var(--msq-error)}.admin__sub{display:block;font-size:.75rem;color:var(--msq-gray-300)}.admin__empty{text-align:center;padding:2rem;color:var(--msq-gray-300)}.admin__form{background:var(--msq-white);border:1px solid var(--msq-gray-150);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.875rem;box-shadow:var(--shadow-sm)}.admin__form h3{margin:0;font-size:1rem;font-weight:700;color:var(--msq-gray-600)}.admin__field{display:flex;flex-direction:column;gap:.3rem}.admin__field--inline{flex-direction:row;align-items:center;gap:.5rem}.admin__field label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--msq-gray-500)}.admin__field input,.admin__field textarea,.admin__field select{font-family:inherit;font-size:.9375rem;padding:.5rem .7rem;background:var(--msq-white);border:1px solid var(--msq-gray-150);border-radius:var(--radius-base);color:var(--msq-gray-800);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.admin__field input:focus,.admin__field textarea:focus,.admin__field select:focus{outline:none;border-color:var(--msq-orange);box-shadow:0 0 0 3px #d4521a1f}.admin__field textarea{min-height:4rem;resize:vertical}.admin__form-actions{display:flex;gap:.5rem;padding-top:.25rem}.admin__form-actions button{font-family:inherit;font-size:.9375rem;font-weight:700;padding:.5rem 1rem;border-radius:var(--radius-base);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base)}.admin__form-actions button[type=submit]:disabled,.admin__form-actions button:disabled{opacity:.6;cursor:wait}.admin__form-actions button[type=submit]{background:var(--msq-orange);color:var(--msq-white);border:1px solid var(--msq-orange)}.admin__logs{font-family:ui-monospace,monospace;font-size:.85rem;background:var(--msq-gray-50);border:1px solid var(--msq-gray-150);border-radius:var(--radius-base);padding:.6rem;max-height:24rem;overflow:auto;white-space:pre}.admin__form-actions button[type=submit]:hover{background:var(--msq-orange-dark);border-color:var(--msq-orange-dark)}.admin__form-actions button[type=button]{background:transparent;color:var(--msq-gray-600);border:1px solid var(--msq-gray-150)}.admin__form-actions button[type=button]:hover{background:var(--msq-gray-50);border-color:var(--msq-gray-300)}.admin__access-rules{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.admin__access-input{display:flex;gap:.4rem}.admin__access-input input{flex:1}.admin__access-input button{font-family:inherit;font-size:.875rem;font-weight:700;padding:.5rem .875rem;border:1px solid var(--msq-gray-150);border-radius:var(--radius-base);background:transparent;color:var(--msq-gray-600);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast)}.admin__access-input button:hover{background:var(--msq-gray-50);border-color:var(--msq-gray-300)}.admin__access-empty{margin:0;font-size:.8rem;color:var(--msq-gray-400)}.admin__access-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.admin__access-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border:1px solid var(--msq-gray-150);border-radius:999px;font-size:.8rem;background:var(--msq-gray-50);color:var(--msq-gray-600)}.admin__access-tag button{font-family:inherit;font-size:.75rem;background:transparent;border:none;cursor:pointer;color:var(--msq-gray-400);padding:0;line-height:1;transition:color var(--transition-fast)}.admin__access-tag button:hover{color:var(--msq-error)}
