._overlay_1rxb8_4{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;justify-content:center;align-items:center}body.scheduler-open{overflow:hidden}._container_1rxb8_18{background:var(--bg-body);width:95vw;height:90vh;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}._header_1rxb8_29{padding:1rem;background:var(--bg-card);border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}._header_1rxb8_29 h2{font-size:1.5rem;font-weight:500}._controls_1rxb8_44{display:flex;gap:1rem}._controls_1rxb8_44 button{cursor:pointer;padding:.5rem 1rem;border:none;border-radius:4px;font-family:inherit;font-weight:500;background:#e0e0e0;transition:background-color .2s}._controls_1rxb8_44 button:hover{background:#d0d0d0}._controls_1rxb8_44 button._save_1rxb8_64{background:var(--color-primary);color:#fff}._controls_1rxb8_44 button._save_1rxb8_64:hover{background:var(--color-primary-dark)}._controls_1rxb8_44 button._cancel_1rxb8_72{background:transparent;border:1px solid #ccc}._workspace_1rxb8_78{display:flex;flex:1;overflow:hidden}._sidebar_1rxb8_84{width:250px;flex-shrink:0;border-right:1px solid #ddd;padding:1rem;overflow-y:auto;background:#fff;z-index:20}._draggableItem_1rxb8_94{padding:.75rem;background:var(--color-primary);color:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm);margin-bottom:.5rem;cursor:grab;font-size:.9rem;border-radius:.5rem;transition:transform .1s;touch-action:none}._draggableItem_1rxb8_94:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}._draggableItem_1rxb8_94._highlight_1rxb8_112{background:var(--color-secondary)}._timelineContainer_1rxb8_117{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}._timelineHeader_1rxb8_126{display:flex;flex-shrink:0;border-bottom:1px solid #ccc;background:#f9f9f9;padding-left:60px;overflow-y:scroll;scrollbar-width:none;box-sizing:border-box}._timelineHeader_1rxb8_126::-webkit-scrollbar{display:none}._venueHeader_1rxb8_141{flex:1;min-width:200px;text-align:center;padding:.75rem;font-weight:500;border-right:1px solid #eee;color:var(--text-subtle);font-size:.9rem;position:sticky;top:0;box-sizing:border-box}._timelineBody_1rxb8_157{flex:1;overflow-y:auto;overflow-x:auto;display:flex;position:relative;scroll-behavior:smooth}._timeAxis_1rxb8_167{width:60px;flex-shrink:0;border-right:1px solid #ddd;background:#fff;position:sticky;left:0;z-index:30;box-sizing:border-box}._timeLabel_1rxb8_178{position:absolute;width:100%;text-align:right;padding-right:8px;transform:translateY(-50%);font-size:.75rem;color:var(--text-muted);pointer-events:none}._tracksContainer_1rxb8_190{display:flex;flex:1;box-sizing:border-box}._track_1rxb8_190{flex:1;min-width:200px;border-right:1px solid #eee;position:relative;background:transparent}._gridLine_1rxb8_205{position:absolute;left:0;right:0;border-top:1px solid #d9d9d9;pointer-events:none;z-index:0}._daySeparator_1rxb8_214{position:absolute;left:0;right:0;border-bottom:1px solid #ccc;background:#fffffff2;z-index:10;padding:4px 8px;font-weight:700;font-size:.85rem;color:var(--color-primary);pointer-events:none}._currentTimeLine_1rxb8_228{position:absolute;left:0;right:0;height:2px;background:var(--color-danger);z-index:25;pointer-events:none;box-shadow:0 1px 2px #0003}._currentTimeKnob_1rxb8_239{position:absolute;left:-5px;top:-4px;width:10px;height:10px;background:var(--color-danger);border-radius:50%}._event_1rxb8_250{position:absolute;left:3px;right:3px;background:var(--color-primary);color:#fff;border-radius:4px;box-shadow:var(--shadow-sm);font-size:.85rem;overflow:hidden;cursor:grab;z-index:5;padding:2px 4px;border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;box-sizing:border-box;transition:box-shadow .1s;touch-action:none}._event_1rxb8_250:hover{box-shadow:var(--shadow-md);z-index:20}._event_1rxb8_250._highlight_1rxb8_112{background:var(--color-secondary)}._shadowEvent_1rxb8_281{position:absolute;left:3px;right:3px;background:#0000000d;border:2px dashed #bbb;border-radius:4px;z-index:4;pointer-events:none;display:flex;align-items:flex-start;justify-content:flex-end;padding:2px 4px;box-sizing:border-box}._resizer_1rxb8_297{position:absolute;bottom:0;left:0;right:0;height:8px;cursor:ns-resize;background:transparent}._resizer_1rxb8_297:hover{background:#0000001a}:root{--color-primary: #388e3c;--color-secondary: #023e8a;--color-secondary-light: #0096c7;--color-primary-dark: #43a047;--color-primary-light: #c8e6c9;--color-danger: #e64a19;--bg-body: #f2f2f2;--bg-card: #fff;--text-main: #000;--text-muted: #888;--text-subtle: #666;--text-placeholder: #aaa;--shadow-sm: 0 .0625rem .125rem rgba(0, 0, 0, .125);--shadow-md: 0 .25rem .5rem rgba(0, 0, 0, .25);--shadow-lg: 0 .5rem 1rem rgba(0, 0, 0, .25);--font-main: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}@font-face{font-family:Roboto;src:local("Roboto"),url(/fonts/roboto/Roboto-Medium.ttf) format("truetype");font-weight:500}@font-face{font-family:Roboto;src:local("Roboto"),url(/fonts/roboto/Roboto-Regular.ttf) format("truetype");font-weight:400}h1,h2,h3{margin:0}html,body{width:100vw;height:100vh;margin:0;font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-body)}body.center,.center{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;justify-items:center;align-items:center;min-height:100vh}#login,#register{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem}:is(#login,#register) h1{font-size:3rem;font-weight:500;color:var(--text-main)}:is(#login,#register) h2{font-size:.8rem;font-weight:500;color:var(--text-muted)}:is(#login,#register) h3{font-size:1.5rem;font-weight:500;color:var(--text-main);margin:1rem 0 .5rem}:is(#login,#register) input,:is(#login,#register) select,:is(#login,#register) button{white-space:nowrap;width:20rem;padding:.5rem;margin:.5rem 0;box-sizing:border-box;font-family:inherit;accent-color:var(--color-primary)}:is(#login,#register) .hint{font-size:.8rem;color:var(--text-muted);margin:-.25rem 0 .5rem;width:20rem;padding:0 .5rem;box-sizing:border-box}:is(#login,#register) button{cursor:pointer;color:#fff;background-color:var(--color-primary);text-transform:uppercase;font-weight:500;border:none;border-radius:.25rem;box-shadow:var(--shadow-sm)}:is(#login,#register) button:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}:is(#login,#register) button[disabled]{cursor:initial;background-color:#aaa;box-shadow:var(--shadow-sm)}:is(#login,#register) .registration-checkbox{margin:.5rem 0;width:20rem;display:flex;align-items:center}:is(#login,#register) .registration-checkbox input{width:initial;margin:0 .5rem 0 0;padding:0}:is(#login,#register) .registration-checkbox label{font-size:.9rem}:is(#login,#register) .login-register-switcher{margin:.5rem 0 1rem;font-size:.9rem;color:#555}:is(#login,#register) .login-register-switcher a{color:var(--color-primary)}#loading{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem}#loading h1{font-size:3rem;font-weight:500}#talks .add{position:fixed;z-index:2;right:1rem;bottom:1rem;cursor:pointer;width:4rem;height:4rem;font-size:1.667rem;line-height:4rem;text-align:center;color:#fff;background-color:var(--color-primary);border-radius:2rem;box-shadow:0 .25rem .5rem #00000040,0 .5rem 1rem #00000040}#talks .add:hover{background-color:var(--color-primary-dark)}#talks>.title{padding:1rem 1rem 0;display:grid;grid-template-columns:min-content 1fr;grid-template-rows:min-content;column-gap:1rem;align-items:center}#talks>.title h1{font-size:2.5rem;font-weight:500;color:var(--text-main)}#talks>.title .calendar{font-size:.9rem;color:var(--color-primary);white-space:nowrap;padding:.5rem 0;justify-self:end}#talks .heading{padding:.5rem 1rem;display:flex;align-items:center}#talks .heading h2{flex-grow:1;font-size:1.25rem;font-weight:500;color:var(--text-main);margin:.25rem 0}#talks .heading button{cursor:pointer;white-space:nowrap;padding:.5rem .75rem;color:var(--text-muted);background:transparent;text-transform:uppercase;font-size:.9rem;font-family:inherit;font-weight:500;border:.125rem solid #aaa;border-radius:.25rem}#talks .heading button:hover{color:var(--text-main);border-color:var(--text-main)}#talks .talks{padding:.5rem 1rem;display:grid;grid-template-columns:calc(100vw - 2rem);grid-auto-rows:min-content;column-gap:1rem;row-gap:1rem;align-items:start;box-sizing:border-box}.talk{display:grid;position:relative;background-color:var(--bg-card);border-radius:1rem;box-shadow:var(--shadow-md);grid-template-columns:100%;grid-template-rows:repeat(7,min-content)}.talk .delete{position:absolute;z-index:1;cursor:pointer;top:-.75rem;right:-.75rem;width:2rem;height:2rem;font-size:1.667rem;font-weight:500;text-align:center;line-height:2rem;color:var(--color-danger);background-color:#fff;border-radius:50%;box-shadow:var(--shadow-md)}.talk .delete:hover{color:#fff;background-color:var(--color-danger)}.talk .stream{padding:0 1rem .25rem;font-size:.9rem}.talk .stream .emoji{font-style:normal;display:inline-block}.talk .stream a{text-decoration:none;color:var(--color-primary);font-weight:500;display:flex;align-items:center;gap:.25rem}.talk .stream a:hover{text-decoration:underline;color:var(--color-primary-dark)}.talk .stream span.no-stream{color:var(--text-subtle);font-style:italic;display:flex;align-items:center;gap:.25rem}.talk .title{font-size:1.25rem;font-weight:500;color:var(--text-main);padding:1rem 1rem .25rem;overflow-wrap:break-word}.talk .title.empty{font-style:italic;color:var(--text-subtle)}.talk .title.editable{border-radius:1rem 1rem 0 0}.talk .scheduled-at{padding:.25rem 1rem 0}.talk .duration{padding:0 1rem}.talk .location{padding:0 1rem .25rem}.talk .description{padding:.25rem 1rem;white-space:pre-wrap}.talk .description.empty{font-style:italic;color:var(--text-placeholder)}.talk .scheduled-at,.talk .duration,.talk .location,.talk .description{font-size:.9rem;color:var(--text-subtle);overflow-wrap:break-word}.talk input,.talk select,.talk textarea{font-family:inherit;color:var(--text-main);padding:inherit;width:100%;box-sizing:border-box;border:1px solid #eee}.talk textarea{resize:vertical}.talk .editable{cursor:pointer}.talk .editable:hover{background-color:#eee}.talk .operation{padding:.5rem 1rem 1rem;display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}.talk .operation button{cursor:pointer;white-space:nowrap;color:var(--color-primary);background-color:transparent;text-transform:uppercase;font-size:.9rem;font-weight:500;padding:.5rem .75rem;border:.125rem solid var(--color-primary-light);border-radius:.25rem}.talk .operation button:hover{border-color:var(--color-primary)}.talk .operation button.noob{grid-column:1 / 2}.talk .operation button.nerd{grid-column:2 / 3}.talk.participating{background-color:var(--color-primary)}.talk.participating div.title{color:#fff}.talk.participating div.scheduled-at,.talk.participating div.duration,.talk.participating div.location,.talk.participating div.description{color:var(--color-primary-light)}.talk.participating .editable:hover{background-color:var(--color-primary-dark)}.talk.participating .operation button{border-color:var(--color-primary-light);color:var(--color-primary-light)}.talk.participating .operation button:hover{background-color:var(--color-primary-dark)}.talk.participating .operation button.participating{border-color:transparent;color:var(--color-primary);background-color:#fff;box-shadow:var(--shadow-sm)}.talk.participating .operation button.participating:hover{background-color:var(--color-primary-light)}.talk.participating .stream a{color:#fff}.talk.participating .stream span.no-stream{color:var(--color-primary-light)}.talk.highlight{background-color:var(--color-secondary)}.talk.highlight div.title{color:#fff}.talk.highlight div.scheduled-at,.talk.highlight div.duration,.talk.highlight div.location,.talk.highlight div.description{color:var(--color-primary-light)}.talk.highlight .editable:hover{background-color:var(--color-secondary-light)}.talk.highlight .operation button{border-color:var(--color-primary-light);color:var(--color-primary-light)}.talk.highlight .operation button:hover{background-color:var(--color-secondary-light)}.talk.highlight .operation button.participating{border-color:transparent;color:var(--color-primary);background-color:#fff;box-shadow:var(--shadow-sm)}.talk.highlight .operation button.participating:hover{background-color:#f2f2f2}.talk.highlight .stream a{color:#fff}.talk.highlight .stream span.no-stream{color:var(--color-primary-light)}.calendar-dialog{display:none;position:fixed;z-index:3;background-color:#00000080;inset:0}.calendar-dialog.open{display:grid;place-items:center}.calendar-dialog .box{background-color:#fff;border-radius:1rem;box-shadow:var(--shadow-md);padding:1rem;width:calc(100vw - 3rem);max-width:25rem;box-sizing:border-box}.calendar-dialog .box h1{font-size:1.5rem;font-weight:500;color:var(--text-main)}.calendar-dialog .box h2{font-size:.85rem;font-weight:500;color:var(--text-muted);margin-bottom:1rem}.calendar-dialog .box .description{color:#444;font-size:.9rem;margin-bottom:.5rem}.calendar-dialog .box a{display:block;font-size:.9rem;color:var(--color-primary);margin-bottom:.5rem}.calendar-dialog .box .personalization{margin-bottom:.5rem}.calendar-dialog .box .personalization input{margin-right:.5rem;accent-color:var(--color-primary)}.calendar-dialog .box .personalization label{font-size:.9rem;color:#444}.calendar-dialog .box .hint{color:#444;font-size:.9rem}.footer{line-height:1.5rem;text-align:center;padding:.75rem}.footer a{font-size:.9rem;color:var(--color-primary)}@media(min-width:32em){#talks .talks{grid-template-columns:repeat(2,1fr)}}@media(min-width:48em){#talks .talks{grid-template-columns:repeat(3,1fr)}}@media(min-width:64em){#talks .talks{grid-template-columns:repeat(4,1fr)}}@media(min-width:80em){#talks .talks{grid-template-columns:repeat(5,1fr)}}@media(min-width:96em){body{display:grid;grid-template-columns:1fr;grid-template-rows:min-content;justify-items:center}#talks .heading{width:94rem}#talks .talks{grid-template-columns:repeat(6,calc((96rem - 7rem) / 6))}.talk{width:calc((96rem - 7rem) / 6)}}#loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;height:100vh}#loading h1{font-size:3rem;font-weight:500;margin-bottom:1rem}#loading div{font-size:.85rem;color:var(--text-muted);font-weight:500}.spinner{width:3rem;height:3rem;border:.25rem solid var(--color-primary-light);border-top:.25rem solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
