:root{font-family:-apple-system,BlinkMacSystemFont,Helvetica,Roboto,Arial,sans-serif;color:#fff;font-synthesis:none;--background:#4e50bf;--circle:#3e42a2;--outline:#a3b2fd;--progress:#4246a9;--nav:80px;--sidebar:350px}
*{box-sizing:border-box}body{margin:0;background:var(--background);min-height:100svh;overflow-x:hidden;transition:background .35s}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:transparent;color:inherit}button:disabled{cursor:wait;opacity:.45}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid #fff;outline-offset:7px}input:focus-visible{outline:none}a{color:inherit}[hidden]{display:none!important}.eyebrow{display:block;font-weight:500;font-size:11px;letter-spacing:.4em;line-height:1.5}.logo{position:absolute;top:24px;left:24px;object-fit:contain}.welcome{min-height:100svh;position:relative}.welcome-content{min-height:100svh;display:flex;align-items:center;max-width:1440px;margin:auto;padding:75px 48px 90px;gap:45px}.welcome-cover{width:38%;flex-shrink:0;text-align:center}.welcome-cover img{width:100%;height:auto;max-width:424px}.welcome-body{flex:1;min-width:0}.welcome h1{font-size:46px;font-weight:300;letter-spacing:-1.6px;line-height:1.2;margin:0 0 12px}.welcome h2{font-size:24px;font-weight:300;color:#d8d8e7;opacity:.65;margin:0 0 40px;line-height:1.4}.session-input{display:flex;align-items:baseline;font-size:28px;white-space:nowrap;margin:12px 0 24px}.session-input input{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.5);min-width:50px;flex:1;color:#2ef797;outline:0;padding:0 0 3px}.session-input input::placeholder{color:#2ef797;opacity:.8}.session-input input:focus{border-color:#fff}.welcome-actions{display:flex;gap:20px;justify-content:flex-end}.skip-button,.arrow-button{border-radius:3px;background:rgba(0,0,0,.15);height:42px;color:#d8d8e7}.skip-button{padding:0 30px;font-size:18px}.arrow-button{width:120px;display:inline-grid;place-items:center}.arrow-button span{font-family:Arial,sans-serif;font-size:56px;line-height:32px;font-weight:200;transform:translateY(-3px)}.skip-button:hover,.arrow-button:hover{background:rgba(0,0,0,.28)}.welcome-note{font-size:12px;line-height:1.5;color:rgba(255,255,255,.42);text-align:right;margin-top:20px}.local-label,.room-local{font-size:9px;letter-spacing:.17em;position:absolute;bottom:24px;left:24px;color:rgba(255,255,255,.35)}.welcome-about{position:absolute;right:24px;bottom:24px;border:2px solid rgba(255,255,255,.45);border-radius:100%;width:26px;height:26px;font-family:Georgia,serif;font-size:18px;line-height:1;color:rgba(255,255,255,.65)}
.room{min-height:100svh;overflow:hidden;position:relative}.progress-fill{position:fixed;bottom:0;left:0;width:100%;height:0;background:var(--progress);transition:height 1s linear;pointer-events:none}.room-stage{position:relative;width:calc(100% - var(--nav));height:100svh;min-height:510px;transition:width .4s}.room-header h1{position:absolute;top:40px;left:0;width:100%;text-align:center;font-size:16px;font-weight:500;letter-spacing:.4em;color:rgba(0,0,0,.5);margin:0;pointer-events:none}.room-brand{position:absolute;top:26px;left:26px;line-height:0;z-index:1;opacity:.65}.room-brand:hover{opacity:1}.connection{position:absolute;right:24px;top:43px;font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:6px}.connection::before{content:'';width:5px;height:5px;background:#f2c769;border-radius:100%}.connection.online::before{background:#6ff6c3}.connection.online{color:rgba(255,255,255,.44)}.bubble-stage{position:absolute;inset:90px 0 130px}.bubble-stage svg{width:100%;height:100%;overflow:visible}.bubble-circle{fill:var(--circle);stroke:var(--outline);stroke-width:4;transition:fill .2s,stroke .2s,transform .2s;transform-box:fill-box;transform-origin:center}.bubble-text{fill:#fff;text-anchor:middle;font-weight:400;opacity:.85;pointer-events:none;transition:opacity .15s}.bubble:hover .bubble-circle,.bubble:focus-visible .bubble-circle{fill:var(--progress);stroke:#fff;transform:scale(1.07)}.bubble:hover .bubble-text{opacity:1}.bubble{cursor:pointer;outline:none}.bubble:focus-visible .bubble-circle{stroke-width:7}.bubble-hint{position:absolute;bottom:-29px;left:0;width:100%;text-align:center;color:rgba(255,255,255,.4);font-size:12px;pointer-events:none}.clock{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center;padding:0 25px;animation:arrive .4s both}.clock-purpose{font-size:38px;font-weight:300;letter-spacing:-.01em;line-height:1.3;margin:0 0 28px}.time-display{font-size:72px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:rgba(255,255,255,.95);line-height:1.15;margin-bottom:18px}.text-control{display:block;font-size:12px;font-weight:400;letter-spacing:.55em;padding:12px 8px;text-indent:.55em;color:rgba(255,255,255,.7);margin:0 auto;line-height:1.3}.text-control:hover{color:#fff}.finished-message{font-size:18px;color:rgba(255,255,255,.6);margin:0 0 25px}body[data-mode=break]{--background:#2692e4;--circle:#1982d2;--outline:#92c8f2;--progress:#157dcc}body[data-status=paused]{--background:#535362;--progress:rgba(0,0,0,.15)}body[data-status=finished]{--background:#f43d96;--progress:#f32589}body[data-status=finished] .clock-purpose{font-size:52px;margin-bottom:20px}body[data-status=finished] .time-display{display:none}.team{position:absolute;bottom:23px;left:0;width:100%;padding:0 30px;text-align:center}.team-row{display:flex;justify-content:center;align-items:center;gap:7px;min-height:36px}.team-avatars{display:flex;align-items:center;gap:6px}.avatar{width:36px;height:36px;display:inline-flex;justify-content:center;align-items:center;border-radius:50%;font-size:12px;line-height:1;background:#f7f7f7;color:#3e3e4a;position:relative;border:2px solid transparent;flex-shrink:0;cursor:default}.avatar.current{box-shadow:0 0 0 2px rgba(255,255,255,.5)}.avatar::after{content:'';position:absolute;width:7px;height:7px;right:-2px;bottom:0;border-radius:50%;background:#6ff6c3;border:1px solid var(--background)}.avatar.offline{opacity:.38}.avatar.offline::after{background:#aaa}.add-member{width:36px;height:36px;border:1px dashed rgba(255,255,255,.4);border-radius:100%;display:grid;place-items:center;background:rgba(0,0,0,.03);padding:0}.add-member:hover{background:rgba(0,0,0,.15);border-color:#fff}.team>p{font-size:13px;line-height:1.4;color:rgba(255,255,255,.5);margin:10px 0 0}.share-popover{position:absolute;bottom:calc(100% + 16px);left:50%;transform:translateX(-50%);color:#8f8f8f;background:#fff;border-radius:4px;padding:14px;box-shadow:0 3px 20px #0002;max-width:calc(100vw - 100px);width:410px;text-align:left;z-index:6}.share-popover::after{content:'';position:absolute;top:100%;left:50%;border-top:7px solid #fff;border-left:7px solid transparent;border-right:7px solid transparent}.share-popover label{display:block;font-size:12px;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid #ddd}.share-popover>div{display:flex;gap:8px}.share-popover input{min-width:0;flex:1;font-size:12px;border:0;color:#555;background:#f5f5f7;padding:8px 5px;border-radius:3px}.share-popover small{font-size:10px;display:block;margin-top:9px;opacity:.7}.copy-button{border-radius:3px;background:#4e50bf;font-size:11px;padding:8px 10px;color:#fff;white-space:nowrap}.sound-toggle{position:absolute;left:24px;bottom:52px;color:rgba(255,255,255,.5);font-size:24px;line-height:1}.sound-toggle[aria-pressed=true]{opacity:.4;text-decoration:line-through}.room-local{bottom:22px}
.sidebar{position:fixed;right:calc(-1 * var(--sidebar));top:0;bottom:0;width:var(--sidebar);background:rgba(0,0,0,.08);transition:transform .4s;z-index:10}.side-nav{height:100%;position:absolute;right:100%;top:0;display:flex;width:var(--nav);flex-direction:column;justify-content:center;align-items:center;border-left:1px solid transparent;border-right:1px solid transparent;gap:10px;transition:background .2s}.side-nav:hover{border-color:rgba(0,0,0,.15);background:rgba(0,0,0,.06)}.nav-button{width:64px;height:64px;padding:20px;opacity:.65;border-radius:6px;display:grid;place-items:center}.nav-button img{width:23px;height:23px;object-fit:contain}.nav-button:hover,.nav-button.active{opacity:1;background:rgba(0,0,0,.22)}.sidebar-inner{height:100%;padding:24px 30px 40px;overflow:auto}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.sidebar-heading h2{font-weight:400;color:rgba(255,255,255,.5);font-size:28px;margin:0}.close-button{font-size:26px;color:rgba(255,255,255,.5);padding:0 2px}.sidebar h3{font-size:14px;font-weight:400;letter-spacing:.1em;margin:27px 0 14px;line-height:1.4}.sidebar h3:first-child{margin-top:0}.preset-list{display:grid;gap:1px}.preset-row{padding:12px 5px;text-align:center;background:rgba(0,0,0,.1);font-size:14px;letter-spacing:.1em;cursor:pointer}.preset-row:hover{background:rgba(0,0,0,.22)}.preset-form{display:flex;background:rgba(0,0,0,.2);border-radius:0 0 4px 4px}.preset-form input{width:100%;min-width:0;border:0;background:transparent;padding:13px 4px;font-size:12px;color:#fff;text-align:center;outline:0}.preset-form input::placeholder{color:rgba(255,255,255,.55)}.preset-form button{font-size:20px;padding:0 12px}.sidebar-note{font-size:13px;text-align:center;line-height:1.6;margin-top:25px;color:rgba(255,255,255,.65)}.sidebar-note button{font-size:13px;text-decoration:underline;padding:0}.sidebar-note span{display:block}.sidebar-description{font-size:14px;color:rgba(255,255,255,.65);line-height:1.55;margin:20px 0}.sidebar-primary{display:block;border-radius:3px;background:rgba(0,0,0,.25);width:100%;padding:13px 5px;font-size:14px;color:rgba(255,255,255,.85);margin-top:22px}.sidebar-primary:hover{background:rgba(0,0,0,.4)}.member-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #ffffff1a}.member-item .member-name{flex:1;overflow-wrap:anywhere;font-size:15px}.member-item small{display:block;margin-top:4px;font-size:11px;opacity:.5}.member-item .member-status{font-size:10px;color:#ffffff70}.profile-avatar{text-align:center;margin:12px 0 28px}.profile-avatar .avatar{width:62px;height:62px;font-size:21px}.profile-avatar .avatar::after{display:none}#profile-form{text-align:center}#profile-form .eyebrow{font-size:10px;letter-spacing:.2em;opacity:.6}#profile-name{width:100%;color:#fff;border:0;border-bottom:1px solid #ffffff50;background:transparent;text-align:center;font-size:22px;padding:12px 0}.activity-item{border-bottom:1px solid #ffffff1a;padding:15px 0;color:#ffffffb3;font-size:13px;line-height:1.5}.activity-item strong{font-weight:500;color:#fff}.activity-item time{display:block;font-size:10px;opacity:.5;margin-top:5px}.about-list{padding-left:21px;color:rgba(255,255,255,.75);font-size:14px;line-height:1.6}.about-list li{padding:7px 0 7px 3px}.sidebar-open .sidebar{transform:translateX(calc(-1 * var(--sidebar)))}.sidebar-open .room-stage{width:calc(100% - var(--nav) - var(--sidebar))}.sidebar-open .connection{top:77px;right:50%;transform:translateX(50%)}.sidebar-shade{position:fixed;inset:0;background:#0005;z-index:9}
dialog{border:0;max-width:calc(100vw - 36px);padding:0;color:#212121;background:#f8f8ff;border-radius:8px;box-shadow:0 0 40px #0003}dialog::backdrop{background:rgba(78,80,191,.94)}.name-dialog{width:520px;padding:46px 48px 28px;text-align:center}.name-dialog h2{margin:0 0 17px;font-size:11px;font-weight:400;color:#212121}.name-dialog input{width:100%;background:transparent;border:0;border-bottom:1px solid #0003;font-size:28px;line-height:1.5;padding:0 0 3px;color:#212121;text-align:center;border-radius:0}.name-dialog input::placeholder{color:#212121;opacity:1}.name-dialog input:focus::placeholder{opacity:.55}.name-dialog .arrow-button{margin:24px auto 8px;color:#fff;background:rgba(0,0,0,.15)}.name-dialog .arrow-button:hover{background:#4e50bf}.dialog-note{font-size:11px;line-height:1.6;color:#9696a1;margin:15px 0 0}.joining-room{font-size:12px;color:#9292a1;margin:0 0 15px;overflow-wrap:anywhere}.joining-room:empty{display:none}.form-error{color:#a72b59;font-size:12px;line-height:1.5;min-height:0;margin:12px 0 0}.form-error:empty{display:none}.custom-dialog{width:440px;padding:42px 40px;text-align:center}.custom-dialog .eyebrow{font-size:11px;margin:0 0 30px;font-weight:400}.custom-dialog>p{font-size:15px;line-height:1.6;color:#686879}.dialog-close{position:absolute;right:12px;top:9px;color:#8c8c97;font-size:26px}.custom-dialog label[for=custom-minutes]{display:block;font-size:18px;color:#777788}#custom-minutes{display:block;width:100%;border:0;border-bottom:1px solid #0002;background:transparent;color:#4e50bf;text-align:center;font-size:52px;font-weight:300;padding:12px;margin:8px 0 20px}.save-preset{display:flex;font-size:12px;color:#777788;gap:8px;align-items:center;justify-content:center}.save-preset input{accent-color:#4e50bf}.custom-start{background:#4e50bf;color:#fff;width:100%;border-radius:3px;padding:14px;font-size:15px;margin-top:25px}.toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 40px);background:rgba(20,20,40,.88);padding:13px 22px;color:#fff;border-radius:5px;box-shadow:0 4px 30px #0002;font-size:13px;line-height:1.5;text-align:center;z-index:30}.noscript{position:fixed;top:0;width:100%;background:#fff;color:#333;text-align:center;padding:20px;z-index:40}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes arrive{from{opacity:0;transform:translate(-50%,-55%)}to{opacity:1;transform:translate(-50%,-50%)}}
@media(min-width:1600px){.welcome-content{gap:60px}.welcome h1{font-size:52px}.welcome h2{font-size:26px}}
@media(max-width:1000px){.welcome-content{gap:28px;padding-left:30px;padding-right:30px}.welcome-cover{width:36%}.welcome h1{font-size:36px}.welcome h2{font-size:20px}.session-input{font-size:23px}.room-brand{opacity:.45}.room-brand img{width:100px}.connection{top:75px;right:50%;transform:translateX(50%)}.clock-purpose{font-size:30px}}
@media(max-width:760px){:root{--nav:50px;--sidebar:calc(100vw - 50px)}.welcome-content{flex-direction:column;justify-content:center;gap:12px;padding:90px 25px 80px}.welcome-cover{width:100%;max-width:240px}.welcome-body{width:100%;max-width:500px;flex:0}.welcome h1{font-size:32px;margin-top:8px;letter-spacing:-1px}.welcome h2{font-size:18px;margin-bottom:30px}.session-input{font-size:21px}.welcome .eyebrow{font-size:9px;letter-spacing:.3em}.welcome-note{font-size:10px}.welcome .logo{width:122px;height:auto}.local-label{font-size:8px;bottom:20px}.welcome-about{bottom:20px}.room-stage{min-height:480px}.room-header h1{top:25px;font-size:12px;letter-spacing:.3em}.room-brand{top:24px;left:17px}.room-brand img{width:64px;height:auto}.connection,.sidebar-open .connection{top:56px;right:50%;transform:translateX(50%);font-size:9px;white-space:nowrap}.bubble-stage{inset:90px 4px 145px}.bubble-hint{font-size:10px;bottom:-20px;padding:0 12px}.nav-button{width:42px;height:42px;padding:12px}.nav-button img{width:19px;height:19px}.side-nav{gap:10px}.sidebar-inner{padding:23px 24px 40px}.sidebar-heading h2{font-size:24px}.sidebar-open .room-stage{width:calc(100% - var(--nav))}.sidebar-open .sidebar{background:#383a8c}.team{bottom:32px;padding:0 16px}.team>p{font-size:11px}.avatar,.add-member{width:30px;height:30px;font-size:10px}.team-avatars{gap:5px}.room-local{font-size:7px;bottom:10px;left:17px}.sound-toggle{left:12px;bottom:37px;font-size:20px}.time-display{font-size:60px}.clock-purpose{font-size:24px;line-height:1.4;padding:0 10px}.text-control{font-size:10px;letter-spacing:.4em;padding:13px 3px}body[data-status=finished] .clock-purpose{font-size:36px}.finished-message{font-size:15px}.share-popover{width:330px;max-width:calc(100vw - 80px)}.share-popover input{font-size:10px}.name-dialog{padding:38px 25px 25px}.name-dialog input{font-size:24px}.name-dialog .eyebrow{font-size:10px;letter-spacing:.3em}.custom-dialog{padding:38px 25px}.toast{bottom:125px;font-size:12px}.sidebar-description{font-size:13px}}
@media(max-height:600px) and (min-width:761px){.room-header h1{top:25px}.connection{top:28px}.bubble-stage{inset:60px 0 100px}.team{bottom:16px}.welcome-cover img{max-height:320px}.clock{top:45%}.clock-purpose{font-size:28px;margin-bottom:15px}.time-display{font-size:55px}.room-local{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* User-provided photos replace the original welcome illustration. */
.welcome-cover.photo-stack{position:relative;aspect-ratio:1;height:auto;max-width:424px}
.welcome-cover .welcome-photo{position:absolute;height:auto;aspect-ratio:1;object-fit:cover;border:4px solid #a3b2fd;border-radius:26px;box-shadow:0 14px 32px #0002;max-width:none}
.welcome-cover .welcome-photo--focus{width:81%;top:0;left:0;transform:rotate(-5deg)}
.welcome-cover .welcome-photo--break{width:55%;bottom:0;right:0;transform:rotate(7deg)}
.clock-photo{display:block;width:96px;height:96px;object-fit:cover;border-radius:50%;border:3px solid #ffffff80;margin:0 auto 20px;box-shadow:0 8px 24px #0002}
@media(max-width:760px){.welcome-cover.photo-stack{width:100%;max-width:260px;margin-bottom:12px}.welcome-cover .welcome-photo{border-radius:20px;border-width:3px}.clock-photo{width:80px;height:80px;margin-bottom:16px}}
@media(max-height:600px) and (min-width:761px){.welcome-cover.photo-stack{max-width:300px}.clock-photo{width:60px;height:60px;margin-bottom:12px}}

@media(max-width:760px){.session-input>span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.session-input input{width:0;min-width:110px}}
