@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=M+PLUS+Rounded+1c:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap";:root{color:#172033;background:#fff;font-family:Noto Sans JP,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app{--accent: #2563d8;min-height:100svh;display:grid;grid-template-columns:14rem minmax(0,1fr);overflow:hidden;background:#fff;transition:background .3s ease}.app.warning{--accent: #d28a12;background:#fffdf8}.app.interval{--accent: #16816a;background:#f7fcfa}.app.finished{--accent: #d2474f}.sidebar{grid-column:1;grid-row:1;display:flex;flex-direction:column;min-height:0;border-right:1px solid #e4e9f0;background:#f8fafc}.brand{margin:0;padding:1.65rem 1.15rem 1.2rem;color:#1d2a40;font-size:1.02rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.brand span{color:#63718a;font-weight:500}.settings-trigger{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.65rem;margin:.8rem 1rem 1.15rem;color:#4d5e78;background:#fff;border:1px solid #dce3ed;border-radius:.85rem;box-shadow:0 2px 5px #192e5208;font-weight:700;transition:.2s ease}.settings-trigger:hover{color:#172033;border-color:#a8b7cc;box-shadow:0 7px 18px #192e5221}.timer-stage{grid-column:2;grid-row:1;display:grid;align-content:center;justify-items:center;min-height:0;padding:1.6rem 1.5rem .3rem}.label{margin:0 0 1.1rem;color:currentColor;font-size:clamp(1.6rem,3.2vw,3.25rem);font-weight:600;letter-spacing:.11em;text-align:center}.timer-ring{width:min(54svh,40rem);aspect-ratio:1;padding:12px;border-radius:50%;box-shadow:0 14px 35px color-mix(in srgb,var(--accent) 15%,transparent)}.timer-core{height:100%;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf1f6}.clock{width:100%;margin:0;padding-right:.06em;color:currentColor;font-family:inherit;font-size:clamp(4.8rem,10.5vw,10rem);font-weight:500;line-height:.88;letter-spacing:-.06em;text-align:center;font-variant-numeric:tabular-nums}.notice{min-height:1.5em;margin:1.1rem 0 0;color:color-mix(in srgb,currentColor 58%,transparent);font-size:clamp(.82rem,1.2vw,1.05rem);letter-spacing:.06em}.notice.repeat-notice{font-size:clamp(1.23rem,1.8vw,1.575rem)}.warning .notice{color:#ae700b;font-weight:600}.controls{display:flex;flex:1;flex-direction:column;justify-content:center;gap:.75rem;min-height:0;padding:.8rem 1rem}.control{width:100%;min-height:5.2rem;display:grid;place-items:center;gap:.45rem;color:#3f4c62;background:#fff;border:1px solid #dfe6ef;border-radius:.9rem;box-shadow:0 2px 5px #192e5208;font-size:1rem;transition:.2s ease}.control svg{width:1.85rem;height:1.85rem}.control:hover{transform:translateY(-2px);color:#1d2b41;border-color:#b5c2d5;box-shadow:0 8px 18px #192e5214}.control.primary{color:#fff;border-color:var(--accent);background:var(--accent);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 25%,transparent)}.memory-controls .control{min-height:clamp(3.8rem,8.5vh,5.2rem)}.control small{color:#8290a5;font-family:DM Mono,monospace;font-size:.78rem;letter-spacing:.04em}.control.primary small{color:#fffc}.memory-number{color:#8a9ab1;font-size:.62rem;font-weight:700;letter-spacing:.12em}.control.primary .memory-number{color:#ffffffc7}.drawer-backdrop{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#16223433;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-panel{width:min(33rem,100%);height:100%;display:grid;grid-template-rows:auto 1fr auto;background:#fff;box-shadow:-18px 0 48px #192e5229}.settings-panel header{display:flex;align-items:center;justify-content:space-between;padding:2.3rem 2.5rem 1.75rem;border-bottom:1px solid #e6ebf2}.settings-panel header p{margin:0 0 .25rem;color:#738098;font-size:.83rem;font-weight:700;letter-spacing:.12em}.settings-panel h1{margin:0;color:#1d2a40;font-size:2rem}.settings-panel header button{display:grid;place-items:center;width:2.75rem;height:2.75rem;color:#536178;border:1px solid #e1e7ef;border-radius:50%;background:#fff}.settings-body{display:grid;align-content:start;gap:1.25rem;padding:2rem 2.5rem;overflow:auto}.field{display:grid;gap:.55rem;color:#536178;font-size:.9rem;font-weight:600}.field input,.field select{width:100%;padding:.8rem 1rem;color:#1d2a40;background:#fff;border:1px solid #cfd8e5;border-radius:.65rem;outline:0}.field input:focus,.field select:focus{border-color:#4f7ed5;box-shadow:0 0 0 3px #4f7ed524}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.color-picker{display:flex;align-items:center;gap:.65rem;min-height:3.25rem;padding:.4rem .7rem;border:1px solid #cfd8e5;border-radius:.65rem;background:#fff}.color-picker input{width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:.45rem;background:none;cursor:pointer}.color-picker output{color:#536178;font-family:DM Mono,monospace;font-size:.85rem}.time-stepper{display:grid;grid-template-columns:3rem minmax(0,1fr) 3rem;align-items:stretch;border:1px solid #cfd8e5;border-radius:.7rem;overflow:hidden;background:#fff}.time-stepper button{display:grid;place-items:center;color:#3567c6;border:0;background:#f2f6ff}.time-stepper button:hover{background:#dfeaff}.time-stepper button:active{background:#cddfff}.time-stepper button svg{width:1.25rem;height:1.25rem}.time-stepper input{min-width:0;padding:.8rem .25rem;text-align:center;border:0;border-radius:0;font-size:1.2rem;font-weight:700}.time-stepper input:focus{box-shadow:inset 0 0 0 2px #4f7ed5}.switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem;border:1px solid #dbe2eb;border-radius:.75rem}.switch b,.switch small{display:block}.switch b{color:#26344b;font-size:.94rem}.switch small{margin-top:.25rem;color:#7b8798;font-size:.72rem;line-height:1.45}.switch input{display:none}.switch i{position:relative;width:3rem;height:1.7rem;border-radius:999px;background:#bcc6d4;transition:.2s}.switch i:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #192e5233;transition:.2s}.switch input:checked+i{background:#4f7ed5}.switch input:checked+i:after{transform:translate(1.3rem)}.sound-settings{display:grid;gap:.85rem;padding:1.15rem;border:1px solid #dbe2eb;border-radius:.75rem;background:#fafbfd}.sound-settings>p{margin:0;color:#26344b;font-size:1rem;font-weight:700}.sound-test{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.86rem;color:#3567c6;border:1px solid #b8caea;border-radius:.7rem;background:#fff}.sound-test:hover{background:#f2f6ff;border-color:#799ce0}.quick-actions,.memory-settings{display:grid;gap:.8rem;padding:1.15rem;border:1px solid #dbe2eb;border-radius:.75rem;background:#fafbfd}.quick-actions>p,.memory-settings>p{margin:0;color:#26344b;font-size:1rem;font-weight:700}.memory-settings>small{margin-top:-.45rem;color:#748197;line-height:1.5}.quick-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.quick-actions button,.memory-save>button{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.76rem .55rem;color:#3c65aa;border:1px solid #c4d4ed;border-radius:.6rem;background:#fff;font-size:.81rem;font-weight:700}.quick-actions button svg{width:1rem}.memory-save{display:grid;grid-template-columns:minmax(0,1fr) 7rem auto;gap:.6rem;align-items:end}.memory-time{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.memory-time .field{gap:.35rem}.memory-time input{padding:.75rem .45rem;text-align:center}.memory-warning{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) 7rem;align-items:center}.memory-warning input{grid-column:2;padding:.7rem .45rem;text-align:center}.memory-save>button{min-height:2.85rem;color:#3567c6;white-space:nowrap}.memory-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.memory-tabs button{padding:.72rem .25rem;color:#62718a;border:1px solid #d4ddea;border-radius:.55rem;background:#fff;font-size:.76rem;font-weight:700}.memory-tabs button.selected{color:#fff;border-color:#3567c6;background:#3567c6}.memory-editor{display:grid;gap:1.05rem;padding-top:.2rem}.memory-apply{padding:.95rem;color:#fff;border:0;border-radius:.7rem;background:#3567c6;font-weight:700}.settings-panel footer{display:flex;gap:.8rem;padding:1.4rem 2.5rem 2rem;border-top:1px solid #e6ebf2}.settings-panel footer button{flex:1;padding:1rem;border-radius:.7rem;font-weight:700}.cancel{color:#536178;border:1px solid #cfd8e5;background:#fff}.apply{color:#fff;border:0;background:#3567c6}@media(max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 5.8rem}.timer-stage{grid-column:1;grid-row:1}.sidebar{grid-column:1;grid-row:2;flex-direction:row;align-items:stretch;border-top:1px solid #e4e9f0;border-right:0}.brand{display:none}.controls{flex-direction:row;justify-content:center;gap:.45rem;padding:.75rem}.settings-trigger{flex:0 0 4.2rem;min-height:4.2rem;margin:.75rem .75rem .75rem 0;border-radius:.8rem}.settings-trigger span{display:none}.control{flex:1 1 0;width:auto;min-width:0;min-height:4.2rem;height:4.2rem;font-size:.72rem}.timer-stage{padding-top:3rem}.timer-ring{width:min(88vw,34rem)}.notice{padding:0 .8rem;text-align:center}.control svg{width:1.45rem;height:1.45rem}.memory-controls .control{min-height:4.2rem;gap:.25rem}.memory-number,.control small{font-size:.55rem}.quick-actions>div{grid-template-columns:1fr 1fr}.settings-panel{width:100%}.settings-panel header,.settings-body,.settings-panel footer{padding-left:1.5rem;padding-right:1.5rem}}.workshop{min-height:100svh;padding:clamp(1.5rem,5vw,5rem);color:#172033;background:#f6f8fc}.workshop>header,.workshop>section{max-width:68rem;margin:0 auto 1.5rem}.workshop h1{font-size:clamp(2rem,5vw,4rem);margin:.2rem 0 1rem}.eyebrow{color:#3567c6;font-weight:700;letter-spacing:.12em}.join-card{max-width:42rem!important;padding:2rem;background:#fff;border:1px solid #e0e6ee;border-radius:1.25rem}.join-card form{display:grid;gap:1rem}.join-card label{display:grid;gap:.4rem;font-weight:700}.join-card input,.join-card textarea{padding:.8rem;border:1px solid #cfd8e5;border-radius:.6rem;font:inherit}.join-card textarea{min-height:5rem;resize:vertical}.join-card fieldset{display:grid;gap:.6rem;border:0;padding:0}.join-card fieldset label{display:block;font-weight:500}.primary-action,.admin-actions button{padding:1rem 1.2rem;color:#fff;border:0;border-radius:.7rem;background:#3567c6;font-weight:700}.qr-card{display:grid;justify-items:center;padding:1.5rem;background:#fff;border-radius:1rem}.qr-card img{width:15rem;height:15rem}.qr-card code{max-width:100%;overflow:auto}.admin-actions{display:flex;flex-wrap:wrap;gap:.7rem}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.group-grid article{min-height:10rem;display:grid;align-content:start;gap:.55rem;padding:1.1rem;background:#fff;border:1px solid #dfe6ef;border-radius:1rem}.group-grid b{color:#3567c6}.group-grid span{padding:.45rem .6rem;background:#f3f6fb;border-radius:.4rem}.group-grid p{margin:0;line-height:1.7}.app:has(.workshop-topics) .timer-stage{padding-bottom:9.5rem}.workshop-topics{position:fixed;z-index:4;left:12rem;right:1.5rem;bottom:1.5rem;display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem}.workshop-topics article{min-height:6.5rem;padding:.75rem;border:1px solid #dfe6ef;border-radius:.8rem;background:#fffffff5;box-shadow:0 8px 28px #1f335114}.workshop-topics b{color:#3567c6;font-size:.72rem;letter-spacing:.06em}.workshop-topics p{margin:.4rem 0 0;font-size:.86rem;line-height:1.45}@media(max-width:700px){.group-grid{grid-template-columns:repeat(2,1fr)}.workshop-topics{left:1rem;right:1rem;grid-template-columns:repeat(2,1fr);bottom:1rem}.app:has(.workshop-topics) .timer-stage{padding-bottom:18rem}}
