.tr-page{max-width:1100px;padding:2rem}.tr-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.tr-title{font-family:var(--font-display,"Urbanist",sans-serif);color:#fff;margin:0 0 .2rem;font-size:1.75rem;font-weight:800}.tr-subtitle{color:#ffffff80;margin:0;font-size:.875rem}.tr-add-btn{background:var(--orange);color:#fff;white-space:nowrap;border-radius:6px;padding:.6rem 1.25rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-block}.tr-add-btn:hover{opacity:.85}.tr-tabs{border-bottom:1px solid #ffffff14;gap:.25rem;margin-bottom:1.5rem;display:flex}.tr-tab{color:#fff6;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-1px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:color .15s;display:flex}.tr-tab:hover{color:#fffc}.tr-tab.active{color:#fff;border-bottom-color:var(--orange)}.tr-tab-count{color:#ffffff80;background:#ffffff1a;border-radius:20px;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.tr-tab.active .tr-tab-count{background:var(--orange);color:#fff}.tr-table-wrap{overflow-x:auto}.tr-table{border-collapse:collapse;width:100%;font-size:.875rem}.tr-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#fff6;border-bottom:1px solid #ffffff14;padding:.6rem .75rem;font-size:.75rem;font-weight:700}.tr-table td{color:#ffffffd9;vertical-align:middle;border-bottom:1px solid #ffffff0f;padding:.75rem}.tr-table tbody tr:hover td{background:#ffffff0a}.tr-name{color:#fff;font-weight:600}.tr-email{color:#ffffff80;font-size:.8rem}.tr-date{color:#ffffff59;white-space:nowrap;font-size:.8rem}.tr-message{white-space:nowrap;text-overflow:ellipsis;color:#ffffff80;max-width:220px;overflow:hidden}.tr-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:.2rem .55rem;font-size:.7rem;font-weight:700;display:inline-block}.tr-badge--invited{color:#856404;background:#fff3cd}.tr-badge--approved{color:#0f5132;background:#d1e7dd}.tr-badge--rejected{color:#842029;background:#f8d7da}.tr-badge--pending{background:var(--linen-dark,#e0d4bc);color:var(--slate)}.tr-badge-sub{color:var(--slate);margin-top:.15rem;font-size:.7rem;display:block}.tr-actions{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.tr-action-btn{cursor:pointer;border:none;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:opacity .15s}.tr-action-btn:hover{opacity:.8}.tr-action-btn:disabled{opacity:.5;cursor:default}.tr-action-btn--approve{color:#0f5132;background:#d1e7dd}.tr-action-btn--reject{color:#842029;background:#f8d7da}.tr-action-btn--resend{background:var(--linen-dark,#e0d4bc);color:var(--ink)}.tr-action-btn--invite{background:var(--orange);color:#fff;text-decoration:none;display:inline-block}.tr-action-btn--profile{background:color-mix(in srgb,var(--sky)20%,transparent);color:var(--sky);border:1px solid color-mix(in srgb,var(--sky)40%,transparent);text-decoration:none;display:inline-block}.tr-action-loading{color:var(--slate);font-size:.75rem}.tr-action-error{color:#842029;font-size:.75rem}.tr-autopub-toggle{border:1.5px solid var(--linen-dark,#e0d4bc);color:var(--slate);cursor:pointer;white-space:nowrap;background:#fff;border-radius:20px;padding:.25rem .65rem;font-size:.75rem;font-weight:700;transition:all .15s}.tr-autopub-toggle:hover{border-color:var(--orange);color:var(--orange)}.tr-autopub-toggle.on{background:var(--orange);border-color:var(--orange);color:#fff}.tr-empty{color:#ffffff59;padding:2rem 0;font-size:.9rem;font-style:italic}.nt-page{max-width:540px;padding:2rem}.nt-header{margin-bottom:1.5rem}.nt-back{color:#fff6;margin-bottom:.75rem;font-size:.875rem;text-decoration:none;display:inline-block}.nt-back:hover{color:#fffc}.nt-title{font-family:var(--font-display,"Urbanist",sans-serif);color:#fff;margin:0;font-size:1.5rem;font-weight:800}.nt-form{flex-direction:column;gap:1.25rem;display:flex}.nt-field{flex-direction:column;gap:.35rem;display:flex}.nt-label{color:#ffffffbf;font-size:.875rem;font-weight:600}.nt-input,.nt-select{color:#fff;box-sizing:border-box;background:#ffffff0f;border:1.5px solid #ffffff1f;border-radius:6px;width:100%;padding:.6rem .75rem;font-size:.9rem;transition:border-color .15s}.nt-input::placeholder{color:#ffffff40}.nt-input:focus,.nt-select:focus{border-color:var(--orange);background:#ffffff14;outline:none}.nt-select option{color:#fff;background:#1a1c1a}.nt-add-new-row{align-items:center;gap:.5rem;display:flex}.nt-add-new-row .nt-input{flex:1}.nt-add-new-save{background:var(--orange);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.5rem .9rem;font-size:.8rem;font-weight:700}.nt-add-new-save:disabled{opacity:.5;cursor:default}.nt-add-new-cancel{color:#ffffffb3;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.8rem;font-weight:600}.nt-error{color:#ff8a8a;margin:0;font-size:.875rem}.nt-btn-row{gap:.75rem;display:flex}.nt-btn-primary{background:var(--orange);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.7rem 1.5rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-block}.nt-btn-primary:hover{opacity:.85}.nt-btn-primary:disabled{opacity:.5;cursor:default}.nt-btn-secondary{background:var(--linen-dark,#e0d4bc);color:var(--ink);cursor:pointer;border:none;border-radius:6px;padding:.7rem 1.25rem;font-size:.9rem;font-weight:600}.nt-success{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.nt-success-icon{color:#0f5132;background:#d1e7dd;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex}.nt-success-heading{font-family:var(--font-display,"Urbanist",sans-serif);color:var(--ink);margin:0;font-size:1.5rem;font-weight:800}.nt-success-body{color:#fff9;margin:0}.nt-success-warning{color:#ffd166;margin:0;font-size:.85rem}.nt-success-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.onboard-page{background:var(--cream,#fbf6ee);justify-content:center;align-items:flex-start;min-height:100vh;padding:3rem 1rem;display:flex}.onboard-card{background:#fff;border-radius:12px;width:100%;max-width:580px;padding:2.5rem 2rem;box-shadow:0 2px 12px #0d0f0d14}.onboard-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--orange);margin:0 0 .4rem;font-size:.75rem;font-weight:700}.onboard-heading{font-family:var(--font-display,"Urbanist",sans-serif);color:var(--ink);margin:0 0 .5rem;font-size:1.75rem;font-weight:800;line-height:1.2}.onboard-subheading{color:var(--slate);margin:0 0 2rem;font-size:.9rem}.onboard-field{margin-bottom:1.5rem}.onboard-label{color:var(--ink);margin-bottom:.35rem;font-size:.875rem;font-weight:600;display:block}.onboard-field-hint{color:var(--slate);margin:0 0 .5rem;font-size:.8rem}.onboard-dropzone{border:2px dashed var(--linen-dark,#e0d4bc);text-align:center;cursor:pointer;border-radius:8px;padding:1.5rem;transition:border-color .2s,background .2s}.onboard-dropzone:hover,.onboard-dropzone--dragover{border-color:var(--orange);background:#f7941d0a}.onboard-dropzone-input{display:none}.onboard-dropzone-icon{color:var(--slate);margin-bottom:.4rem;font-size:1.5rem}.onboard-dropzone-label{color:var(--ink);margin:0 0 .2rem;font-size:.875rem;font-weight:600}.onboard-dropzone-sub{color:var(--slate);margin:0;font-size:.75rem}.onboard-portrait-preview{object-fit:cover;border:3px solid var(--orange);border-radius:50%;width:80px;height:80px}.onboard-remove-portrait{color:var(--slate);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:0;font-size:.8rem;text-decoration:underline}.onboard-textarea{border:1.5px solid var(--linen-dark,#e0d4bc);width:100%;color:var(--ink);resize:vertical;box-sizing:border-box;border-radius:6px;padding:.65rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.onboard-textarea:focus{border-color:var(--orange);outline:none}.onboard-char-count{color:var(--slate);margin-top:.25rem;font-size:.75rem;display:block}.onboard-char-count--warn{color:#856404}.onboard-focus-grid{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.onboard-focus-chip{border:1.5px solid var(--linen-dark,#e0d4bc);color:var(--slate);cursor:pointer;background:#fff;border-radius:20px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;transition:all .15s}.onboard-focus-chip:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.onboard-focus-chip.selected{background:var(--orange);border-color:var(--orange);color:#fff}.onboard-focus-chip:disabled:not(.selected){opacity:.4;cursor:default}.onboard-error{color:#842029;margin:0 0 .5rem;font-size:.875rem}.onboard-btn-row{margin-top:.5rem}.onboard-submit-btn{background:var(--orange);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.85rem;font-size:1rem;font-weight:700;transition:opacity .15s}.onboard-submit-btn:hover:not(:disabled){opacity:.88}.onboard-submit-btn:disabled{opacity:.5;cursor:default}.te-page{max-width:680px;padding:2rem 2.5rem}.te-back-link{color:var(--slate);margin-bottom:1rem;font-size:.85rem;text-decoration:none;transition:color .15s;display:inline-block}.te-back-link:hover{color:var(--orange)}.te-header{align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.te-title{color:var(--cream);margin:0;font-family:Urbanist,sans-serif;font-size:1.5rem;font-weight:800}.te-meta{color:var(--slate);margin:0 0 1.5rem;font-size:.8rem}.te-btn-row{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.te-actions-section{border-top:1px solid #fbf6ee14;margin-top:2rem;padding-top:1.5rem}.te-section{border-top:1px solid #ffffff0f;margin-top:2rem;padding-top:1.5rem}.te-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--slate);margin:0 0 4px;font-family:DM Sans,sans-serif;font-size:.7rem;font-weight:700}.te-section-hint{color:#ffffff4d;margin:0 0 10px;font-family:DM Sans,sans-serif;font-size:12px}.te-danger-zone{border-top:1px solid #e8196a33;margin-top:2rem;padding-top:1.5rem}.te-archive-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.te-confirm-text{color:var(--cream);font-size:.875rem;font-weight:600}.te-archive-btn{color:var(--pink);cursor:pointer;background:#e8196a26;border:1px solid #e8196a4d;border-radius:6px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.te-archive-btn:hover:not(:disabled){background:#e8196a40}.te-archive-btn:disabled{opacity:.5;cursor:default}.te-archive-btn--delete{color:#ff6b7a;background:#dc354526;border-color:#dc35454d}.te-archive-btn--delete:hover:not(:disabled){background:#dc354540}.te-cancel-btn{color:var(--slate);cursor:pointer;background:0 0;border:1px solid #fbf6ee1f;border-radius:6px;padding:.5rem 1rem;font-size:.8rem;transition:color .15s}.te-cancel-btn:hover{color:var(--cream)}.te-unarchive-btn{color:var(--cream);cursor:pointer;background:#fbf6ee0f;border:1px solid #fbf6ee1f;border-radius:6px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.te-unarchive-btn:hover:not(:disabled){background:#fbf6ee1a}.te-archived-label{color:var(--slate);font-size:.8rem;font-style:italic}.tr-name-link{color:var(--cream);text-decoration:none;transition:color .15s}.tr-name-link:hover{color:var(--orange);text-decoration:underline}.tr-row--archived td{opacity:.6}.tr-row--archived:hover td{opacity:.85}.tr-action-btn--edit{text-decoration:none}.tr-action-btn--message{color:var(--sky);border-color:#c8dce840}.tr-action-btn--message:hover{border-color:var(--sky);background:#c8dce814}.tr-modal-overlay{z-index:400;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tr-modal{background:var(--ink-soft);border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:14px;width:100%;max-width:480px;padding:28px;display:flex}.tr-modal-header{justify-content:space-between;align-items:center;display:flex}.tr-modal-title{color:var(--cream);margin:0;font-size:18px;font-weight:700}.tr-modal-close{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:18px;transition:color .15s,background .15s}.tr-modal-close:hover{color:#fff;background:#ffffff0f}.tr-modal-hint{color:#fff6;margin:0;font-size:13px}.tr-modal-textarea{width:100%;color:var(--cream);font-family:var(--font-dm-sans),sans-serif;resize:vertical;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;min-height:100px;padding:12px 14px;font-size:14px;transition:border-color .15s}.tr-modal-textarea:focus{border-color:var(--sky);background:#ffffff12;outline:none}.tr-modal-textarea::placeholder{color:#fbf6ee40}.tr-modal-error{color:var(--pink);margin:0;font-size:12px}.tr-modal-sent{color:var(--linen);text-align:center;margin:0;padding:16px 0;font-size:15px}.tr-modal-actions{justify-content:flex-end;gap:10px;display:flex}.tr-modal-cancel{color:var(--linen);font-family:var(--font-dm-sans),sans-serif;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:7px;padding:8px 18px;font-size:13px;transition:background .15s}.tr-modal-cancel:hover{background:#ffffff0f}.tr-modal-send{background:var(--sky);color:var(--ink);font-family:var(--font-dm-sans),sans-serif;cursor:pointer;border:none;border-radius:7px;padding:8px 20px;font-size:13px;font-weight:700;transition:opacity .15s,transform .15s}.tr-modal-send:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.tr-modal-send:disabled{opacity:.35;cursor:not-allowed}.te-media-section{border-top:1px solid #ffffff0f;margin-top:2rem;padding-top:1.5rem}.te-media-empty{color:#ffffff59;margin:8px 0 0;font-size:13px}.te-media-table-wrap{margin-top:10px;overflow-x:auto}.te-media-table{border-collapse:collapse;width:100%;font-family:DM Sans,sans-serif;font-size:12px}.te-media-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#ffffff59;white-space:nowrap;padding:0 10px 6px 0;font-size:11px;font-weight:600}.te-media-table td{vertical-align:middle;color:#ffffffbf;border-bottom:1px solid #ffffff0a;padding:6px 10px 6px 0}.te-media-date{white-space:nowrap;color:#ffffff73}.te-media-kind{font-size:15px}.te-media-size{white-space:nowrap;font-variant-numeric:tabular-nums}.te-media-compressed{color:#00c9a7;vertical-align:middle;margin-left:4px;font-size:9px}.te-media-thumb-link{line-height:0;display:inline-block}.te-media-thumb{object-fit:cover;border:1px solid #ffffff1a;border-radius:6px;width:40px;height:40px}.te-media-link{color:#ffffff8c;word-break:break-all;font-family:Space Mono,monospace;font-size:11px;text-decoration:none}.te-media-link:hover{color:var(--coral,#f15a29)}.te-discount-row{align-items:center;gap:10px;margin-top:12px;display:flex}.te-discount-input{text-align:center;width:80px!important}.te-discount-pct-label{color:#ffffff80;font-family:DM Sans,sans-serif;font-size:16px;font-weight:700}
.dev-banner{z-index:9999;pointer-events:none;background:#1a0a00;border-bottom:1px solid #f7941d66;align-items:center;gap:8px;height:26px;padding:0 14px;display:flex;position:fixed;top:0;left:0;right:0}.dev-banner-dot{background:var(--orange);width:6px;height:6px;box-shadow:0 0 6px var(--orange);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite dev-banner-pulse}@keyframes dev-banner-pulse{0%,to{opacity:1}50%{opacity:.4}}.dev-banner-text{letter-spacing:.18em;color:var(--orange);text-transform:uppercase;font-family:DM Sans,monospace;font-size:10px;font-weight:700}.dev-banner-url{color:#f7941d73;letter-spacing:.04em;font-family:DM Sans,monospace;font-size:10px;font-weight:400}
.dev-page{padding:80px 0 120px}.dev-inner{max-width:960px;margin:0 auto;padding:0 24px}.dev-role-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.dev-two-col{grid-template-columns:1fr 1fr;gap:0 40px;display:grid}.dev-route-row{align-items:flex-start;gap:12px;display:flex}.dev-api-row{background:#ffffff06;border:1px solid #ffffff0a;border-radius:8px;align-items:flex-start;gap:12px;padding:9px 14px;display:flex}.dev-api-row-body{flex:1;min-width:0}.dev-api-auth{color:#fff3;flex-shrink:0;margin-top:1px;font-size:10px;font-weight:600}.dev-jumpnav{flex-wrap:wrap;gap:6px;margin-bottom:36px;display:flex}.dev-jumpnav a{color:#ffffff73;white-space:nowrap;border:1px solid #ffffff1a;border-radius:20px;align-items:center;padding:5px 12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.dev-jumpnav a:hover{border-color:var(--coral);color:var(--coral)}@media (max-width:768px){.dev-page{padding:72px 0 80px}.dev-inner{padding:0 16px}.dev-role-grid{grid-template-columns:1fr}.dev-two-col{grid-template-columns:1fr;gap:0}.dev-route-row{flex-wrap:wrap;gap:8px}.dev-api-row{flex-wrap:wrap;gap:6px}.dev-api-auth{order:3;width:100%}.dev-jumpnav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.dev-jumpnav::-webkit-scrollbar{display:none}}@media (max-width:900px) and (min-width:769px){.dev-role-grid{grid-template-columns:1fr 1fr}}
.hub-page{background:var(--ink);color:#fff;flex-direction:column;min-height:100dvh;font-family:DM Sans,sans-serif;display:flex;position:relative}.hub-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:24px 40px;display:flex}.hub-header-logo{opacity:.9;width:auto;height:26px;display:block}.hub-header-signout{color:#ffffff59;cursor:pointer;background:0 0;border:none;padding:6px 0;font-family:DM Sans,sans-serif;font-size:13px;transition:color .15s}.hub-header-signout:hover{color:#ffffffa6}.hub-body{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:64px 24px 100px;display:flex}.hub-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--slate);text-align:center;margin:0 0 14px;font-size:11px;font-weight:700}.hub-welcome{letter-spacing:-.03em;color:#fff;text-align:center;margin:0 0 52px;font-family:Urbanist,sans-serif;font-size:clamp(32px,4.5vw,48px);font-weight:900}.hub-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;width:100%;max-width:880px;display:grid}.hub-card{background:var(--ink-soft);border:1px solid #ffffff14;border-radius:20px;flex-direction:column;padding:32px 32px 28px;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .18s,box-shadow .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px #0009,0 12px 32px #00000059,inset 0 1px #ffffff0d}.hub-card:hover{transform:translateY(-5px);box-shadow:0 8px #0000008c,0 24px 56px #00000073,inset 0 1px #ffffff12}.hub-card-accent{border-radius:20px 20px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.hub-card--teacher .hub-card-accent{background:var(--sky)}.hub-card--founder .hub-card-accent{background:var(--orange)}.hub-card--invite .hub-card-accent{background:linear-gradient(90deg,var(--orange),var(--coral))}.hub-card--admin .hub-card-accent{background:var(--slate)}.hub-card--super-admin .hub-card-accent{background:var(--coral)}.hub-card-role{letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:700}.hub-card--teacher .hub-card-role{color:var(--sky)}.hub-card--founder .hub-card-role,.hub-card--invite .hub-card-role{color:var(--orange)}.hub-card--admin .hub-card-role{color:var(--slate)}.hub-card--super-admin .hub-card-role{color:var(--coral)}.hub-card-title{letter-spacing:.01em;color:#fff;margin:0 0 12px;font-family:Bebas Neue,sans-serif;font-size:40px;line-height:1.05}.hub-card-detail{color:#ffffff73;margin:0 0 4px;font-size:13px;line-height:1.5}.hub-card-status[data-status=approved]{color:#4ade80}.hub-card-status[data-status=pending]{color:var(--orange)}.hub-card-status[data-status=rejected]{color:var(--coral)}.hub-card--invite{background:#f7941d0a;border-style:dashed;border-color:#f7941d40}.hub-card--invite:hover{background:#f7941d12;border-color:#f7941d73}.hub-card--super-admin{background:#f15a290f;border-color:#f15a292e}.hub-card--super-admin:hover{border-color:#f15a2952}.hub-card-cta{margin-top:auto;padding-top:24px;font-size:13px;font-weight:700;transition:letter-spacing .15s}.hub-card--teacher .hub-card-cta{color:var(--sky)}.hub-card--founder .hub-card-cta{color:var(--orange)}.hub-card--admin .hub-card-cta{color:#ffffff73}.hub-card--super-admin .hub-card-cta{color:var(--coral)}.hub-card-cta--invite{color:var(--orange)}.hub-card:hover .hub-card-cta{letter-spacing:.02em}.hub-admin-quick{z-index:10;-webkit-backdrop-filter:none;background:0 0;border:none;flex-direction:column;gap:6px;height:auto;padding:0;display:flex;position:fixed;bottom:32px;left:40px}.hub-admin-quick-link{letter-spacing:.08em;text-transform:uppercase;color:#ffffff38;font-size:11px;font-weight:700;text-decoration:none;transition:color .15s}.hub-admin-quick-link:hover{color:#ffffff8c}.hub-admin-quick-link--super{color:#f15a2973}.hub-admin-quick-link--super:hover{color:var(--coral)}@media (max-width:600px){.hub-header{padding:20px}.hub-body{justify-content:flex-start;padding:48px 16px 80px}.hub-cards{grid-template-columns:1fr}.hub-card{padding:28px 24px 24px}.hub-admin-quick{bottom:16px;left:20px}}
.tf-shell{background:var(--ink);color:#fff;min-height:100dvh;font-family:var(--font-ui);display:flex}.tf-sidebar{background:var(--ink-soft);border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;width:260px;height:100dvh;padding:32px 0 28px;display:flex;position:sticky;top:0;overflow-y:auto}.tf-sidebar-logo{border-bottom:1px solid #ffffff0f;margin-bottom:28px;padding:0 24px 28px}.tf-sidebar-logo img{opacity:.88;width:auto;height:24px;display:block}.tf-teacher-identity{border-bottom:1px solid #ffffff0f;margin-bottom:20px;padding:0 24px 28px}.tf-teacher-avatar{border-radius:var(--gui-radius-lg,14px);background:linear-gradient(135deg,var(--coral)0%,var(--orange)100%);width:56px;height:56px;font-family:var(--font-display);color:#fff;letter-spacing:-.02em;justify-content:center;align-items:center;margin-bottom:14px;font-size:20px;font-weight:900;display:flex;box-shadow:0 4px 16px #f15a294d}.tf-teacher-name{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;margin:0 0 2px;font-size:17px;font-weight:900}.tf-teacher-school{font-family:var(--font-ui);color:#ffffff73;margin:0 0 12px;font-size:12px}.tf-status-badge{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--gui-radius-pill,999px);color:var(--orange);background:#f7941d1f;border:1px solid #f7941d40;align-items:center;gap:5px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.tf-status-badge:before{content:"●";font-size:7px}.tf-stats-row{border-bottom:1px solid #ffffff0f;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding:0 24px 24px;display:flex}.tf-stat-pill{border-radius:var(--gui-radius-sm,8px);background:#ffffff0d;flex-direction:column;flex:1;gap:1px;min-width:64px;padding:10px 14px;display:flex}.tf-stat-number{font-family:var(--font-display);color:#fff;font-size:22px;font-weight:900;line-height:1}.tf-stat-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:#ffffff59;font-size:10px;font-weight:700}.tf-nav{flex:1;margin:0;padding:8px 0;list-style:none}.tf-nav-item a{font-family:var(--font-ui);color:#ffffff73;border-left:2px solid #0000;align-items:center;gap:10px;padding:11px 24px;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s,background .15s;display:flex}.tf-nav-item a:hover{color:#fff;background:#ffffff0a}.tf-nav-item a.active{color:#fff;border-left-color:var(--coral);background:#ffffff0d}.tf-nav-icon{opacity:.75;font-size:14px}.tf-sidebar-cta{margin:16px 24px 0}.tf-new-story-btn{background:linear-gradient(135deg,var(--coral)0%,var(--orange)100%);color:#fff;border-radius:var(--gui-radius,12px);width:100%;font-family:var(--font-ui);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .15s,transform .12s;display:flex;box-shadow:0 4px 16px #f15a294d}.tf-new-story-btn:hover{opacity:.9;transform:translateY(-1px)}.tf-sidebar-footer{border-top:1px solid #ffffff0f;margin-top:8px;padding:20px 24px 0}.tf-signout{color:#ffffff47;font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:12px;transition:color .15s}.tf-signout:hover{color:#ffffff8c}.tf-main{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.tf-feed-header{width:100%;max-width:760px;margin:0 auto;padding:28px 40px 0}.tf-feed-eyebrow{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin:0 0 6px;font-size:10px;font-weight:700}.tf-feed-title{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;margin:0 0 24px;font-size:28px;font-weight:900}.tf-feed{flex-direction:column;gap:24px;width:100%;max-width:760px;margin:0 auto;padding:0 40px 80px;display:flex}.tf-post-card{background:var(--ink-soft);border-radius:var(--gui-radius-lg,16px);border:1px solid #ffffff12;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .15s;overflow:hidden;box-shadow:3px 6px #000000a6,0 12px 32px #00000061,inset 0 1px #ffffff0d}.tf-post-card:hover{border-color:#ffffff1f;transform:translateY(-2px);box-shadow:3px 10px #0009,0 20px 48px #00000073,inset 0 1px #ffffff0f}.tf-post-header{align-items:center;gap:12px;padding:20px 24px 16px;display:flex}.tf-post-school-badge{border-radius:var(--gui-radius,11px);background:linear-gradient(135deg,var(--coral)0%,var(--orange)100%);width:42px;height:42px;font-family:var(--font-display);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:900;display:flex;box-shadow:0 2px 10px #f15a294d}.tf-post-byline{flex:1;min-width:0}.tf-post-program{font-family:var(--font-ui);color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0 0 1px;font-size:14px;font-weight:700;overflow:hidden}.tf-post-teacher-meta{font-family:var(--font-ui);color:#fff6;margin:0;font-size:12px}.tf-post-date{font-family:var(--font-ui);color:#ffffff47;white-space:nowrap;flex-shrink:0;font-size:11px}.tf-post-media{width:100%;position:relative;overflow:hidden}.tf-post-media img{object-fit:cover;width:100%;height:280px;transition:transform .4s cubic-bezier(.22,1,.36,1);display:block}.tf-post-card:hover .tf-post-media img{transform:scale(1.02)}.tf-post-media-caption{pointer-events:none;background:linear-gradient(#0000 0%,#0d0f0db3 100%);padding:24px 24px 10px;position:absolute;bottom:0;left:0;right:0}.tf-post-content{padding:22px 24px 16px}.tf-post-title{font-family:var(--font-display);color:#fff;letter-spacing:-.015em;margin:0 0 10px;font-size:22px;font-weight:900;line-height:1.2}.tf-post-body{font-family:var(--font-ui);color:#ffffffa6;margin:0;font-size:14px;line-height:1.72}.tf-post-tags{flex-wrap:wrap;gap:6px;padding:12px 24px 0;display:flex}.tf-tag{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.07em;border-radius:var(--gui-radius-pill,999px);color:var(--coral);background:#f15a291a;border:1px solid #f15a2933;padding:4px 10px;font-size:10px;font-weight:700}.tf-post-footer{border-top:1px solid #ffffff12;align-items:center;gap:8px;margin-top:12px;padding:14px 20px;display:flex}.tf-btn-action{border-radius:var(--gui-radius-pill,999px);font-family:var(--font-ui);color:#ffffff73;cursor:pointer;background:0 0;border:1px solid #ffffff1a;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;transition:all .15s;display:flex}.tf-btn-action:hover{color:var(--orange);background:#f7941d0f;border-color:#f7941d66}.tf-btn-action.active{color:var(--orange);background:#f7941d1a;border-color:#f7941d80}.tf-btn-action-icon{font-size:14px;line-height:1}.tf-post-footer-spacer{flex:1}.tf-btn-more{color:#fff3;cursor:pointer;border-radius:var(--gui-radius-sm,6px);background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1;transition:color .15s,background .15s}.tf-btn-more:hover{color:#ffffff80;background:#ffffff0d}.tf-post-card--text .tf-post-content{padding-top:4px}.tf-post-quote{border-left:3px solid var(--coral);margin:16px 0 0;padding-left:18px}.tf-post-quote-text{font-family:var(--font-display);color:#ffffffd9;letter-spacing:-.01em;margin:0;font-size:20px;font-style:italic;font-weight:700;line-height:1.45}.tf-preview-frame{background:var(--ink);min-height:100dvh}.tf-preview-breadcrumb{background:var(--ink-soft);font-family:var(--font-ui);color:#ffffff80;border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:16px 32px;font-size:13px;display:flex}.tf-preview-breadcrumb a{color:#fff6;text-decoration:none;transition:color .15s}.tf-preview-breadcrumb a:hover{color:#fff}.tf-preview-sep{color:#fff3}.tf-preview-current{color:var(--coral)}@media (max-width:800px){.tf-sidebar{display:none}.tf-feed{padding:0 16px 64px}.tf-feed-header{padding:24px 16px 0}.tf-post-media img{height:200px}}@keyframes tf-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes tf-heart-pulse{0%{transform:scale(1)}30%{transform:scale(1.45)}60%{transform:scale(.9)}to{transform:scale(1)}}@keyframes tf-avatar-in{0%{opacity:0;transform:scale(.6)translate(-6px)}to{opacity:1;transform:scale(1)translate(0)}}@keyframes tf-arc-fill{0%{width:0}to{width:var(--fill-w)}}@keyframes tf-count-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tf-post-card{animation:.38s cubic-bezier(.22,1,.36,1) both tf-fade-up}.tf-post-card:first-child{animation-delay:50ms}.tf-post-card:nth-child(2){animation-delay:.1s}.tf-post-card:nth-child(3){animation-delay:.15s}.tf-post-card:nth-child(4){animation-delay:.2s}.tf-post-card:nth-child(5){animation-delay:.25s}.tf-post-card:nth-child(n+6){animation-delay:.3s}.tf-phase-badge{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--gui-radius-pill,999px);color:var(--orange);background:#f7941d1a;border:1px solid #f7941d33;align-items:center;gap:4px;margin-left:auto;padding:3px 9px;font-size:10px;font-weight:700;display:inline-flex}.tf-post-meta-row{align-items:center;gap:8px;padding:0 24px 10px;display:flex}.tf-read-time{font-family:var(--font-ui);color:#ffffff47;font-size:11px}.tf-btn-action.encouraging .tf-btn-action-icon{animation:.42s cubic-bezier(.22,1,.36,1) tf-heart-pulse}.tf-btn-action.encouraged{color:var(--pink);background:#e8196a14;border-color:#e8196a73}.tf-btn-action.encouraged:hover{color:var(--pink);background:#e8196a1f;border-color:#e8196a99}.tf-post-follower-strip{align-items:center;gap:6px;padding:2px 24px 14px;display:flex}.tf-post-follower-avatars{align-items:center;display:flex}.tf-post-follower-dot{border:2px solid var(--ink-soft);width:22px;height:22px;font-family:var(--font-display);color:var(--ink);cursor:default;border-radius:50%;justify-content:center;align-items:center;margin-left:-6px;font-size:8px;font-weight:900;transition:transform .15s;display:flex;position:relative}.tf-post-follower-dot:first-child{margin-left:0}.tf-post-follower-dot:hover{z-index:5;transform:scale(1.2)translateY(-2px)}.tf-post-follower-label{font-family:var(--font-ui);color:#ffffff4d;margin-left:4px;font-size:11px}.tf-bloom-arc{border-bottom:1px solid #ffffff0f;margin-bottom:8px;padding:0 24px 24px}.tf-arc-heading{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin:0 0 12px;font-size:10px;font-weight:700}.tf-arc-list{flex-direction:column;gap:3px;display:flex}.tf-arc-phase-row{border-radius:var(--gui-radius-sm,8px);align-items:center;gap:8px;padding:7px 10px;transition:background .15s;display:flex}.tf-arc-phase-row.done{opacity:.45}.tf-arc-phase-row.current{background:#f7941d1a;border:1px solid #f7941d33}.tf-arc-phase-row.upcoming{opacity:.3}.tf-arc-phase-icon{text-align:center;flex-shrink:0;width:18px;font-size:13px;line-height:1}.tf-arc-phase-name{font-family:var(--font-ui);color:#fff;white-space:nowrap;flex:1;font-size:12px;font-weight:600}.tf-arc-phase-row.current .tf-arc-phase-name{color:var(--orange)}.tf-arc-check{color:#f7941d99;font-size:11px}.tf-arc-dot{background:var(--orange);border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:.6s both tf-count-in;box-shadow:0 0 6px #f7941d99}.tf-arc-progress{flex-direction:column;gap:5px;margin-top:12px;display:flex}.tf-arc-progress-label{font-family:var(--font-ui);color:#ffffff4d;justify-content:space-between;font-size:10px;display:flex}.tf-arc-track{border-radius:var(--gui-radius-pill,999px);background:#ffffff12;height:4px;overflow:hidden}.tf-arc-fill{background:linear-gradient(90deg,var(--coral)0%,var(--orange)100%);border-radius:var(--gui-radius-pill,999px);width:0;height:100%;transition:width 1.2s cubic-bezier(.22,1,.36,1)}.tf-arc-fill.ready{width:58%}.tf-followers-section{border-bottom:1px solid #ffffff0f;margin-bottom:8px;padding:20px 24px}.tf-followers-eyebrow{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin:0 0 4px;font-size:10px;font-weight:700}.tf-followers-subhead{font-family:var(--font-ui);color:#fff6;margin:0 0 14px;font-size:12px;line-height:1.4}.tf-follower-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.tf-follower-chip{border-radius:var(--gui-radius-pill,999px);cursor:default;background:#ffffff0d;border:1px solid #ffffff14;align-items:center;gap:5px;padding:4px 10px 4px 6px;transition:all .15s;animation:.35s cubic-bezier(.22,1,.36,1) both tf-avatar-in;display:flex}.tf-follower-chip:hover{background:#ffffff17;border-color:#ffffff29;transform:translateY(-1px)}.tf-follower-chip:first-child{animation-delay:.1s}.tf-follower-chip:nth-child(2){animation-delay:.18s}.tf-follower-chip:nth-child(3){animation-delay:.26s}.tf-follower-chip:nth-child(4){animation-delay:.34s}.tf-follower-chip:nth-child(5){animation-delay:.42s}.tf-follower-chip:nth-child(6){animation-delay:.5s}.tf-follower-chip-dot{width:20px;height:20px;font-family:var(--font-display);color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:8px;font-weight:900;display:flex}.tf-follower-chip-num{font-family:var(--font-display);color:#ffffffa6;font-size:12px;font-weight:700}.tf-followers-more{font-family:var(--font-ui);color:#ffffff4d;font-size:11px;font-style:italic}.tf-impact-bridge{border-radius:var(--gui-radius-lg,16px);background:linear-gradient(135deg,#f7941d12 0%,#f15a290d 100%);border:1px solid #f7941d33;flex-direction:column;gap:14px;padding:24px 28px;display:flex}.tf-impact-bridge-eyebrow{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin:0;font-size:10px;font-weight:700}.tf-impact-bridge-title{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;margin:0;font-size:18px;font-weight:900}.tf-impact-bridge-stats{flex-wrap:wrap;gap:20px;display:flex}.tf-impact-bridge-stat{flex-direction:column;gap:2px;display:flex}.tf-impact-bridge-stat-value{font-family:var(--font-display);color:var(--orange);font-size:26px;font-weight:900;line-height:1}.tf-impact-bridge-stat-label{font-family:var(--font-ui);color:#fff6;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.tf-impact-bridge-link{font-family:var(--font-ui);color:var(--orange);align-items:center;gap:5px;font-size:13px;font-weight:700;text-decoration:none;transition:gap .15s;display:inline-flex}.tf-impact-bridge-link:hover{gap:9px}.tf-sidebar-photo{flex-shrink:0;width:100%;overflow:hidden}.tf-sidebar-photo img{object-fit:cover;opacity:.55;width:100%;height:140px;transition:opacity .2s;display:block}.tf-sidebar-photo img:hover{opacity:.75}.tf-post-header-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;margin-left:auto;display:flex}.tf-post-header-right .tf-phase-badge{margin-left:0}
.teacher-shell{min-height:100vh;display:flex}.teacher-sidebar{background:var(--gui-sidebar-bg);border-right:1px solid var(--gui-accent-border);flex-direction:column;flex-shrink:0;width:240px;height:100vh;padding:28px 0 20px;display:flex;position:sticky;top:0;overflow-y:auto}.teacher-sidebar-logo{border-bottom:1px solid var(--gui-accent-border);align-items:center;margin-bottom:14px;padding:0 20px 22px;display:flex}.teacher-sidebar-logo-img{object-fit:contain;opacity:.92;width:148px;height:auto}.teacher-sidebar-role{letter-spacing:.14em;text-transform:uppercase;color:var(--gui-accent-warm);opacity:.65;padding:0 24px 16px;font-size:10px;font-weight:800}.teacher-nav{padding:0 10px;list-style:none}.teacher-nav-item a{cursor:pointer;color:#ffffff80;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s,background .15s;display:flex}.teacher-nav-item a:hover{color:#fff;background:#ffffff0f}.teacher-nav-item a.active{color:var(--gui-accent-2);background:var(--gui-nav-active-bg)}.teacher-nav-item a .nav-glyph{text-align:center;opacity:.75;width:14px;font-size:13px}.teacher-sidebar-footer{margin-top:auto;padding:16px 20px 0}.teacher-sidebar-signout{cursor:pointer;color:var(--gui-fg-faint);background:0 0;border:none;margin-top:12px;font-size:12px;font-weight:600;display:block}.teacher-theme-label{letter-spacing:.12em;text-transform:uppercase;color:var(--gui-fg-faint);margin:0 0 8px;font-size:9px;font-weight:800}.teacher-theme-switcher{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.teacher-theme-pill{letter-spacing:.03em;background:var(--gui-accent-softer);border:1px solid var(--gui-accent-border);color:var(--gui-fg-dim);border-radius:100px;padding:5px 10px;font-size:11px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}.teacher-theme-pill:hover{background:var(--gui-accent-soft);border-color:var(--gui-accent-border-strong);color:var(--gui-fg)}.teacher-main{background:var(--gui-bg);min-width:0;color:var(--gui-fg);flex:1}.teacher-page--dashboard{max-width:none;padding:0}.teacher-dashboard-layout{grid-template-columns:1fr 300px;align-items:start;gap:40px;padding:40px 40px 80px;display:grid}.teacher-dashboard-main{min-width:0}.teacher-dashboard-action{position:sticky;top:32px}.teacher-page{max-width:920px;padding:40px 40px 80px}.teacher-hero{margin-bottom:28px}.teacher-hero-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gui-fg-faint);align-items:center;gap:10px;margin:0 0 12px;font-size:11px;font-weight:700;display:flex}.teacher-hero-eyebrow-sep{opacity:.4}.teacher-hero-live-pip{background:var(--gui-success);width:6px;height:6px;box-shadow:0 0 8px var(--gui-success);border-radius:50%;flex-shrink:0}.teacher-hero-live-word{color:var(--gui-success)}.teacher-hero-name{letter-spacing:.005em;font-size:clamp(36px,4.6vw,58px);line-height:.92;font-family:var(--gui-font-display);font-weight:var(--gui-display-weight);letter-spacing:var(--gui-display-tracking);text-transform:var(--gui-display-transform);background:var(--grad-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 10px}.teacher-hero-sub{color:var(--gui-fg-muted);font-size:14px;line-height:1.5}.teacher-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:32px;display:grid}.teacher-stat-card,.teacher-activity-stat{background:linear-gradient(145deg,#ffffff1c 0%,var(--gui-accent-soft)100%);border:1px solid var(--gui-accent-border);padding:var(--gui-pad-stat);border-radius:12px;transition:all .2s}.teacher-action-card{background:linear-gradient(145deg,#ffffff14 0%,var(--gui-accent-soft)100%);border:1px solid var(--gui-accent-border);padding:var(--gui-pad-card);border-radius:16px;transition:all .2s}.teacher-stat-card:hover{border-color:var(--gui-accent-border-strong);box-shadow:0 6px 28px var(--gui-accent-glow);transform:translateY(-2px)}.teacher-stat-number,.teacher-activity-stat-number{font-size:40px;line-height:1;font-family:var(--gui-font-numeric);font-weight:var(--gui-display-weight);letter-spacing:var(--gui-display-tracking);color:var(--gui-fg);-webkit-text-fill-color:var(--gui-fg);background:0 0;background-clip:unset;-webkit-background-clip:unset}.teacher-stat-label,.drops-stat-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffffa6;white-space:normal;margin:4px 0 0;font-size:10px;font-weight:800;line-height:1.2}.teacher-side-a{align-items:center;gap:14px;margin:28px 0 18px;display:flex}.teacher-side-a-label{letter-spacing:.04em;color:var(--gui-accent);font-size:22px;font-family:var(--gui-font-display);font-weight:var(--gui-display-weight);flex-shrink:0}.teacher-side-a-sub{letter-spacing:.11em;text-transform:uppercase;color:var(--gui-fg-ghost);flex-shrink:0;font-size:11px}.teacher-side-a-rule{background:var(--gui-accent-border);flex:1;height:1px}.activity-feed{margin-bottom:20px}.activity-feed-controls{align-items:center;gap:10px;margin-bottom:16px;display:flex}.activity-feed-search{background:var(--gui-surface);border:1px solid var(--gui-surface-border);color:var(--gui-fg);border-radius:8px;outline:none;flex:1;padding:9px 14px;font-family:inherit;font-size:14px}.activity-feed-search::placeholder{color:var(--gui-fg-faint)}.activity-feed-sort{cursor:pointer;background:var(--gui-surface);border:1px solid var(--gui-surface-border);color:var(--gui-fg-muted);border-radius:8px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600}.activity-group{margin-bottom:8px}.activity-group-header{align-items:center;gap:12px;margin-bottom:4px;display:flex}.activity-group-date{letter-spacing:.16em;white-space:nowrap;color:var(--gui-accent-date-1);opacity:.85;font-size:13px;font-family:var(--gui-font-display);font-weight:var(--gui-display-weight);flex-shrink:0}.activity-group-line{background:var(--gui-accent-date-rule-border);flex:1;height:1px}.activity-item{cursor:pointer;background:linear-gradient(145deg,#ffffff1a 0%,var(--gui-accent-soft)100%);border:1px solid var(--gui-accent-border);padding:var(--gui-pad-item);border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:8px;text-decoration:none;transition:all .18s;display:flex;position:relative}.activity-item:hover{background:var(--gui-accent-soft);border-color:var(--gui-accent-border-strong)}.activity-item-thumb-wrap{background:#ffffff0f;border-radius:6px;flex-shrink:0;width:56px;height:56px;overflow:hidden}.activity-item-thumb{object-fit:cover;width:100%;height:100%}.activity-item-info{flex:1;min-width:0;padding-top:2px}.activity-item-title{color:var(--gui-fg-dim);margin:0 0 3px;font-size:15px;font-weight:700;line-height:1.25}.activity-item-excerpt{-webkit-line-clamp:2;color:var(--gui-fg-muted);-webkit-box-orient:vertical;margin:0 0 4px;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.activity-item-meta{letter-spacing:.04em;color:var(--gui-fg-faint);margin:0;font-size:11px}.activity-item-arrow{color:var(--gui-fg-faint);flex-shrink:0;align-self:center;font-size:18px;line-height:1;transition:transform .18s,color .18s}.activity-item:hover .activity-item-arrow{color:var(--gui-accent-2);transform:translate(3px)}.activity-item-reveal{opacity:0;max-height:0;margin-top:0;transition:max-height .22s,opacity .22s,margin .22s;overflow:hidden}.activity-item:hover .activity-item-reveal{opacity:1;max-height:80px;margin-top:10px}.activity-item-reveal-chips{flex-wrap:wrap;gap:6px;display:flex}.activity-item-reveal-chip{letter-spacing:.06em;text-transform:uppercase;background:var(--gui-accent-soft);color:var(--gui-accent-warm);border:1px solid var(--gui-accent-border);border-radius:100px;padding:3px 9px;font-size:10px;font-weight:700}.activity-item-reveal-meta{color:var(--gui-fg-faint);gap:14px;margin-top:6px;font-size:11px;display:flex}.activity-item:focus-visible,.drop-item:focus-visible{outline:2px solid var(--gui-accent-2);outline-offset:2px}.teacher-shell .sheet-panel{background:var(--gui-bg-elev)}.teacher-view-all-link{cursor:pointer;color:var(--gui-accent-warm);align-items:center;gap:6px;margin-top:16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.teacher-view-all-link:hover{color:var(--gui-accent-2)}.teacher-action-card{margin-bottom:14px}.teacher-action-card:last-child{margin-bottom:0}.teacher-cta-card{text-align:center}.teacher-cta-plus{color:var(--gui-accent);opacity:.6;margin:0 0 10px;font-size:22px;line-height:1}.teacher-cta-heading{color:var(--gui-fg);font-size:20px;font-family:var(--gui-font-display);font-weight:var(--gui-display-weight);letter-spacing:var(--gui-display-tracking);text-transform:var(--gui-display-transform);margin:0 0 6px}.teacher-cta-sub{color:var(--gui-fg-muted);margin:0 0 18px;font-size:13px;line-height:1.5}.teacher-cta-btn,.teacher-profile-save-btn{letter-spacing:.06em;text-transform:uppercase;text-align:center;cursor:pointer;background:var(--grad-cta);box-shadow:0 2px 14px var(--gui-accent-btn-glow);color:#fff;border:none;border-radius:10px;padding:13px 20px;font-size:13px;font-weight:700;text-decoration:none;transition:box-shadow .2s,transform .15s;display:block}.teacher-cta-btn:hover{box-shadow:0 4px 22px var(--gui-accent-btn-glow);transform:translateY(-1px)}.teacher-pending-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--gui-fg-faint);align-items:center;gap:8px;margin:0 0 14px;font-size:11px;font-weight:800;display:flex}.teacher-pending-count{background:var(--gui-accent-soft);color:var(--gui-accent-warm);border-radius:100px;padding:2px 8px;font-size:11px;font-weight:800}.teacher-pending-item{border-bottom:1px solid var(--gui-surface-border);padding:11px 0}.teacher-pending-item:last-child{border-bottom:none;padding-bottom:0}.teacher-pending-item-title{color:var(--gui-fg-dim);margin:0 0 4px;font-size:13px;font-weight:600;line-height:1.35}.teacher-pending-item-meta{color:var(--gui-fg-faint);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.teacher-pending-badge{letter-spacing:.06em;text-transform:uppercase;background:var(--gui-surface);color:var(--gui-fg-muted);border:1px solid var(--gui-surface-border);border-radius:100px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.teacher-quick-links-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--gui-fg-ghost);margin:0 0 12px;font-size:11px;font-weight:800}.teacher-quick-link{cursor:pointer;color:var(--gui-fg-muted);border-bottom:1px solid var(--gui-surface-border);padding:10px 0;font-size:14px;text-decoration:none;transition:color .15s;display:block}.teacher-quick-link:hover{color:var(--gui-accent-warm)}.teacher-quick-link:last-child{border-bottom:none;padding-bottom:0}.portal-page-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gui-accent-warm);opacity:.85;margin:0 0 8px;font-size:11px;font-weight:700}.portal-page-title{font-size:clamp(36px,4.4vw,52px);font-family:var(--gui-font-display);font-weight:var(--gui-display-weight);letter-spacing:var(--gui-display-tracking);text-transform:var(--gui-display-transform);background:linear-gradient(135deg,var(--gui-fg),var(--gui-fg-dim));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0}.drops-header-row{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.drops-view-toggle{background:var(--gui-accent-soft);border:1px solid var(--gui-accent-border);border-radius:10px;gap:4px;padding:4px;display:flex}.drops-view-btn{cursor:pointer;color:var(--gui-fg-muted);background:0 0;border:none;border-radius:7px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600}.drops-view-btn.active{background:color-mix(in srgb,var(--gui-accent)14%,transparent);color:var(--gui-accent-stats-warm);box-shadow:inset 0 0 0 1px var(--gui-accent-border-strong)}.drops-stats-strip{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px;display:grid}.drops-stat-card{text-align:left;cursor:pointer;background:linear-gradient(145deg,#ffffff0d 0%,var(--gui-surface)100%);border:1px solid var(--gui-surface-border);color:var(--gui-fg);border-radius:12px;padding:14px 14px 12px;text-decoration:none;transition:all .15s}.drops-stat-card.active{background:linear-gradient(145deg,#ffffff1c 0%,var(--gui-accent-soft)100%);border-color:var(--gui-accent-border-strong)}.drops-stat-number{color:var(--gui-fg-dim);font-size:32px;line-height:1;font-family:var(--gui-font-numeric);font-weight:var(--gui-display-weight);margin:0 0 6px}.drops-stat-card.active .drops-stat-number{background:var(--grad-stats);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.drops-stat-card.active .drops-stat-label{color:var(--gui-accent-stats-2)}.drop-new-actions{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px;display:grid}.drop-new-card{cursor:pointer;background:linear-gradient(135deg,var(--gui-accent-newdrop-soft),var(--gui-surface));border:1px solid var(--gui-accent-newdrop-border-border);border-radius:14px;flex-direction:column;gap:3px;padding:18px 20px;text-decoration:none;transition:all .2s;display:flex}.drop-new-card:hover{border-color:var(--gui-accent-newdrop-border-border-strong);box-shadow:0 8px 36px var(--gui-accent-newdrop-border-glow);transform:translateY(-2px)}.drop-new-card-icon{color:var(--gui-accent-newdrop-2);text-shadow:0 0 20px var(--gui-accent-newdrop-glow);margin-bottom:6px;font-size:18px}.drop-new-card-label{color:var(--gui-fg);font-size:14px;font-weight:700}.drop-new-card-sub{color:var(--gui-fg-muted);font-size:12px}.drop-list-header{align-items:center;gap:12px;margin-bottom:6px;display:flex}.drop-list-header-label{letter-spacing:.16em;font-size:14px}.drop-list-header-rule{flex:1;height:1px}.drop-list{flex-direction:column;display:flex}.drop-item{cursor:pointer;border:1px solid #0000;border-bottom:1px solid var(--gui-surface-border);padding:var(--gui-pad-item);padding-left:calc(var(--gui-pad-item-x) + 8px);background:0 0;border-radius:0;align-items:center;gap:14px;text-decoration:none;transition:all .15s;display:flex;position:relative}.drop-item:hover{background:var(--gui-accent-softer);border-color:color-mix(in srgb,var(--gui-accent)20%,transparent);border-radius:12px}.drop-item:before{content:"";background:0 0;border-radius:3px;width:3px;position:absolute;top:12px;bottom:12px;left:0}.drop-item.status-published:before{background:var(--grad-accent-v)}.drop-item.status-pending:before{background:var(--gui-fg-ghost)}.drop-item.status-archived:before{background:var(--gui-surface-border)}.drop-item-thumb-wrap{border-radius:6px;flex-shrink:0;width:56px;height:56px;overflow:hidden}.drop-item-thumb{object-fit:cover;width:100%;height:100%}.drop-item-info{flex:1;min-width:0}.drop-item-title{white-space:nowrap;text-overflow:ellipsis;color:var(--gui-fg-dim);margin:0 0 2px;font-size:14px;font-weight:700;overflow:hidden}.drop-item-excerpt{white-space:nowrap;text-overflow:ellipsis;color:var(--gui-fg-muted);margin:0 0 3px;font-size:12px;overflow:hidden}.drop-item-meta{letter-spacing:.04em;color:var(--gui-fg-faint);margin:0;font-size:11px}.drop-item-date{color:var(--gui-accent-date-warm);letter-spacing:.06em;font-weight:600}.drop-item-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.drop-edit-link{cursor:pointer;color:var(--gui-fg-faint);font-size:12px;font-weight:600;text-decoration:none}.drop-edit-link:hover{color:var(--gui-accent-warm)}.drop-status-badge{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:100px;padding:3px 10px;font-size:10px;font-weight:700}.drop-status-badge.approved,.drop-status-badge.published{background:var(--gui-accent-soft);color:var(--gui-accent-stats-warm);border:1px solid var(--gui-accent-border)}.drop-status-badge.pending{background:var(--gui-surface);color:var(--gui-fg-muted);border:1px solid var(--gui-surface-border)}.drop-status-badge.archived{color:var(--gui-fg-faint);border:1px dashed var(--gui-surface-border);background:0 0}.drop-detail-page{max-width:1080px}.drop-detail-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.drop-detail-back{letter-spacing:.06em;cursor:pointer;color:var(--gui-fg-muted);align-items:center;gap:8px;padding:6px 0;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.drop-detail-back:hover{color:var(--gui-accent-warm)}.drop-detail-back-arrow{color:var(--gui-accent-warm);font-size:16px;line-height:1}.drop-detail-topbar-actions{align-items:center;gap:8px;display:flex}.drop-detail-action,.drop-detail-action-primary{cursor:pointer;letter-spacing:.02em;border-radius:100px;padding:7px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s}.drop-detail-action{color:var(--gui-fg-muted);border:1px solid var(--gui-surface-border);background:var(--gui-surface)}.drop-detail-action:hover{color:var(--gui-accent-warm);border-color:var(--gui-accent-border)}.drop-detail-action-primary{background:var(--gui-accent);color:#fff;border:1px solid var(--gui-accent)}.drop-detail-action-primary:hover{filter:brightness(1.08)}.drop-detail-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;display:flex}.drop-detail-meta-date{color:var(--gui-accent-date-warm);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.drop-detail-meta-sep{color:var(--gui-fg-ghost)}.drop-detail-meta-tags{color:var(--gui-fg-muted);letter-spacing:.04em}.drop-detail-meta-stat{color:var(--gui-fg-muted)}.drop-detail-title{letter-spacing:-.01em;text-wrap:pretty;max-width:22ch;color:var(--gui-fg);font-size:clamp(36px,4.4vw,56px);line-height:1.02;font-family:var(--gui-font-display);margin:0 0 28px}.drop-detail-media-player{margin-bottom:20px}.drop-detail-video-embed{aspect-ratio:16/9;background:#000;border:0;border-radius:12px;width:100%;display:block}.drop-detail-video{background:#000;border-radius:12px;width:100%;max-height:480px;display:block}.drop-detail-audio{width:100%}.drop-detail-gallery{border-radius:14px;gap:6px;margin-bottom:32px;display:grid;overflow:hidden}.drop-detail-gallery.gallery-1{grid-template-columns:1fr}.drop-detail-gallery.gallery-1 .drop-detail-photo{aspect-ratio:21/9}.drop-detail-gallery.gallery-2{grid-template-columns:1.3fr 1fr}.drop-detail-gallery.gallery-2 .drop-detail-photo{aspect-ratio:4/3}.drop-detail-gallery.gallery-3{grid-template-rows:1fr 1fr;grid-template-columns:1.6fr 1fr}.drop-detail-gallery.gallery-3 .drop-detail-photo.hero{aspect-ratio:auto;grid-row:1/3}.drop-detail-gallery.gallery-3 .drop-detail-photo:not(.hero){aspect-ratio:4/3}.drop-detail-gallery.gallery-4{grid-template-rows:1fr 1fr;grid-template-columns:1.6fr 1fr 1fr}.drop-detail-gallery.gallery-4 .drop-detail-photo.hero{aspect-ratio:auto;grid-area:1/1/3}.drop-detail-gallery.gallery-4 .drop-detail-photo:not(.hero){aspect-ratio:4/3}.drop-detail-gallery.gallery-4.gallery-many .drop-detail-photo:nth-child(4){grid-column:3}.drop-detail-photo{cursor:pointer;background:var(--gui-surface);border:1px solid var(--gui-surface-border);border-radius:10px;transition:transform .3s;position:relative;overflow:hidden}.drop-detail-photo:hover{transform:scale(1.015)}.drop-detail-photo img{object-fit:cover;width:100%;height:100%;display:block}.drop-detail-photo.has-overlay:after{content:"";background:#00000073;position:absolute;inset:0}.drop-detail-photo-more{z-index:2;color:var(--gui-fg);background:color-mix(in srgb,var(--gui-bg)87%,transparent);justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex;position:absolute;inset:0}.drop-detail-body{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:48px;display:grid}@media (max-width:900px){.drop-detail-body{grid-template-columns:1fr;gap:28px}}.drop-detail-story{min-width:0}.drop-detail-paragraph{text-wrap:pretty;letter-spacing:-.005em;color:var(--gui-fg-dim);margin:0 0 18px;font-size:17px;line-height:1.65}.drop-detail-paragraph:first-child:first-letter{font-family:var(--gui-font-display);float:left;padding:6px 10px 0 0;font-size:3.4em;font-weight:700;line-height:.9}.drop-detail-tagline{letter-spacing:.01em;color:var(--gui-accent-warm);border-left:2px solid var(--gui-accent);align-items:flex-start;gap:10px;margin-top:28px;padding:14px 0 14px 18px;font-size:13px;font-style:italic;line-height:1.5;display:flex}.drop-detail-tagline-mark{color:var(--gui-accent);flex-shrink:0;margin-top:-2px;font-size:22px;font-style:normal;line-height:.8}.drop-detail-side{flex-direction:column;gap:14px;display:flex}.drop-detail-side-block{background:var(--gui-surface);border:1px solid var(--gui-surface-border);border-radius:12px;padding:18px 18px 16px}.drop-detail-side-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--gui-accent-date-warm);margin:0 0 12px;font-size:10px;font-weight:700}.drop-detail-encouragements{margin:0;padding:0;list-style:none}.drop-detail-encouragement{border-bottom:1px solid var(--gui-surface-border);padding:10px 0}.drop-detail-encouragement:first-child{padding-top:0}.drop-detail-encouragement:last-child{border-bottom:0}.drop-detail-encouragement-text{color:var(--gui-fg-dim);margin:0 0 4px;font-size:13px;line-height:1.45}.drop-detail-encouragement-from{letter-spacing:.02em;color:var(--gui-fg-faint);margin:0;font-size:11px}.drop-detail-side-text{color:var(--gui-fg-muted);margin:0;font-size:13px;line-height:1.5}.drop-detail-side-text strong{color:var(--gui-accent-warm);font-weight:700}.drop-detail-side-empty{color:var(--gui-fg-faint);margin:0;font-size:12px;font-style:italic;line-height:1.5}.drop-detail-lightbox{z-index:200;-webkit-backdrop-filter:blur(12px);background:color-mix(in srgb,var(--gui-bg)95%,transparent);justify-content:center;align-items:center;padding:40px;animation:.2s dd-fade-in;display:flex;position:fixed;inset:0}.drop-detail-lightbox img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 24px 80px #0009}.drop-detail-lightbox-close{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:100px;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex;position:absolute;top:20px;right:24px}.drop-detail-lightbox-close:hover{background:#fff3}@keyframes dd-fade-in{0%{opacity:0}to{opacity:1}}@media (max-width:1060px){.teacher-dashboard-layout{grid-template-columns:1fr;padding:32px 28px 60px}.teacher-dashboard-action{position:static}}@media (max-width:700px){.teacher-shell{flex-direction:column}.teacher-sidebar{flex-flow:wrap;width:100%;height:auto;padding:16px 20px;position:static}.teacher-sidebar-role{display:none}.teacher-nav{flex-direction:row;gap:4px;padding:0;display:flex}.teacher-sidebar-footer{display:none}.teacher-dashboard-layout{gap:24px;padding:24px 16px 48px}.teacher-stats-grid{grid-template-columns:repeat(2,1fr)}.teacher-stat-number,.teacher-activity-stat-number{font-size:28px}.teacher-page{padding:24px 16px 48px}}.teacher-portrait-section{align-items:center;gap:20px;margin-bottom:28px;display:flex}.teacher-portrait-trigger{cursor:pointer;border:2px solid var(--gui-border,#ffffff1f);background:var(--gui-card,#1a1a2e);border-radius:50%;flex-shrink:0;width:88px;height:88px;padding:0;transition:border-color .2s;position:relative;overflow:hidden}.teacher-portrait-trigger:hover{border-color:var(--gui-accent,#8b5cf6)}.teacher-portrait-trigger.uploading{cursor:wait}.teacher-portrait-img{object-fit:cover;width:100%;height:100%;display:block}.teacher-portrait-initials{width:100%;height:100%;color:var(--gui-accent,#8b5cf6);background:var(--gui-card-raised,#23234a);justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.teacher-portrait-overlay{opacity:0;background:#00000094;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:opacity .18s;display:flex;position:absolute;inset:0}.teacher-portrait-trigger:hover .teacher-portrait-overlay,.teacher-portrait-trigger.uploading .teacher-portrait-overlay{opacity:1}.teacher-portrait-overlay-icon{color:#fff;font-size:18px;line-height:1}.teacher-portrait-overlay-label{letter-spacing:.06em;text-transform:uppercase;color:#fff;font-size:10px;font-weight:600}.teacher-portrait-meta{flex-direction:column;gap:4px;display:flex}.teacher-portrait-name{font-size:15px;font-weight:600}.teacher-portrait-hint{opacity:.5;font-size:12px}.teacher-portrait-file-input{display:none}.imgcrop-overlay{z-index:9000;-webkit-backdrop-filter:blur(6px);background:#000000d1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.imgcrop-modal{background:#13111a;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:100%;max-width:380px;display:flex;overflow:hidden;box-shadow:0 24px 64px #000000b3}.imgcrop-topbar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.imgcrop-title{color:#fff;letter-spacing:.02em;font-size:14px;font-weight:600}.imgcrop-cancel-btn{cursor:pointer;color:#ffffff80;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px;transition:color .15s}.imgcrop-cancel-btn:hover{color:#fff}.imgcrop-confirm-btn{cursor:pointer;color:#fff;letter-spacing:.03em;background:linear-gradient(135deg,#8b5cf6,#5b21b6);border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;transition:opacity .15s,transform .15s}.imgcrop-confirm-btn:hover{opacity:.9}.imgcrop-confirm-btn:active{transform:scale(.97)}.imgcrop-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.imgcrop-scene{background:#000;justify-content:center;align-items:center;min-height:330px;padding:24px 0;display:flex;position:relative}.imgcrop-window{touch-action:none;cursor:grab;flex-shrink:0;position:relative;overflow:hidden}.imgcrop-window:active{cursor:grabbing}.imgcrop-window.circle{border-radius:50%;box-shadow:0 0 0 9999px #0000009e}.imgcrop-window:not(.circle){border-radius:10px;box-shadow:0 0 0 9999px #0000009e}.imgcrop-img{pointer-events:none;-webkit-user-drag:none;display:block}.imgcrop-window.circle:after{content:"";pointer-events:none;z-index:2;border:2px solid #ffffff59;border-radius:50%;position:absolute;inset:0}.imgcrop-controls{background:#13111a;border-top:1px solid #ffffff12;flex-direction:column;gap:8px;padding:16px 20px 20px;display:flex}.imgcrop-zoom-row{align-items:center;gap:10px;display:flex}.imgcrop-zoom-icon{color:#fff6;flex-shrink:0;font-size:16px;line-height:1}.imgcrop-zoom-range{appearance:none;cursor:pointer;background:#ffffff26;border-radius:2px;outline:none;flex:1;height:4px}.imgcrop-zoom-range::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#8b5cf6;border:2px solid #13111a;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 8px #8b5cf680}.imgcrop-zoom-range::-moz-range-thumb{cursor:pointer;background:#8b5cf6;border:2px solid #13111a;border-radius:50%;width:18px;height:18px}.imgcrop-hint{text-align:center;color:#ffffff4d;letter-spacing:.03em;font-size:11px}.dc17-v2 .imgcrop-confirm-btn{background:linear-gradient(135deg,#f15a29,#f7941d)}.dc17-v2 .imgcrop-zoom-range::-webkit-slider-thumb{background:#f15a29;box-shadow:0 2px 8px #f15a2980}.dc17-v2 .imgcrop-zoom-range::-moz-range-thumb{background:#f15a29}
:root{--os-shell-bg:#070710;--os-shell-surface:#0c0c18;--os-shell-border:#ffffff14;--os-shell-fg:#e2e8f0;--os-shell-fg-dim:#94a3b8;--os-shell-fg-muted:#64748b;--os-shell-accent:#7c3aed;--os-shell-accent2:#be185d;--os-shell-radius:10px;--os-shell-font:"DM Sans",system-ui,sans-serif}.os-shell{font-family:var(--os-shell-font);color:var(--os-shell-fg);background:var(--os-shell-bg);-webkit-user-select:none;user-select:none;font-size:13px}.os-winchrome{border-radius:var(--os-shell-radius);box-shadow:0 8px 32px #0000008c,0 0 0 1px var(--os-shell-border);background:var(--os-shell-surface);flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden}.os-winchrome--pickable{cursor:crosshair;box-shadow:0 0 0 2px var(--os-shell-accent),0 8px 32px #0000008c}.os-winchrome-bar{border-radius:var(--os-shell-radius)var(--os-shell-radius)0 0;color:#fff;letter-spacing:.01em;flex-shrink:0;align-items:center;gap:6px;height:36px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.os-winchrome-dots{gap:5px;margin-left:6px;display:flex}.os-winchrome-dots span{background:#ffffff40;border-radius:50%;width:11px;height:11px;display:block}.os-winchrome-title{font-weight:600}.os-winchrome-subtitle{opacity:.6;letter-spacing:.02em;margin-left:6px;font-size:10px;font-weight:500}.os-winchrome-version{font-size:9px;font-family:var(--font-mono,ui-monospace);letter-spacing:.06em;opacity:.45;cursor:default;-webkit-user-select:none;user-select:none;background:#ffffff1f;border-radius:3px;margin-left:8px;padding:1px 5px;font-weight:600}.os-winchrome-body{flex:1;min-height:0;overflow:hidden}.os-picking-banner{color:#fff;z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#7c3aede6;border-radius:20px;align-items:center;gap:16px;padding:8px 20px;font-size:13px;font-weight:500;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #7c3aed66}.os-picking-cancel{color:#fffc;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.os-toast{color:var(--os-shell-fg);border:1px solid var(--os-shell-border);z-index:9998;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0c18eb;border-radius:8px;padding:7px 16px;font-size:12px;font-weight:500;position:fixed;bottom:56px;left:50%;transform:translate(-50%)}.os-dock{border-top:1px solid var(--os-shell-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;background:#070710e0;align-items:center;gap:2px;height:44px;padding:0 12px;display:flex;position:fixed;bottom:0;left:0;right:0}.os-dock-item{color:var(--os-shell-fg-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-width:52px;padding:4px 10px;transition:background .12s,color .12s;display:flex;position:relative}.os-dock-item:hover{color:var(--os-shell-fg);background:#ffffff0f}.os-dock-item--active{color:var(--os-shell-fg)}.os-dock-icon{font-size:16px;line-height:1}.os-dock-label{letter-spacing:.03em;margin-top:2px;font-size:9px}.os-dock-dot{background:var(--os-shell-accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.os-editor-panel{background:var(--os-shell-surface);flex-direction:column;height:100%;display:flex;overflow:hidden}.os-editor-tabs{border-bottom:1px solid var(--os-shell-border);flex-shrink:0;gap:2px;padding:0 8px;display:flex}.os-editor-tab{color:var(--os-shell-fg-muted);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 10px 7px;font-size:11px;font-weight:600;transition:color .12s,border-color .12s;position:relative}.os-editor-tab:hover{color:var(--os-shell-fg)}.os-editor-tab--active{color:var(--os-shell-fg);border-bottom-color:var(--os-shell-accent)}.os-editor-tab-badge{background:var(--os-shell-accent2);color:#fff;text-align:center;border-radius:8px;min-width:14px;padding:0 4px;font-size:9px;font-weight:700;position:absolute;top:6px;right:4px}.os-editor-saving{color:var(--os-shell-fg-muted);border-bottom:1px solid var(--os-shell-border);background:#7c3aed14;flex-shrink:0;padding:4px 12px;font-size:10px}.os-editor-scroll{flex:1;padding:8px 0 48px;overflow-y:auto}.os-editor-scroll::-webkit-scrollbar{width:4px}.os-editor-scroll::-webkit-scrollbar-track{background:0 0}.os-editor-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.os-no-target{height:100%;color:var(--os-shell-fg-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.os-token-group{padding:0 0 8px}.os-token-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--os-shell-fg-muted);padding:8px 12px 4px;font-size:9px;font-weight:700}.os-token-row{justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:4px 12px;transition:background .1s;display:flex}.os-token-row:hover{background:#ffffff08}.os-token-row-label{color:var(--os-shell-fg-dim);flex-shrink:0;align-items:center;gap:6px;width:130px;font-size:11px;display:flex}.os-token-row-input{flex:1;justify-content:flex-end;display:flex}.os-override-dot{background:#fbbf24;border-radius:50%;flex-shrink:0;width:5px;height:5px}.os-token-color-row{align-items:center;gap:6px;display:flex}.os-token-color-swatch{cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:4px;flex-shrink:0;width:22px;height:22px;padding:0}.os-token-text-input{border:1px solid var(--os-shell-border);width:84px;color:var(--os-shell-fg);background:#ffffff0f;border-radius:4px;outline:none;padding:3px 6px;font-family:JetBrains Mono,Fira Mono,monospace;font-size:11px}.os-token-text-input:focus{border-color:var(--os-shell-accent)}.os-token-px-row{align-items:center;gap:6px;display:flex}.os-token-slider{width:80px;accent-color:var(--os-shell-accent)}.os-token-number-input{border:1px solid var(--os-shell-border);width:40px;color:var(--os-shell-fg);text-align:right;background:#ffffff0f;border-radius:4px;outline:none;padding:3px 4px;font-size:11px}.os-token-number-input:focus{border-color:var(--os-shell-accent)}.os-token-unit{color:var(--os-shell-fg-muted);width:14px;font-size:10px}.os-token-select{border:1px solid var(--os-shell-border);color:var(--os-shell-fg);cursor:pointer;background:#ffffff0f;border-radius:4px;outline:none;padding:4px 6px;font-size:11px}.os-token-select:focus{border-color:var(--os-shell-accent)}.os-diff-dot{cursor:pointer;background:#fbbf24;border:none;border-radius:50%;flex-shrink:0;width:8px;height:8px;padding:0;transition:transform .12s}.os-diff-dot:hover{transform:scale(1.3)}.os-diff-tooltip{z-index:200;border:1px solid var(--os-shell-border);background:#1e1e2e;border-radius:6px;min-width:160px;padding:8px 10px;position:absolute;top:12px;left:12px;box-shadow:0 4px 16px #00000080}.os-diff-tooltip-row{justify-content:space-between;gap:12px;padding:2px 0;font-size:11px;display:flex}.os-diff-tooltip-label{color:var(--os-shell-fg-dim)}.os-diff-tooltip-value{color:var(--os-shell-fg);font-family:monospace}.os-diff-panel{border:1px solid var(--os-shell-border);border-radius:6px;margin:8px 12px;overflow:hidden}.os-diff-panel--empty{color:var(--os-shell-fg-muted);border:none;padding:10px 12px;font-size:11px}.os-diff-panel-header{border-bottom:1px solid var(--os-shell-border);color:#fbbf24;background:#fbbf2414;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.os-diff-panel-refresh{color:var(--os-shell-fg-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.os-diff-row{border-bottom:1px solid var(--os-shell-border);padding:8px 10px}.os-diff-row:last-child{border-bottom:none}.os-diff-row-label{margin-bottom:4px;font-size:11px;font-weight:600}.os-diff-row-sections{flex-direction:column;gap:3px;display:flex}.os-diff-row-section{align-items:center;gap:8px;font-size:10px;display:flex}.os-diff-row-section-name{color:var(--os-shell-fg-dim);flex-shrink:0;width:80px}.os-diff-row-section-value{color:var(--os-shell-fg);flex:1;font-family:monospace}.os-diff-sync-btn,.os-diff-dismiss-btn{border:1px solid var(--os-shell-border);color:var(--os-shell-fg-dim);cursor:pointer;background:#ffffff0f;border-radius:4px;padding:2px 6px;font-size:10px;transition:background .1s,color .1s}.os-diff-sync-btn:hover,.os-diff-dismiss-btn:hover{color:var(--os-shell-fg);background:#ffffff1a}.os-diff-dismiss-btn{margin-top:4px}.os-fx-panel{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.os-fx-input-row{align-items:flex-end;gap:8px;display:flex}.os-fx-textarea{border:1px solid var(--os-shell-border);color:var(--os-shell-fg);font-size:12px;font-family:var(--os-shell-font);resize:none;background:#ffffff0f;border-radius:6px;outline:none;flex:1;padding:8px 10px;line-height:1.45}.os-fx-textarea:focus{border-color:var(--os-shell-accent)}.os-fx-textarea::placeholder{color:var(--os-shell-fg-muted)}.os-fx-add-btn{background:var(--os-shell-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:opacity .12s;display:flex}.os-fx-add-btn:disabled{opacity:.4;cursor:default}.os-fx-list{flex-direction:column;gap:6px;display:flex}.os-fx-empty{color:var(--os-shell-fg-muted);text-align:center;padding:16px 0;font-size:12px}.os-fx-item{border:1px solid var(--os-shell-border);border-radius:6px;overflow:hidden}.os-fx-item--applied{border-color:#22c55e4d}.os-fx-item--promoted{border-color:#7c3aed66}.os-fx-item-header{align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.os-fx-status-dot{background:#fbbf24;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:3px}.os-fx-item--applied .os-fx-status-dot{background:#22c55e}.os-fx-item--promoted .os-fx-status-dot{background:var(--os-shell-accent)}.os-fx-description{flex:1;font-size:12px;line-height:1.4}.os-fx-item-actions{flex-shrink:0;gap:4px;display:flex}.os-fx-promote-btn,.os-fx-delete-btn{border:1px solid var(--os-shell-border);color:var(--os-shell-fg-dim);cursor:pointer;background:#ffffff0f;border-radius:4px;padding:2px 7px;font-size:10px}.os-fx-promote-btn:hover{color:var(--os-shell-fg);background:#ffffff1a}.os-fx-delete-btn:hover{color:#f87171}.os-fx-css-preview{color:var(--os-shell-fg-dim);border-top:1px solid var(--os-shell-border);white-space:pre;background:#0003;margin:0;padding:6px 10px;font-family:monospace;font-size:10px;overflow-x:auto}.os-fx-promote-form{border-top:1px solid var(--os-shell-border);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.os-fx-pattern-input{border:1px solid var(--os-shell-border);color:var(--os-shell-fg);background:#ffffff0f;border-radius:4px;outline:none;padding:5px 8px;font-size:11px}.os-fx-pattern-input::placeholder{color:var(--os-shell-fg-muted)}.os-fx-pattern-input:focus{border-color:var(--os-shell-accent)}.os-fx-promote-btns{flex-wrap:wrap;gap:6px;display:flex}.os-fx-promote-btns button{border:1px solid var(--os-shell-border);color:var(--os-shell-fg-dim);cursor:pointer;background:#ffffff0f;border-radius:4px;padding:4px 10px;font-size:11px}.os-fx-promote-btns button:hover{color:var(--os-shell-fg);background:#ffffff1a}.os-changelog{margin:8px 12px 0}.os-changelog-toggle{color:var(--os-shell-fg-muted);cursor:pointer;font-size:11px;font-family:var(--os-shell-font);background:0 0;border:none;padding:4px 0}.os-changelog-toggle:hover{color:var(--os-shell-fg)}.os-changelog-list{border:1px solid var(--os-shell-border);border-radius:6px;max-height:200px;margin-top:4px;overflow:hidden auto}.os-changelog-entry{border-bottom:1px solid var(--os-shell-border);align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:flex}.os-changelog-entry:last-child{border-bottom:none}.os-changelog-entry--saved{opacity:.6}.os-changelog-key{color:var(--os-shell-fg-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:monospace;font-size:10px;overflow:hidden}.os-changelog-old{color:#f87171;font-family:monospace;font-size:10px}.os-changelog-arrow{color:var(--os-shell-fg-muted)}.os-changelog-new{color:#86efac;font-family:monospace;font-size:10px}.os-changelog-saved-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:5px;height:5px}.os-winchrome--hidden{display:none!important}.os-shell--solo .os-winchrome--solo-active{width:auto!important;height:auto!important;inset:36px 8px 44px 512px!important}.os-winchrome-solo-btn{color:#fffc;cursor:pointer;background:#ffffff1f;border:none;border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:13px;line-height:1;transition:background .15s}.os-winchrome-solo-btn:hover{color:#fff;background:#ffffff40}.os-preset-chips{border-bottom:1px solid var(--os-shell-border);background:#00000026;flex-wrap:wrap;gap:5px;padding:8px 10px;display:flex}.os-preset-chip{background:var(--os-shell-surface);border:1px solid var(--os-shell-border);cursor:pointer;color:var(--os-shell-fg);white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;transition:background .12s,border-color .12s;display:flex}.os-preset-chip:hover{background:var(--os-shell-surface-2);border-color:var(--os-shell-fg-muted)}.os-preset-chip-dots{gap:2px;display:flex}.os-preset-chip-dots span{border-radius:50%;width:8px;height:8px;display:block}.os-preset-chip-name{color:var(--os-shell-fg-dim);font-size:10px;font-weight:600}.os-preset-save-btn{background:var(--os-accent,#7c3aed);color:#fff;cursor:pointer;letter-spacing:.04em;border:none;border-radius:20px;align-items:center;gap:4px;margin-left:auto;padding:4px 10px;font-size:10px;font-weight:700;transition:opacity .12s;display:flex}.os-preview-toggle-row{border-bottom:1px solid var(--os-shell-border);justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.os-preview-toggle-label{letter-spacing:.06em;color:var(--os-shell-fg-muted);text-transform:uppercase;font-size:10px;font-weight:700}.os-preview-toggle-btn{color:var(--os-shell-fg-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:10px}.os-preview-toggle-btn:hover{color:var(--os-shell-fg)}.os-live-preview{border-bottom:1px solid var(--os-shell-border);background:#0003;padding:10px}.os-live-preview-label{letter-spacing:.08em;color:var(--os-shell-fg-muted);text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:700}.os-live-preview-chrome{background:var(--os-window,#0c0c18);border:1px solid #ffffff1a;border-radius:6px;overflow:hidden}.os-live-preview-bar{background:linear-gradient(135deg,#7c3aed,#be185d);align-items:center;gap:5px;padding:5px 8px;font-size:10px;display:flex}.os-live-preview-dot{background:#ffffff59;border-radius:50%;width:7px;height:7px;display:block}.os-live-preview-win-title{color:#ffffffe6;margin-left:2px;font-size:10px;font-weight:600}.os-live-preview-targeted{color:#ffffff8c;margin-left:4px;font-size:9px}.os-live-preview-body{flex-direction:column;gap:8px;padding:10px;display:flex}.os-live-preview-heading{font-family:var(--font-display,Urbanist),sans-serif;color:var(--os-fg-1,#f1f5f9);font-size:18px;font-weight:800;line-height:1.1}.os-live-preview-sub{color:var(--os-fg-3,#94a3b8);font-size:11px}.os-live-preview-stats{align-items:center;gap:14px;display:flex}.os-live-preview-stats div{flex-direction:column;gap:1px;display:flex}.os-live-preview-stats b{font-family:var(--font-display,Urbanist),sans-serif;color:var(--os-fg-1,#f1f5f9);font-size:16px;font-weight:800}.os-live-preview-stats span{letter-spacing:.06em;text-transform:uppercase;color:var(--os-fg-4,#64748b);font-size:9px;font-weight:700}.os-live-preview-badge{background:var(--os-accent,#f15a29);color:var(--gui-accent-fg,#fff);letter-spacing:.05em;border-radius:20px;align-self:center;padding:2px 6px;font-size:9px;font-weight:700}.os-live-preview-btns{flex-wrap:wrap;gap:5px;display:flex}.os-lpbtn{border-radius:var(--gui-radius,8px);cursor:default;font-size:11px;font-weight:600;font-family:var(--font-ui,DM Sans),sans-serif;border:none;padding:4px 10px}.os-lpbtn--primary{background:var(--os-accent,#f15a29);color:var(--gui-accent-fg,#fff)}.os-lpbtn--secondary{background:var(--surface-2,#ffffff14);color:var(--os-fg-1,#f1f5f9);border:1px solid var(--border-soft,#ffffff1a)}.os-lpbtn--ghost{color:var(--os-fg-2,#e2e8f0);background:0 0}.os-live-preview-card{background:var(--surface-2,#ffffff0f);border:1px solid var(--border-soft,#ffffff14);border-radius:var(--gui-radius,8px);padding:8px 10px}.os-live-preview-card-title{color:var(--os-fg-1,#f1f5f9);font-size:12px;font-weight:600}.os-live-preview-card-meta{color:var(--os-fg-3,#94a3b8);margin-top:2px;font-size:10px}.os-status-bar{letter-spacing:.02em;border-bottom:1px solid var(--os-shell-border);flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.os-status-bar--dirty{color:#fb923c;background:#fb923c1f;border-bottom-color:#fb923c38}.os-status-bar--clean{color:#4ade80;background:#22c55e14;border-bottom-color:#22c55e24}.os-status-icon{flex-shrink:0;font-size:8px;line-height:1}.os-status-text{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.os-status-undo{color:var(--os-shell-fg);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700;transition:background .12s}.os-status-undo:hover{background:#ffffff2e}.os-status-saving{opacity:.7;flex-shrink:0;font-size:10px;font-style:italic}.os-target-switcher{border-bottom:1px solid var(--os-shell-border);flex-shrink:0;align-items:center;gap:8px;padding:7px 10px;display:flex}.os-target-switcher-label{letter-spacing:.08em;text-transform:uppercase;color:var(--os-shell-fg-muted);white-space:nowrap;font-size:10px;font-weight:700}.os-target-switcher-select{border:1px solid var(--os-shell-border);color:var(--os-shell-fg);cursor:pointer;appearance:auto;background:#ffffff0f;border-radius:6px;outline:none;flex:1;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:600}.os-target-switcher-select:focus{border-color:var(--os-shell-accent)}.os-winchrome-urlbar{box-sizing:border-box;background:#00000047;border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:6px;height:28px;padding:3px 8px;display:flex}.os-winchrome-url-icon{opacity:.45;flex-shrink:0;font-size:11px}.os-winchrome-url-input{color:#ffffff8c;caret-color:#7c3aed;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0;font-family:JetBrains Mono,IBM Plex Mono,ui-monospace,monospace;font-size:10px;transition:color .15s}.os-winchrome-url-input:focus{color:#ffffffe6}.os-winchrome-url-input::placeholder{color:#fff3}.os-winchrome-resize-handle{cursor:ns-resize;z-index:10;justify-content:center;align-items:center;height:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.os-winchrome-resize-handle:after{content:"";background:#ffffff2e;border-radius:99px;width:32px;height:3px;transition:background .15s}.os-winchrome-resize-handle:hover:after{background:#ffffff73}.os-token-row--overridden .os-token-row-label{color:var(--os-shell-fg)}.os-token-row--overridden{background:#7c3aed0f;border-radius:4px}.os-token-row--live{background:#fb923c12;border-radius:4px}.os-token-row--dim{opacity:.35;transition:opacity .15s}.os-token-row--dim:hover,.os-token-row--dim:focus-within{opacity:1}@keyframes os-token-focus-pulse{0%{box-shadow:0 0 0 2px #d13b6300}30%{box-shadow:0 0 0 3px #d13b6399}to{box-shadow:0 0 0 2px #d13b632e}}.os-token-row--focused{background:#d13b6314;border-left:2px solid #d13b63b3;border-radius:4px;padding-left:6px;animation:.55s ease-out forwards os-token-focus-pulse}.os-live-dot{vertical-align:middle;background:#fb923c;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:4px;display:inline-block}.os-dim-toggle{border:1px solid var(--os-shell-border);color:var(--os-shell-fg-muted);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:9px;font-weight:700;transition:color .12s,border-color .12s}.os-dim-toggle--on{color:var(--os-shell-accent);border-color:var(--os-shell-accent)}.os-dim-toggle:hover{color:var(--os-shell-fg);border-color:#fff3}.os-dock-url{color:var(--os-shell-fg-muted);opacity:.7;white-space:nowrap;text-overflow:ellipsis;max-width:80px;margin-top:1px;font-size:8px;display:block;overflow:hidden}.os-dock-item:hover .os-dock-url,.os-dock-item--active .os-dock-url{opacity:1}.os-preset-chip--active{border-color:var(--os-accent,#7c3aed);background:color-mix(in srgb,var(--os-accent,#7c3aed)14%,var(--os-shell-surface))}.os-preset-chip--active .os-preset-chip-name{color:var(--os-shell-fg)}.os-preset-save-btn{background:var(--os-accent,#7c3aed);color:#fff;cursor:pointer;border:none;border-radius:20px;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:10px;font-weight:700;transition:opacity .12s}.os-preset-save-btn:hover{opacity:.85}.os-winchrome-reload-btn{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:0 4px;font-size:14px;line-height:1;transition:color .12s,transform .12s}.os-winchrome-reload-btn:hover{color:#ffffffd9;transform:rotate(180deg)}.os-winchrome-reload-btn:active{transform:rotate(360deg)}.os-target-meta{border-bottom:1px solid var(--os-shell-border);flex-shrink:0;padding:4px 8px 6px}.os-target-meta-row{align-items:center;gap:6px;display:flex}.os-target-meta-icon-input{text-align:center;border:1px solid var(--os-shell-border);width:32px;color:var(--os-shell-fg);cursor:pointer;background:#ffffff0f;border-radius:5px;outline:none;flex-shrink:0;padding:3px 4px;font-size:14px}.os-target-meta-icon-input:focus{border-color:var(--os-shell-accent);background:#ffffff1a}.os-target-meta-label-input{color:var(--os-shell-fg);background:#ffffff0a;border:1px solid #0000;border-radius:5px;outline:none;flex:1;min-width:0;padding:3px 7px;font-family:inherit;font-size:12px;font-weight:600;transition:background .12s,border-color .12s}.os-target-meta-label-input:hover{border-color:var(--os-shell-border);background:#ffffff12}.os-target-meta-label-input:focus{border-color:var(--os-shell-accent);background:#ffffff14}.os-graduated-badge{letter-spacing:.04em;white-space:nowrap;cursor:default;border:1px solid;border-radius:20px;flex-shrink:0;padding:3px 7px;font-size:9px;font-weight:700;transition:opacity .12s}.os-graduated-badge--done{color:#4ade80;background:#4ade8014;border-color:#4ade804d}.os-graduated-badge--warn{color:#fb923c;cursor:pointer;background:#fb923c14;border-color:#fb923c4d}.os-graduated-badge--warn:hover{background:#fb923c29}.os-token-search-row{border-bottom:1px solid var(--os-shell-border);background:#0003;flex-shrink:0;align-items:center;gap:6px;padding:5px 8px;display:flex}.os-token-search-icon{opacity:.4;flex-shrink:0;font-size:13px;line-height:1}.os-token-search-input{color:var(--os-shell-fg);caret-color:var(--os-shell-accent);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0;font-family:inherit;font-size:12px}.os-token-search-input::placeholder{color:var(--os-shell-fg-muted);opacity:.6}.os-token-search-clear{color:var(--os-shell-fg-muted);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:11px;line-height:1;transition:opacity .12s}.os-token-search-clear:hover{opacity:1}.os-token-search-empty{text-align:center;color:var(--os-shell-fg-muted);padding:24px 12px;font-size:11px}.os-status-hint{letter-spacing:.04em;opacity:.6;white-space:nowrap;flex-shrink:0;font-size:9px;font-weight:700}.os-editor-tabs--searching .os-editor-tab{opacity:.35;pointer-events:auto}.os-editor-tabs--searching .os-editor-tab:hover{opacity:.7}.os-tabs-search-label{letter-spacing:.07em;text-transform:uppercase;color:var(--os-shell-accent);opacity:.8;white-space:nowrap;align-self:center;margin-left:auto;padding-right:4px;font-size:9px;font-weight:700}.os-unbridge-confirm{flex-shrink:0;align-items:center;gap:4px;animation:.12s os-fade-in;display:flex}@keyframes os-fade-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.os-unbridge-confirm-label{color:#fb923c;letter-spacing:.03em;white-space:nowrap;font-size:9px;font-weight:700}.os-unbridge-confirm-yes{color:#fb923c;cursor:pointer;background:#fb923c2e;border:1px solid #fb923c66;border-radius:4px;padding:2px 7px;font-size:9px;font-weight:700;transition:background .1s}.os-unbridge-confirm-yes:hover{background:#fb923c52}.os-unbridge-confirm-no{color:var(--os-shell-fg-muted);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;transition:background .1s}.os-unbridge-confirm-no:hover{background:#ffffff1f}.os-toolbar-row{border-bottom:1px solid var(--os-shell-border);background:#0000002e;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:7px 10px;display:flex}.os-toolbar-group{align-items:center;gap:4px;display:flex}.os-toolbar-label{letter-spacing:.14em;text-transform:uppercase;color:var(--os-shell-fg-muted);white-space:nowrap;align-items:center;gap:4px;font-size:8px;font-weight:800;display:flex}.os-coming-soon-chip{letter-spacing:.08em;text-transform:uppercase;color:#f59e0b;cursor:help;background:#f59e0b26;border:1px solid #f59e0b40;border-radius:3px;align-items:center;padding:1px 4px;font-size:7px;font-weight:700;line-height:1;display:inline-flex}.os-toolbar-select{background:var(--os-shell-surface);border:1px solid var(--os-shell-border);color:var(--os-shell-fg);font-size:11px;font-weight:600;font-family:var(--os-shell-font);cursor:pointer;border-radius:6px;outline:none;max-width:140px;padding:3px 7px;transition:border-color .12s}.os-toolbar-select:hover,.os-toolbar-select:focus{border-color:#7c3aed80}.os-toolbar-btn-ghost{color:var(--os-shell-fg-dim);cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:600;transition:background .12s,border-color .12s}.os-toolbar-btn-ghost:hover:not(:disabled){color:var(--os-shell-fg);background:#ffffff1f;border-color:#ffffff38}.os-toolbar-btn-ghost:disabled{opacity:.35;cursor:default}.os-toolbar-btn-primary{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#7c3aed,#be185d);border:none;border-radius:6px;padding:4px 11px;font-size:10px;font-weight:700;transition:opacity .12s}.os-toolbar-btn-primary:hover{opacity:.85}.os-preset-delete-btn{color:#e8196a;cursor:pointer;background:#e8196a1f;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:9px;transition:background .15s;display:inline-flex}.os-preset-delete-btn:hover{background:#e8196a47}.os-override-pill{color:#fbbf24;white-space:nowrap;background:#fbbf241f;border:1px solid #fbbf2447;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:700;display:flex}.os-override-pill-dot{background:#fbbf24;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 5px #fbbf2499}.os-override-pill-reset{color:#fbbf24;cursor:pointer;opacity:.75;background:0 0;border:none;padding:0;font-size:10px;font-weight:700;text-decoration:underline;transition:opacity .12s}.os-override-pill-reset:hover{opacity:1}.os-status-bar--secondary{border-bottom:1px solid var(--os-shell-border);background:#0000001f;flex-shrink:0;align-items:center;gap:8px;min-height:0;padding:4px 10px;display:flex}.os-group-edited-pill{color:#a78bfa;letter-spacing:.02em;background:#7c3aed33;border:1px solid #7c3aed59;border-radius:999px;align-items:center;margin-left:6px;padding:1px 7px;font-size:9px;font-weight:700;display:inline-flex}.os-pipeline-strip{border-top:1px solid var(--os-shell-border);background:#00000038;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;display:flex}.os-pipeline-label{letter-spacing:.14em;text-transform:uppercase;color:var(--os-shell-fg-muted);margin-right:4px;font-size:8px;font-weight:800}.os-pipeline-segment{align-items:center;gap:4px;display:flex}.os-pipeline-dot{background:#ffffff26;border:1px solid #ffffff2e;border-radius:50%;width:7px;height:7px;transition:background .2s;display:inline-block}.os-pipeline-dot--done{background:#7c3aed;border-color:#7c3aed;box-shadow:0 0 5px #7c3aed80}.os-pipeline-dot--cur{background:#fbbf24;border-color:#fbbf24;box-shadow:0 0 6px #fbbf248c}.os-pipeline-dash{background:#ffffff1f;width:10px;height:1px;display:inline-block}.os-pipeline-dash--done{background:#7c3aed80}.os-pipeline-scope{color:var(--os-shell-fg-muted);letter-spacing:.01em;margin-left:auto;font-size:9px}.os-pipeline-scope b{color:var(--os-shell-fg-dim);font-weight:600}.os-settings-panel{padding:8px 0 24px}.os-settings-section{padding:0 12px}.os-settings-section-head{letter-spacing:.04em;text-transform:uppercase;color:var(--os-shell-fg);border-bottom:1px solid var(--os-shell-border);align-items:center;gap:6px;margin-bottom:6px;padding:10px 0 8px;font-size:11px;font-weight:600;display:flex}.os-settings-section-icon{opacity:.6;font-size:13px}.os-settings-section-hint{letter-spacing:0;text-transform:none;opacity:.45;font-size:10px;font-weight:400;font-family:var(--font-mono,ui-monospace);margin-left:auto}.os-settings-group{letter-spacing:.06em;text-transform:uppercase;color:var(--os-shell-fg-dim);opacity:.55;padding:10px 0 4px;font-size:10px;font-weight:600}.os-setting-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:5px 0;display:flex}.os-setting-label{color:var(--os-shell-fg);flex-shrink:0;align-items:baseline;gap:3px;min-width:78px;font-size:11px;display:flex}.os-setting-unit{opacity:.4;font-size:9px;font-family:var(--font-mono,ui-monospace)}.os-setting-control{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.os-setting-slider{height:2px;accent-color:var(--os-accent);cursor:pointer;flex:1}.os-setting-val{font-size:10px;font-family:var(--font-mono,ui-monospace);color:var(--os-shell-fg-dim);text-align:right;opacity:.7;min-width:26px}.os-setting-color-row{flex:1;align-items:center;gap:5px;display:flex}.os-setting-swatch{cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;width:20px;height:20px;padding:0}.os-setting-text-input{border:1px solid var(--os-shell-border);color:var(--os-shell-fg);font-size:10px;font-family:var(--font-mono,ui-monospace);background:#ffffff0f;border-radius:3px;flex:1;min-width:0;padding:2px 5px}.os-setting-text-input:focus{outline:1px solid var(--os-accent);background:#ffffff17}.os-setting-select{border:1px solid var(--os-shell-border);color:var(--os-shell-fg);cursor:pointer;background:#ffffff0f;border-radius:3px;flex:1;padding:3px 5px;font-size:10px}.os-settings-preview{border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;margin-bottom:4px;padding:12px 0 10px;display:flex}.os-settings-preview-hint{opacity:.35;letter-spacing:.03em;color:var(--os-shell-fg-dim);writing-mode:horizontal-tb;font-size:9px}.os-settings-preview-btn{border:1px solid var(--os-shell-border);border-radius:var(--gui-radius-sm,4px);color:var(--os-shell-fg);cursor:default;white-space:nowrap;background:#ffffff14;padding:4px 10px;font-size:11px}.os-settings-preview-btn:hover{background:#ffffff1f}.os-settings-coming{background:#ffffff08;border:1px dashed #ffffff14;border-radius:6px;margin:16px 12px 0;padding:10px 12px}.os-settings-coming-label{text-transform:uppercase;letter-spacing:.06em;opacity:.3;margin-bottom:6px;font-size:9px}.os-settings-coming-items{flex-wrap:wrap;gap:6px;display:flex}.os-settings-coming-items span{opacity:.35;color:var(--os-shell-fg);background:#ffffff0d;border-radius:20px;padding:2px 8px;font-size:10px}
:root{--tip-bg:var(--os-tooltip,#1e1e2e);--tip-color:var(--os-fg-1,#f8f8f8);--tip-font-size:11px;--tip-font-family:var(--font-ui,system-ui,sans-serif);--tip-radius:4px;--tip-max-w:220px;--tip-delay:.35s;--tip-dur:.12s;--tip-ease:ease-out}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);background:var(--tip-bg);color:var(--tip-color);font-size:var(--tip-font-size);font-family:var(--tip-font-family);border-radius:var(--tip-radius);max-width:var(--tip-max-w);white-space:nowrap;text-align:left;z-index:9999;pointer-events:none;-webkit-backdrop-filter:blur(var(--blur-tooltip-px,0px));opacity:0;transition:opacity var(--tip-dur)var(--tip-ease),transform var(--tip-dur)var(--tip-ease);padding:4px 9px;line-height:1.4;transition-delay:0s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)translateY(5px);box-shadow:0 2px 10px #0003}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transition-delay:var(--tip-delay);transform:translate(-50%)translateY(0)}[data-tip-pos=bottom]:after{top:calc(100% + 7px);bottom:auto;transform:translate(-50%)translateY(-5px)}[data-tip-pos=bottom]:hover:after,[data-tip-pos=bottom]:focus-visible:after{transform:translate(-50%)translateY(0)}[data-tip-pos=left]:after{inset:50% calc(100% + 7px) auto auto;transform:translate(5px)translateY(-50%)}[data-tip-pos=left]:hover:after,[data-tip-pos=left]:focus-visible:after{transform:translate(0)translateY(-50%)}[data-tip-pos=right]:after{top:50%;bottom:auto;left:calc(100% + 7px);transform:translate(-5px)translateY(-50%)}[data-tip-pos=right]:hover:after,[data-tip-pos=right]:focus-visible:after{transform:translate(0)translateY(-50%)}
