@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}.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.64rem,2.4vw,2.1rem)}.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)}.memory-control{position:relative}.memory-control .control{padding-right:2.25rem}.memory-settings-trigger{position:absolute;top:50%;right:.48rem;z-index:1;display:grid;place-items:center;width:1.9rem;height:1.9rem;transform:translateY(-50%);color:#77869b;border:0;border-radius:.5rem;background:transparent}.memory-settings-trigger:hover{color:#3567c6;background:#edf3ff}.memory-settings-trigger svg{width:1rem;height:1rem}.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}.add-memory{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:0 1rem 1rem;padding:.8rem;color:#3567c6;border:1px dashed #aebfda;border-radius:.75rem;background:transparent;font-size:.83rem;font-weight:700}.add-memory:hover{border-color:#3567c6;background:#edf3ff}.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}.memory-editor{display:grid;gap:1.05rem}.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}.memory-control{flex:1 1 0;min-width:0}.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}.add-memory{flex:0 0 3.6rem;margin:.75rem .75rem .75rem 0;padding:.5rem}.add-memory span{display:none}.memory-number,.control small{font-size:.55rem}.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}}
