:root{--bg:#fbf7ec;--paper:#fff;--ink:#1d2a22;--ink-2:#4c5a51;--green:#1b7a43;--green-soft:#dcefe2;--yellow:#ffd65c;--danger:#b3261e;--line:2.5px solid var(--ink);--shadow:4px 4px 0 var(--ink);--radius:18px;--font:"BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:18px;line-height:1.6}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--green)}small{color:var(--ink-2);font-size:.8em;font-weight:400}.app{max-width:600px;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 140px);margin:0 auto}.app.result{padding-bottom:calc(env(safe-area-inset-bottom) + 60px)}.muted{color:var(--ink-2);font-size:16px}.hint{color:var(--ink-2);margin:10px 0 0;font-size:16px}.section{margin-top:32px}.section-title{margin:28px 0 10px;font-size:22px}.btn{border:var(--line);background:var(--paper);min-height:56px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 18px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{box-shadow:none;transform:translate(2px,2px)}.btn.primary{background:var(--green);color:#fff}.btn.primary small{color:#e7f5ec}.btn.big{min-height:64px;font-size:20px}.btn.block{flex-direction:row;width:100%;display:flex}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.4;box-shadow:none}.btn.block+.btn.block{margin-top:12px}.btn.primary.block.big{flex-direction:row;gap:8px}.btn small{display:block}.link{min-height:48px;color:var(--green);text-underline-offset:4px;background:0 0;border:none;padding:8px 0;font-size:17px;font-weight:700;text-decoration:underline;display:inline-block}.row-btns{gap:10px;display:flex}.row-btns>*{flex:1}.row-btns.wrap{flex-wrap:wrap}.row-btns.wrap>*{flex:45%}.main-actions{margin-top:16px}.warn{border:var(--line);border-radius:var(--radius);background:#ffe4e0;margin-bottom:16px;padding:14px 16px;font-size:16px}.warn b{font-size:18px;display:block}.toast{z-index:50;left:50%;bottom:calc(env(safe-area-inset-bottom) + 160px);background:var(--ink);color:#fff;border-radius:16px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:12px 12px 12px 18px;font-size:16px;font-weight:700;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}:is(body:has(.result) .toast,body:has(.home-head) .toast){bottom:calc(env(safe-area-inset-bottom) + 20px)}.toast button{background:var(--yellow);min-height:48px;color:var(--ink);border:none;border-radius:12px;flex:none;padding:0 14px;font-weight:700}.home-head h1{margin:8px 0 4px;font-size:36px;line-height:1.2}.home-head p{color:var(--ink-2);margin:0 0 20px}.cards{gap:12px;margin:0;padding:0;list-style:none;display:grid}.card-link{border:var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);color:var(--ink);flex-direction:column;gap:2px;padding:14px 18px;text-decoration:none;display:flex}.card-link:active{box-shadow:none;transform:translate(2px,2px)}.card-title{font-size:20px;font-weight:700}.card-sub{color:var(--ink-2);font-size:16px}.card-sub.draft{color:var(--danger);font-weight:700}.install{border:var(--line);border-radius:var(--radius);background:var(--yellow);box-shadow:var(--shadow);margin-top:24px;padding:16px 18px}.install h2{margin:0 0 4px;font-size:22px}.install p{margin:0 0 12px}.steps{border:2px solid var(--ink);background:var(--paper);border-radius:14px;margin:0;padding:10px 14px;list-style:none}.steps li{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;font-weight:700;display:flex}.num{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.key{border:2px solid var(--ink);background:var(--green-soft);border-radius:9px;place-items:center;width:36px;height:36px;display:inline-grid}.install .link{color:var(--ink)}.topline{justify-content:space-between;align-items:center;min-height:48px;display:flex}.back{min-height:48px;color:var(--green);align-items:center;gap:2px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.progress{color:var(--ink-2);font-size:18px;font-weight:700}.step-title{margin:8px 0;font-size:28px;line-height:1.3}.step-sub{color:var(--ink-2);margin:0 0 8px}.q{margin:24px 0 8px;font-size:20px}.q small{font-size:15px}.field{margin-top:18px;display:block}.field>span{margin-bottom:6px;font-weight:700;display:block}.field input[type=text],.field input[type=date],.field input[type=number],.field textarea,textarea.paste{border:var(--line);background:var(--paper);border-radius:14px;width:100%;min-height:56px;padding:10px 14px;font-size:20px}.field textarea,textarea.paste{line-height:1.6}input:focus,textarea:focus{outline:4px solid var(--yellow);outline-offset:0}.input-suffix{align-items:center;gap:8px;font-weight:700;display:flex}.input-suffix input{width:120px!important}.templates{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.template{text-align:left;border:var(--line);background:var(--paper);min-height:72px;box-shadow:3px 3px 0 var(--ink);border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.template b{font-size:19px}.template span{color:var(--ink-2);font-size:15px}.template.on{background:var(--green);color:#fff}.template.on span{color:#e7f5ec}.count-big{margin:4px 0 12px;font-size:26px;font-weight:700}.count-big small{font-size:16px}.members{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.member{border:var(--line);background:var(--paper);border-radius:16px;grid-template-columns:34px 1fr auto;align-items:center;gap:6px 8px;padding:10px;display:grid}.member.skip{background:#ececec}.member.skip input[type=text]{color:var(--ink-2);text-decoration:line-through}.member .remove{border:2px solid var(--danger);background:var(--paper);width:48px;height:48px;color:var(--danger);border-radius:12px;font-size:24px;font-weight:700;line-height:1}.sort-btns{gap:6px;display:flex}.sort-btns button{border:2px solid var(--ink);background:var(--paper);border-radius:12px;width:48px;height:48px;font-size:18px}.sort-btns button:disabled{opacity:.3}.exempt{min-height:40px;color:var(--ink-2);grid-column:2/-1;align-items:center;gap:8px;font-size:16px;display:flex}.exempt input{width:26px;height:26px;accent-color:var(--ink)}.who-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.btn.small{min-height:48px;padding:4px 14px;font-size:16px}.hint.top{margin:0 0 12px}.member-no{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:16px;font-weight:700;display:grid}.member input{border:2px solid var(--ink);border-radius:12px;min-width:0;min-height:52px;padding:6px 12px;font-size:20px}.choice{gap:10px;display:flex}.choice>button{border:var(--line);background:var(--paper);min-height:60px;box-shadow:3px 3px 0 var(--ink);border-radius:14px;flex:1;padding:6px 8px;font-size:20px;font-weight:700}.choice>button.on{background:var(--green);color:#fff;box-shadow:none;transform:translate(3px,3px)}.choice>button.on small{color:#e7f5ec}.choice.small>button{min-height:52px;font-size:17px}.choice.column{flex-direction:column}.choice.column>button{text-align:left;flex-direction:column;align-items:flex-start;padding:8px 16px;display:flex}.choice small{font-size:15px}.choice.small{flex-wrap:wrap;margin-top:10px}.weekdays{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekdays button{border:var(--line);background:var(--paper);border-radius:12px;min-height:56px;font-size:20px;font-weight:700}.weekdays button.sun{color:var(--danger)}.weekdays button.sat{color:#1a56b0}.weekdays button.on.sun,.weekdays button.on.sat{color:#fff}.choice.grid2{grid-template-columns:1fr 1fr;display:grid}.weekdays button.on{background:var(--green);color:#fff}.toggle-row{align-items:flex-start;gap:12px;margin-top:16px;font-weight:700;display:flex}.toggle-row input{width:30px;height:30px;accent-color:var(--green);flex:none;margin-top:2px}.toggle-row small{font-weight:400;display:block}.detail{padding:2px 0 6px}.preview-box{border:var(--line);border-radius:var(--radius);background:var(--green-soft);margin-top:24px;padding:14px 16px}.preview-box b{font-size:19px;display:block}.preview-box>span{color:var(--ink-2);font-weight:700;display:block}.preview-box ul{margin:10px 0 0;padding:0;list-style:none}.preview-box li{border-top:1px dashed var(--ink-2);gap:12px;padding:4px 0;display:flex}.preview-box li span:first-child{flex:none;width:7em;font-weight:700}.preview-box li.more{color:var(--ink-2)}.bottom-bar{z-index:20;padding:12px 16px calc(env(safe-area-inset-bottom) + 12px);background:var(--bg);border-top:2px solid var(--ink);position:fixed;bottom:0;left:0;right:0}.bottom-bar>*{max-width:568px;margin-left:auto;margin-right:auto}.need{text-align:center;color:var(--danger);margin:6px 0 0;font-size:15px;font-weight:700}.bar-summary{text-align:center;margin:0 0 8px;font-size:18px;font-weight:700}.wizard:has(input:focus,textarea:focus) .bottom-bar{border-top:none;padding:20px 0 0;position:static}.wizard:has(input:focus,textarea:focus){padding-bottom:40px}.ranges{gap:8px;margin:0 0 10px;padding:0;list-style:none;display:grid}.ranges li{border:2px solid var(--ink);background:var(--paper);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.ranges button{border:2px solid var(--danger);background:var(--paper);width:44px;height:44px;color:var(--danger);border-radius:10px;font-size:20px;font-weight:700}.range-form{border:2px dashed var(--ink-2);border-radius:14px;padding:12px}.result-title{margin:8px 0 2px;font-size:28px;line-height:1.3}.summary{margin:8px 0 0;font-size:19px;font-weight:700}.section-title small{font-size:15px}.paper-box{border-radius:6px;position:relative;overflow:hidden}.papers{transform-origin:0 0;width:210mm}.papers .sheet{background:#fff;width:210mm;height:297mm;margin-bottom:12px;padding:12mm 12mm 14mm;box-shadow:0 2px 10px #00000040}.swap-hint{z-index:10;background:var(--yellow);border:2px solid var(--ink);border-radius:12px;padding:10px 14px;font-weight:700;position:sticky;top:0}.preview-details{margin-top:24px}.preview-details summary{min-height:56px;color:var(--green);cursor:pointer;align-items:center;font-size:19px;font-weight:700;display:flex}.preview-details[open] summary{margin-bottom:10px}.rows{border:var(--line);border-radius:var(--radius);background:var(--paper);margin:0;padding:0;list-style:none;overflow:hidden}.rows li+li{border-top:1px solid #b9c2bc}.row{text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 14px;display:flex}.row:active,.row.picked{background:var(--yellow)}.row.off{color:var(--ink-2);background:#f1f1f1}.row-key{flex:none;width:7.2em;font-weight:400}.row-key small{font-size:13px;display:block}.row-key.b{font-weight:700}.row-names{flex:1;font-size:19px;font-weight:700}.texts{margin-top:4px}.howto{margin:0 0 16px;padding-left:1.4em}.howto li{margin-bottom:14px}.howto b{font-size:19px;display:block}.images{gap:12px;display:grid}.images img{border:2px solid var(--ink);border-radius:8px;width:100%}.name-picks{flex-wrap:wrap;gap:8px;display:flex}.name-picks button{border:2px solid var(--ink);background:var(--paper);border-radius:12px;min-height:52px;padding:4px 16px;font-size:18px;font-weight:700}.name-picks button.on{background:var(--green);color:#fff}.sheet-backdrop{z-index:40;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-panel{width:100%;max-width:600px;max-height:88dvh;padding:16px 16px calc(env(safe-area-inset-bottom) + 20px);background:var(--bg);border-top:var(--line);border-radius:22px 22px 0 0;overflow-y:auto}.sheet-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.sheet-panel-head h2{outline:none;margin:0;font-size:22px}.close{border:2px solid var(--ink);background:var(--paper);border-radius:12px;min-height:48px;padding:0 14px;font-weight:700}.sheet-panel .btn.block{margin-top:12px}.print-root{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-10000px}.sheet{width:186mm;height:271mm;font-family:var(--font);color:#000;font-size:var(--fs,12pt);break-after:page;background:#fff;flex-direction:column;display:flex;overflow:hidden}.sheet:last-child{break-after:auto}.sheet-head{margin-bottom:4mm}.sheet-org{font-size:13pt;font-weight:700}.sheet-title{margin:0;font-size:24pt;font-weight:700;line-height:1.25}.sheet-period{font-size:12pt;font-weight:700}.sheet-task{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:1mm;font-size:12pt;display:-webkit-box;overflow:hidden}.sheet.long-title .sheet-title{font-size:20pt}.sheet-cols{flex:1;min-height:0;overflow:hidden}.sheet-cols.cols-2{grid-template-columns:1fr 1fr;align-items:start;gap:6mm;display:grid}.sheet-table{border-collapse:collapse;table-layout:fixed;border:1.5pt solid #000;width:100%}.sheet-table th,.sheet-table td{height:var(--rh,8mm);vertical-align:middle;border:.75pt solid #000;padding:0 2mm;line-height:1.15}.sheet-table th{text-align:left;border-bottom:2.5pt double #000;font-size:.85em;font-weight:700}.sheet-table td.k{width:34%}.cols-2 .sheet-table td.k{width:32%}.sheet-table td.k.b{font-weight:700}.sheet-table td.k .y{font-size:.65em;font-weight:400;line-height:1;display:block}.sheet-table td.n{word-break:break-all;font-weight:700}.sheet-table.with-check th:last-child,.sheet-table.with-check td.c{text-align:center;width:15mm}.cols-2 .sheet-table.with-check th:last-child,.cols-2 .sheet-table.with-check td.c{width:9mm}.sheet-table tr.off td.n{font-weight:400}.offtext{font-size:.85em}.rownote{font-size:.8em;font-weight:400}.sheet-table tr.month-break td{border-top:1.5pt solid #000}.sheet-foot{margin-top:3mm;font-size:10.5pt;line-height:1.5}.sheet-issued{text-align:right;margin-top:1mm}@page{size:A4 portrait;margin:12mm 12mm 14mm}@media print{body{background:#fff}#root>:not(.print-root){display:none!important}.print-root{visibility:visible;position:static}.toast,.sheet-backdrop{display:none!important}}
