html.personal-time-active app-root { display: none !important; }
html.personal-time-active body { margin: 0; }
#personal-time-workbench-overlay {
  --tw-bg: #101319;
  --tw-panel: #1a2029;
  --tw-raised: #222a35;
  --tw-text: #edf2f7;
  --tw-muted: #a4afbd;
  --tw-line: #35404c;
  --tw-accent: #e5bc62;
  --tw-accent-text: #211808;
  display: block;
  position: relative;
  z-index: 1;
  color: var(--tw-text);
  background: var(--tw-bg);
}
html.light-mode #personal-time-workbench-overlay {
  --tw-bg: #f7f5ef;
  --tw-panel: #fffdf8;
  --tw-raised: #f3f0e7;
  --tw-text: #252d36;
  --tw-muted: #596573;
  --tw-line: #d8d5cb;
  --tw-accent: #8a5b11;
  --tw-accent-text: #fffdf8;
}
#personal-time-workbench-overlay * { box-sizing: border-box; }
#personal-time-workbench-overlay .tw-shell { min-height: 100vh; padding: 7rem 1.5rem 5rem; color: var(--tw-text); background: var(--tw-bg); }
#personal-time-workbench-overlay .tw-container { max-width: 1460px; margin: 0 auto; }
#personal-time-workbench-overlay .tw-header { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; margin-bottom: 2rem; }
#personal-time-workbench-overlay .tw-header > div { min-width: 0; max-width: 100%; }
#personal-time-workbench-overlay .tw-back { display: inline-block; color: var(--tw-muted); margin-bottom: 2rem; font-size: .9rem; text-decoration: none; }
#personal-time-workbench-overlay .tw-back:hover, #personal-time-workbench-overlay .tw-inline-link:hover { color: var(--tw-accent); }
#personal-time-workbench-overlay .tw-eyebrow { margin: 0 0 .45rem; color: var(--tw-accent); font-size: .68rem; font-weight: 800; letter-spacing: .18em; }
#personal-time-workbench-overlay h1, #personal-time-workbench-overlay h2, #personal-time-workbench-overlay p { margin-top: 0; }
#personal-time-workbench-overlay h1 { margin-bottom: .4rem; font-size: clamp(2.3rem, 5vw, 3.7rem); line-height: 1.1; letter-spacing: -.05em; }
#personal-time-workbench-overlay h2 { margin-bottom: 0; font-size: 1.22rem; letter-spacing: -.025em; }
#personal-time-workbench-overlay .tw-subtitle { color: var(--tw-muted); margin-bottom: 0; line-height: 1.6; }
#personal-time-workbench-overlay .tw-button, #personal-time-workbench-overlay .tw-week-switch > button:not(.tw-button) { border: 1px solid var(--tw-line); background: var(--tw-raised); color: var(--tw-text); border-radius: .7rem; padding: .65rem 1rem; font: inherit; font-size: .86rem; font-weight: 650; cursor: pointer; white-space: nowrap; }
#personal-time-workbench-overlay .tw-week-switch > button:not(.tw-button) { padding: .25rem .65rem; font-size: 1.5rem; line-height: 1.2; }
#personal-time-workbench-overlay .tw-button:hover, #personal-time-workbench-overlay .tw-week-switch > button:hover { border-color: var(--tw-accent); }
#personal-time-workbench-overlay button:disabled { opacity: .5; cursor: not-allowed; }
#personal-time-workbench-overlay .tw-button.primary { border-color: var(--tw-accent); background: var(--tw-accent); color: var(--tw-accent-text); }
#personal-time-workbench-overlay .tw-button.primary:hover { filter: brightness(1.08); }
#personal-time-workbench-overlay .tw-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; background: var(--tw-panel); border: 1px solid var(--tw-line); border-radius: 1rem; }
#personal-time-workbench-overlay .tw-week-switch { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; }
#personal-time-workbench-overlay .tw-week-switch strong { margin-left: .7rem; font-size: .96rem; }
#personal-time-workbench-overlay .tw-zone-label { display: flex; align-items: center; gap: .7rem; color: var(--tw-muted); font-size: .82rem; white-space: nowrap; }
#personal-time-workbench-overlay .tw-zone-label select, #personal-time-workbench-overlay .tw-editor select, #personal-time-workbench-overlay .tw-editor input { width: 100%; background: var(--tw-raised); color: var(--tw-text); border: 1px solid var(--tw-line); border-radius: .62rem; padding: .68rem .8rem; font: inherit; color-scheme: dark; }
html.light-mode #personal-time-workbench-overlay .tw-zone-label select, html.light-mode #personal-time-workbench-overlay .tw-editor select, html.light-mode #personal-time-workbench-overlay .tw-editor input { color-scheme: light; }
#personal-time-workbench-overlay .tw-zone-label select { width: auto; min-width: 12.5rem; }
#personal-time-workbench-overlay .tw-legend { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 1.3rem 0; color: var(--tw-muted); font-size: .8rem; }
#personal-time-workbench-overlay .tw-legend span { display: inline-flex; align-items: center; gap: .45rem; }
#personal-time-workbench-overlay .tw-legend i { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; }
#personal-time-workbench-overlay .tw-legend i.debate, #personal-time-workbench-overlay .tw-marker.debate { background: #e7b469; }
#personal-time-workbench-overlay .tw-legend i.judging, #personal-time-workbench-overlay .tw-marker.judging { background: #85ace6; }
#personal-time-workbench-overlay .tw-legend i.busy, #personal-time-workbench-overlay .tw-marker.busy { background: #ba9bbc; }
#personal-time-workbench-overlay .tw-legend i.available, #personal-time-workbench-overlay .tw-marker.available { background: #77bf9b; }
#personal-time-workbench-overlay .tw-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 350px); align-items: start; gap: 1.3rem; }
#personal-time-workbench-overlay .tw-main, #personal-time-workbench-overlay .tw-side { display: grid; gap: 1.3rem; min-width: 0; }
#personal-time-workbench-overlay .tw-panel { min-width: 0; padding: 1.4rem; border: 1px solid var(--tw-line); border-radius: 1.1rem; background: var(--tw-panel); }
#personal-time-workbench-overlay .tw-section-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.3rem; }
#personal-time-workbench-overlay .tw-section-head > span { font-size: .75rem; color: var(--tw-muted); }
#personal-time-workbench-overlay .tw-week-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .5rem; }
#personal-time-workbench-overlay .tw-day { min-width: 0; min-height: 180px; padding: .7rem .48rem; border: 1px solid var(--tw-line); border-radius: .8rem; background: var(--tw-raised); }
#personal-time-workbench-overlay .tw-day.today { border-color: var(--tw-accent); }
#personal-time-workbench-overlay .tw-day-head { display: flex; flex-direction: column; gap: .18rem; align-items: center; color: var(--tw-muted); font-size: .72rem; padding-bottom: .7rem; border-bottom: 1px solid var(--tw-line); }
#personal-time-workbench-overlay .tw-day-head strong { color: var(--tw-text); font-size: 1.1rem; }
#personal-time-workbench-overlay .tw-day.today .tw-day-head strong { color: var(--tw-accent); }
#personal-time-workbench-overlay .tw-day-items { display: grid; align-content: start; gap: .4rem; padding-top: .65rem; }
#personal-time-workbench-overlay .tw-day-empty { text-align: center; color: var(--tw-muted); font-size: .72rem; opacity: .7; }
#personal-time-workbench-overlay .tw-chip { display: grid; gap: .12rem; border-radius: .45rem; padding: .42rem .5rem; min-width: 0; font-size: .7rem; line-height: 1.25; border-left: 2px solid; }
#personal-time-workbench-overlay .tw-chip strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .73rem; }
#personal-time-workbench-overlay .tw-chip.debate, #personal-time-workbench-overlay .tw-tag.debate { color: #f2ca85; background: #5a3c22; border-color: #e7b469; }
#personal-time-workbench-overlay .tw-chip.judging, #personal-time-workbench-overlay .tw-tag.judging { color: #afd0ff; background: #223957; border-color: #85ace6; }
#personal-time-workbench-overlay .tw-chip.busy, #personal-time-workbench-overlay .tw-tag.busy { color: #e1c5e3; background: #47334b; border-color: #ba9bbc; }
#personal-time-workbench-overlay .tw-chip.available, #personal-time-workbench-overlay .tw-tag.available { color: #b4e7ce; background: #244938; border-color: #77bf9b; }
html.light-mode #personal-time-workbench-overlay .tw-chip.debate, html.light-mode #personal-time-workbench-overlay .tw-tag.debate { color: #73430d; background: #f8e9cb; }
html.light-mode #personal-time-workbench-overlay .tw-chip.judging, html.light-mode #personal-time-workbench-overlay .tw-tag.judging { color: #254e88; background: #e2ecf9; }
html.light-mode #personal-time-workbench-overlay .tw-chip.busy, html.light-mode #personal-time-workbench-overlay .tw-tag.busy { color: #6d3971; background: #f1e5f1; }
html.light-mode #personal-time-workbench-overlay .tw-chip.available, html.light-mode #personal-time-workbench-overlay .tw-tag.available { color: #1d6947; background: #ddf2e6; }
#personal-time-workbench-overlay .tw-list, #personal-time-workbench-overlay .tw-invitations { display: grid; gap: .15rem; }
#personal-time-workbench-overlay .tw-row { display: flex; gap: .9rem; align-items: start; padding: 1rem .1rem; border-top: 1px solid var(--tw-line); }
#personal-time-workbench-overlay .tw-row:first-child { border-top: 0; }
#personal-time-workbench-overlay .tw-marker { width: .55rem; height: .55rem; flex: 0 0 .55rem; border-radius: 50%; margin-top: .55rem; }
#personal-time-workbench-overlay .tw-row-body { flex: 1; min-width: 0; }
#personal-time-workbench-overlay .tw-row-title { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
#personal-time-workbench-overlay .tw-row-title strong { overflow-wrap: anywhere; font-size: .93rem; }
#personal-time-workbench-overlay .tw-row-body p, #personal-time-workbench-overlay .tw-invitation p { color: var(--tw-muted); font-size: .78rem; line-height: 1.55; margin: .45rem 0 0; }
#personal-time-workbench-overlay .tw-tag { display: inline-block; border-radius: .3rem; padding: .2rem .4rem; font-size: .67rem; font-weight: 700; white-space: nowrap; }
#personal-time-workbench-overlay .tw-row-actions { display: flex; gap: .35rem; flex-wrap: wrap; }
#personal-time-workbench-overlay .tw-row-actions button, #personal-time-workbench-overlay .tw-inline-link { border: 0; background: none; color: var(--tw-accent); font: inherit; font-size: .78rem; cursor: pointer; text-decoration: none; }
#personal-time-workbench-overlay .tw-row-actions button.danger { color: #e98585; }
#personal-time-workbench-overlay .tw-inline-link { display: inline-block; margin-top: .4rem; }
#personal-time-workbench-overlay .tw-empty, #personal-time-workbench-overlay .tw-state { padding: 1.5rem .5rem; color: var(--tw-muted); font-size: .86rem; line-height: 1.55; }
#personal-time-workbench-overlay .tw-state { display: flex; align-items: center; gap: 1rem; justify-content: center; min-height: 15rem; }
#personal-time-workbench-overlay .tw-state a { color: var(--tw-accent); }
#personal-time-workbench-overlay .tw-error, #personal-time-workbench-overlay .tw-form-error { color: #e98585; }
#personal-time-workbench-overlay .tw-alert { padding: .8rem 1rem; margin: 1rem 0; border: 1px solid #bb7777; border-radius: .7rem; color: #f5c8c8; background: #472d32; font-size: .83rem; }
#personal-time-workbench-overlay .tw-alert button { float: right; background: none; border: 0; color: inherit; cursor: pointer; }
html.light-mode #personal-time-workbench-overlay .tw-alert { color: #923e46; background: #f9e6e7; }
#personal-time-workbench-overlay .tw-invitation { padding: 1rem 0; border-top: 1px solid var(--tw-line); }
#personal-time-workbench-overlay .tw-invitation:first-child { border-top: 0; padding-top: .2rem; }
#personal-time-workbench-overlay .tw-invitation > strong { font-size: .9rem; overflow-wrap: anywhere; }
#personal-time-workbench-overlay .tw-response { display: inline-block; margin-top: .65rem; border: 1px solid var(--tw-line); border-radius: 20px; padding: .25rem .55rem; color: var(--tw-muted); font-size: .7rem; }
#personal-time-workbench-overlay .tw-response.accepted { border-color: #77bf9b; color: #77bf9b; }
#personal-time-workbench-overlay .tw-response.declined { border-color: #e98585; color: #e98585; }
#personal-time-workbench-overlay .tw-invitation-actions, #personal-time-workbench-overlay .tw-form-actions { display: flex; gap: .55rem; margin-top: .9rem; }
#personal-time-workbench-overlay .tw-invitation-actions .tw-button { padding: .45rem .75rem; }
#personal-time-workbench-overlay .tw-editor { scroll-margin-top: 6rem; }
#personal-time-workbench-overlay .tw-editor-note { color: var(--tw-muted); font-size: .8rem; line-height: 1.5; margin-bottom: 1.15rem; }
#personal-time-workbench-overlay .tw-editor form { display: grid; gap: .9rem; }
#personal-time-workbench-overlay .tw-editor label { display: grid; gap: .4rem; font-size: .78rem; font-weight: 650; }
#personal-time-workbench-overlay .tw-editor input:focus, #personal-time-workbench-overlay .tw-editor select:focus, #personal-time-workbench-overlay .tw-zone-label select:focus { outline: 2px solid var(--tw-accent); outline-offset: 2px; }
#personal-time-workbench-overlay .tw-hint { margin: 0; color: var(--tw-muted); font-size: .72rem; }
#personal-time-workbench-overlay .tw-form-error { margin: 0; font-size: .78rem; }
#personal-time-workbench-overlay .tw-add { display: flex; width: 100%; min-height: 110px; align-items: center; justify-content: center; flex-direction: column; gap: .15rem; color: var(--tw-text); background: var(--tw-panel); border: 1px dashed var(--tw-line); border-radius: 1.1rem; cursor: pointer; font: inherit; }
#personal-time-workbench-overlay .tw-add:hover { border-color: var(--tw-accent); }
#personal-time-workbench-overlay .tw-add span { color: var(--tw-accent); font-size: 1.5rem; line-height: 1; }
#personal-time-workbench-overlay .tw-add strong { font-size: .85rem; }
#personal-time-workbench-overlay .tw-add small { color: var(--tw-muted); font-size: .72rem; }

.tw-profile-entry, .tw-lobby-entry-link { display: inline-flex; align-items: center; justify-content: center; padding: .65rem 1rem; border-radius: .65rem; background: #d4af37; color: #211808; font-size: .85rem; font-weight: 700; text-decoration: none; }
.tw-profile-entry { margin-bottom: 1.5rem; }
.tw-profile-entry:hover, .tw-lobby-entry-link:hover { filter: brightness(1.08); }
.tw-lobby-fab { position: fixed; top: 6rem; right: 1rem; z-index: 2500; display: inline-flex; align-items: center; justify-content: center; padding: .65rem 1rem; border: 1px solid #efcf87; border-radius: .7rem; background: #d4af37; color: #211808; box-shadow: 0 8px 24px rgba(0,0,0,.22); font-size: .85rem; font-weight: 700; text-decoration: none; }
.tw-lobby-fab:hover { filter: brightness(1.08); }
html.light-mode .tw-profile-entry, html.light-mode .tw-lobby-entry-link { background: #8a5b11; color: #fffdf8; }
html.light-mode .tw-lobby-fab { background: #8a5b11; border-color: #8a5b11; color: #fffdf8; }
.tw-lobby-entry { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding: 1rem 1.2rem; border: 1px solid #54514a; border-radius: .9rem; background: #232627; color: #edf2f7; }
.tw-lobby-entry strong { font-size: .95rem; }
.tw-lobby-entry p { margin: .3rem 0 0; color: #b5bdc5; font-size: .8rem; }
html.light-mode .tw-lobby-entry { background: #fffdf8; color: #252d36; border-color: #d8d5cb; }
html.light-mode .tw-lobby-entry p { color: #596573; }
.tw-public-card { margin: 0 0 1.5rem; padding: 1.25rem; border: 1px solid #345345; border-radius: 1rem; background: #182820; color: #edf6ef; }
.tw-public-card h2 { margin: 0 0 .9rem; font-size: 1rem; font-weight: 700; }
.tw-public-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .55rem; }
.tw-public-slot { padding: .65rem .75rem; border: 1px solid #365b46; border-radius: .6rem; background: #20372a; font-size: .78rem; }
.tw-public-card p { color: #b6cabb; font-size: .72rem; margin: .9rem 0 0; line-height: 1.45; }
html.light-mode .tw-public-card { background: #edf7ee; border-color: #bad9c2; color: #244332; }
html.light-mode .tw-public-slot { background: #f8fcf8; border-color: #cde5d2; }
html.light-mode .tw-public-card p { color: #4b6a57; }

#personal-time-management-extension { --twm-panel: #1a2029; --twm-raised: #222a35; --twm-text: #edf2f7; --twm-muted: #a4afbd; --twm-line: #35404c; --twm-accent: #e5bc62; --twm-accent-text: #211808; box-sizing: border-box; display: grid; gap: .9rem; margin: 0 0 1.25rem; padding: 1.25rem; border: 1px solid var(--twm-line); border-radius: 1rem; background: var(--twm-panel); color: var(--twm-text); color-scheme: dark; }
#personal-time-management-extension * { box-sizing: border-box; }
html.light-mode #personal-time-management-extension { --twm-panel: #fffdf8; --twm-raised: #f3f0e7; --twm-text: #252d36; --twm-muted: #596573; --twm-line: #d8d5cb; --twm-accent: #8a5b11; --twm-accent-text: #fffdf8; color-scheme: light; }
#personal-time-management-extension .tw-manage-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: .5rem 1rem; }
#personal-time-management-extension .tw-manage-head span { display: block; color: var(--twm-accent); font-size: .68rem; font-weight: 700; letter-spacing: .13em; }
#personal-time-management-extension .tw-manage-head h3 { margin: .2rem 0 0; color: var(--twm-text); font-size: 1.15rem; font-weight: 750; }
#personal-time-management-extension .tw-manage-head p, #personal-time-management-extension .tw-manage-note { margin: 0; color: var(--twm-muted); font-size: .78rem; line-height: 1.55; }
#personal-time-management-extension .tw-manage-field { display: grid; gap: .38rem; min-width: 0; font-size: .8rem; font-weight: 650; }
#personal-time-management-extension select, #personal-time-management-extension input[type="datetime-local"], #personal-time-management-extension input[data-tw-manage-reason] { width: 100%; min-width: 0; padding: .65rem .75rem; border: 1px solid var(--twm-line); border-radius: .6rem; background: var(--twm-raised); color: var(--twm-text); font: inherit; }
#personal-time-management-extension :is(select,input,button):focus-visible { outline: 2px solid var(--twm-accent); outline-offset: 2px; }
#personal-time-management-extension .tw-manage-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,1fr); gap: .9rem; align-items: end; }
#personal-time-management-extension .tw-manage-schedule { display: grid; gap: .45rem; min-width: 0; font-size: .8rem; }
#personal-time-management-extension .tw-manage-schedule span { color: var(--twm-muted); overflow-wrap: anywhere; }
#personal-time-management-extension .tw-manage-judges { display: grid; gap: .55rem; font-size: .82rem; }
#personal-time-management-extension .tw-manage-judges label { display: inline-flex; align-items: center; gap: .5rem; width: fit-content; min-height: 1.7rem; cursor: pointer; }
#personal-time-management-extension .tw-manage-judges input { accent-color: var(--twm-accent); }
#personal-time-management-extension .tw-manage-judges p { margin: 0; color: var(--twm-muted); }
#personal-time-management-extension .tw-judge-response { border: 1px solid var(--twm-line); border-radius: 999px; padding: .2rem .45rem; color: var(--twm-muted); font-size: .7rem; white-space: nowrap; }
#personal-time-management-extension .tw-manage-actions, #personal-time-management-extension .tw-manage-save { display: flex; flex-wrap: wrap; gap: .7rem; align-items: end; }
#personal-time-management-extension .tw-manage-save .tw-manage-field { flex: 1 1 15rem; }
#personal-time-management-extension button { min-height: 2.5rem; padding: .55rem .9rem; border: 1px solid var(--twm-accent); border-radius: .6rem; background: var(--twm-accent); color: var(--twm-accent-text); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
#personal-time-management-extension button:hover:not(:disabled) { filter: brightness(1.08); }
#personal-time-management-extension button:disabled, #personal-time-management-extension input:disabled { opacity: .55; cursor: not-allowed; }
#personal-time-management-extension .tw-manage-results { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
#personal-time-management-extension .tw-manage-results li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem .75rem; padding: .6rem .75rem; border: 1px solid var(--twm-line); border-radius: .55rem; background: var(--twm-raised); font-size: .78rem; }
#personal-time-management-extension .tw-manage-results span { color: var(--twm-muted); }
#personal-time-management-extension .tw-manage-error { margin: 0; color: #f0a6aa; font-size: .8rem; }
#personal-time-management-extension .tw-manage-success { margin: 0; color: #83d9ac; font-size: .8rem; }
html.light-mode #personal-time-management-extension .tw-manage-error { color: #aa3946; }
html.light-mode #personal-time-management-extension .tw-manage-success { color: #286b48; }

@media (max-width: 1050px) { #personal-time-workbench-overlay .tw-layout { grid-template-columns: minmax(0, 1fr); } #personal-time-workbench-overlay .tw-side { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 740px) {
  #personal-time-management-extension { padding: 1rem; }
  #personal-time-management-extension .tw-manage-grid { grid-template-columns: minmax(0,1fr); }
  #personal-time-management-extension .tw-manage-actions button, #personal-time-management-extension .tw-manage-save button { width: 100%; }
  #personal-time-workbench-overlay .tw-shell { padding: 6rem 1rem 3rem; }
  #personal-time-workbench-overlay .tw-header { align-items: start; flex-direction: column; }
  #personal-time-workbench-overlay .tw-back { margin-bottom: 1rem; }
  #personal-time-workbench-overlay .tw-toolbar { padding: .8rem; }
  #personal-time-workbench-overlay .tw-week-switch strong { margin-left: 0; width: 100%; }
  #personal-time-workbench-overlay .tw-zone-label { width: 100%; justify-content: space-between; }
  #personal-time-workbench-overlay .tw-zone-label select { min-width: 0; max-width: 68%; }
  #personal-time-workbench-overlay .tw-legend { gap: .5rem .9rem; }
  #personal-time-workbench-overlay .tw-week { display: none; }
  #personal-time-workbench-overlay .tw-side { grid-template-columns: minmax(0, 1fr); }
  #personal-time-workbench-overlay .tw-panel { padding: 1.1rem; }
  #personal-time-workbench-overlay .tw-section-head > span { display: none; }
  #personal-time-workbench-overlay .tw-row-actions { flex-direction: column; }
}
