:root{--bg:#fff;--surface:#f4f6f9;--text:#111827;--muted:#4b5563;--line:#d1d5db;--accent:#1d4ed8;--accent-text:#fff;--accent-soft:#e0e8ff;--warn-bg:#fff4e5;--warn-line:#f59e0b;--warn-text:#7a3e00;--holiday:#c81e1e;--day:#fff1b8;--night:#dbe4ff;--evening:#ffe1c7;--off:#eef0f3;--leave:#d8f5e1;--absent:#ffd9d9;--radius:12px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans KR", Roboto, "Noto Sans Devanagari", "Nirmala UI", "Noto Sans Khmer", "Khmer UI", "Leelawadee UI", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--surface:#1a1d24;--text:#f3f4f6;--muted:#b6bcc8;--line:#353a45;--accent:#7ea2ff;--accent-text:#0f1115;--accent-soft:#1f2a48;--warn-bg:#2d2210;--warn-line:#d08a17;--warn-text:#ffd89a;--holiday:#ff8a8a;--day:#4a4016;--night:#263157;--evening:#4d3220;--off:#22252c;--leave:#1d3b2a;--absent:#4a2222}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:18px;line-height:1.7}:lang(ko){word-break:keep-all}:lang(km),:lang(ne){line-height:1.9}a{color:var(--accent)}h1,h2,h3{line-height:1.35}h1{margin:1.25rem 0 .5rem;font-size:1.75rem}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.wrap{max-width:760px;margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.site-header__inner{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.logo{color:var(--text);font-size:1.15rem;font-weight:800;text-decoration:none}.lang-switch{position:relative}.lang-switch summary{cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:6px 12px;list-style:none}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch ul{z-index:10;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);min-width:180px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000026}.lang-switch a{color:var(--text);border-radius:8px;padding:8px 12px;text-decoration:none;display:block}.lang-switch a[aria-current=page]{background:var(--accent-soft);font-weight:700}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding:24px 0;font-size:.9rem}.lead{color:var(--muted);margin-top:0}.calc{flex-direction:column;gap:16px;min-height:60vh;margin:16px 0 32px;display:flex}.calc-section{background:var(--surface);border-radius:var(--radius);padding:16px}.calc-section__title{align-items:center;gap:10px;margin:0 0 12px;font-size:1.2rem;display:flex}.calc-section__num{background:var(--accent);width:30px;height:30px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-size:1rem;display:inline-grid}.field{border:0;min-width:0;margin:0 0 14px;padding:0}.field:last-child{margin-bottom:0}.field__label{margin-bottom:4px;font-weight:700;display:block}.field__row{align-items:center;gap:8px;display:flex}.field__input{border:2px solid var(--line);background:var(--bg);border-radius:10px;width:100%;min-height:48px;padding:8px 12px;font-size:1.1rem}.field__input:focus{border-color:var(--accent)}.field__input--date{max-width:240px}.field__suffix{color:var(--muted);flex:none;font-weight:700}.field__help{color:var(--muted);margin:4px 0 0;font-size:.92rem;line-height:1.55}.field__grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=420px){.field__grid{grid-template-columns:1fr}}.pattern-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:16px;display:grid}@media (width<=480px){.pattern-grid{grid-template-columns:1fr 1fr;gap:8px}.pattern-card{padding:10px}.pattern-card__desc{font-size:.82rem}}.pattern-card{border:2px solid var(--line);border-radius:var(--radius);background:var(--bg);cursor:pointer;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.pattern-card input{opacity:0;pointer-events:none;position:absolute}.pattern-card.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.pattern-card:focus-within{outline:3px solid var(--accent);outline-offset:2px}.pattern-card__name{font-weight:800}.pattern-card__desc{color:var(--muted);font-size:.9rem;line-height:1.45}.segmented__row{flex-wrap:wrap;gap:8px;display:flex}.segmented__item{border:2px solid var(--line);background:var(--bg);cursor:pointer;text-align:center;border-radius:10px;flex:120px;place-items:center;min-height:48px;padding:6px 12px;font-weight:700;display:grid}.segmented__item input{opacity:0;pointer-events:none;position:absolute}.segmented__item.is-on{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.segmented__item:focus-within{outline:3px solid var(--accent);outline-offset:2px}.toggle{cursor:pointer;align-items:flex-start;gap:10px;font-weight:700;display:flex}.toggle input{width:24px;height:24px;accent-color:var(--accent);flex:none;margin:3px 0 0}.btn{border:2px solid var(--accent);background:var(--accent);min-height:44px;color:var(--accent-text);cursor:pointer;border-radius:10px;padding:8px 16px;font-weight:700}.btn--ghost{background:var(--bg);color:var(--accent)}.btn--small{min-height:36px;padding:4px 12px;font-size:.92rem}.btn:disabled{opacity:.45;cursor:default}.btn-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.times{margin-top:8px}.times>summary{cursor:pointer;color:var(--accent);padding:8px 0;font-weight:700}.shift-editor{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);margin:8px 0 12px;padding:12px}.shift-editor legend{padding:0 6px;font-weight:800}.shift-editor__break{grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:6px;margin-bottom:8px;display:grid}.shift-editor__break .field__label{margin:0}@media (width<=480px){.shift-editor__break{grid-template-columns:1fr auto 1fr}.shift-editor__break .field__label{grid-column:1/-1}.shift-editor__break .btn{grid-column:1/-1;justify-self:start}}.custom-cycle{margin-bottom:16px}.custom-cycle__seq{flex-wrap:wrap;gap:6px;min-height:40px;margin:8px 0;display:flex}.custom-cycle__buttons{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--line);background:var(--bg);cursor:pointer;border-radius:999px;min-height:40px;padding:4px 14px;font-weight:700}.chip.is-on{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.chip--static{cursor:default;place-items:center;min-width:40px;padding:4px 10px;display:inline-grid}.chip--day{background:var(--day)}.chip--night{background:var(--night)}.chip--evening{background:var(--evening)}.chip--off{background:var(--off)}.chip--leave{background:var(--leave)}.chip--absent{background:var(--absent)}.period-range{margin:4px 0 0;font-weight:700}.cal{border-collapse:separate;border-spacing:3px;table-layout:fixed;width:100%;margin:8px 0}.cal th{color:var(--muted);font-size:.85rem;font-weight:700}.cal th.is-weekend{color:var(--holiday)}.cal td{vertical-align:top;padding:0}.cal__day{cursor:pointer;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;width:100%;min-height:58px;padding:4px 2px;line-height:1.25;display:flex;position:relative}.cal__day.is-selected{border-color:var(--text)}.cal__day--day{background:var(--day)}.cal__day--night{background:var(--night)}.cal__day--evening{background:var(--evening)}.cal__day--off{background:var(--off)}.cal__day--leave{background:var(--leave)}.cal__day--absent{background:var(--absent)}.cal__num{font-size:.85rem}.cal__num.is-holiday{color:var(--holiday);font-weight:800}.cal__code{font-size:1rem;font-weight:800}.cal__extra{font-size:.7rem;font-weight:700}.cal__dot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.cal__holidays{color:var(--holiday);flex-wrap:wrap;gap:4px 16px;margin:4px 0 12px;padding:0;font-size:.95rem;list-style:none;display:flex}.cal__holidays strong{margin-right:4px}.day-editor{border:2px solid var(--text);border-radius:var(--radius);background:var(--bg);margin:8px 0 12px;padding:12px}.day-editor__date{margin:0 0 8px}.day-editor__codes{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.day-editor__extra{margin-bottom:12px}.day-editor__actions{justify-content:flex-end;gap:8px;display:flex}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper button{border:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;min-width:56px;min-height:44px;font-weight:800}.stepper output{text-align:center;min-width:56px;font-size:1.15rem;font-weight:800}.result__gross{border-radius:var(--radius);background:var(--accent);color:var(--accent-text);flex-direction:column;padding:16px;display:flex}.result__gross-label{font-weight:700}.result__gross-value{font-variant-numeric:tabular-nums;font-size:2.3rem;line-height:1.2}.result__gross-value small{font-size:1.1rem}.result__h{margin:20px 0 8px;font-size:1.05rem}.lines{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.lines__item{border-bottom:1px solid var(--line);padding:10px 0}.lines__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.lines__name{font-weight:700}.lines__ko{color:var(--muted);font-weight:400}.lines__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.lines__item.is-minus .lines__amount{color:var(--holiday)}.lines__calc{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.summary{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;display:grid}.summary div{background:var(--bg);border-radius:10px;padding:10px 12px}.summary dt{color:var(--muted);font-size:.9rem}.summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.15rem;font-weight:800}.notice{border-radius:var(--radius);margin:12px 0;padding:12px 16px}.notice h3{margin:0 0 4px;font-size:1rem}.notice ul{margin:0;padding-left:1.2em}.notice--warn{background:var(--warn-bg);border-left:5px solid var(--warn-line);color:var(--warn-text)}.assumptions{border-radius:var(--radius);background:var(--bg);margin-top:20px;padding:12px 16px}.assumptions summary{cursor:pointer;font-weight:800}.assumptions ul{color:var(--muted);margin:8px 0 0;padding-left:1.2em;font-size:.95rem}.disclaimer{color:var(--muted);margin:16px 0 0;font-size:.88rem;line-height:1.6}.prose h2{margin-top:2rem;font-size:1.35rem}.prose table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:8px 10px}.prose th{background:var(--surface)}.lang-list{gap:10px;max-width:360px;padding:0;list-style:none;display:grid}.lang-list a{border:2px solid var(--line);border-radius:var(--radius);color:var(--text);padding:14px 18px;font-size:1.15rem;font-weight:800;text-decoration:none;display:block}.lang-list a:hover{border-color:var(--accent)}.btn--link{place-items:center;text-decoration:none;display:inline-grid}.btn--block{width:100%;min-height:52px;margin-top:20px;font-size:1.05rem;display:grid}.basis{margin:0 0 4px;font-size:1.1rem;font-weight:800}.quick-add{margin:12px 0 16px}.quick-add__chips{flex-wrap:wrap;gap:6px;display:flex}.quick-add .chip{min-height:38px;padding:4px 12px;font-size:.92rem}.slip-rows{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.slip-row{border-radius:var(--radius);background:var(--bg);border-left:6px solid var(--line);padding:14px 14px 12px 50px;position:relative}.slip-row--base{border-left-color:var(--accent)}.slip-row--overtime,.slip-row--holiday{border-left-color:var(--warn-line)}.slip-row--night{border-left-color:#6366f1}.slip-row--deduction{border-left-color:var(--muted);opacity:.9}.slip-row__num{background:var(--surface);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.9rem;font-weight:800;display:grid;position:absolute;top:14px;left:12px}.slip-row .field{margin-bottom:10px}.compare-total{border-radius:var(--radius);background:var(--bg);border:3px solid var(--line);padding:16px}.compare-total--same{border-color:#16a34a}.compare-total--less{border-color:var(--warn-line)}.compare-total--more{border-color:var(--accent)}.compare-total__label{font-weight:800}.compare-total__nums{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 20px;font-size:1.05rem;display:flex}.compare-total__nums strong{font-size:1.35rem}.compare-list{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.compare-item{border-radius:var(--radius);background:var(--bg);border-left:6px solid var(--line);padding:12px 14px}.compare-item--same{border-left-color:#16a34a}.compare-item--less{border-left-color:var(--warn-line)}.compare-item--more{border-left-color:var(--accent)}.compare-item__name{margin:0 0 6px;font-size:1.05rem}.compare-item__nums{font-variant-numeric:tabular-nums;grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.compare-item__nums span{color:var(--muted);font-size:.82rem;display:block}.compare-item__nums strong{font-size:1.02rem}.compare-item__hours{color:var(--muted);margin:6px 0 0;font-size:.92rem}.status{align-items:flex-start;gap:8px;margin:8px 0 0;font-weight:700;display:flex}.status__icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin-top:2px;font-size:.85rem;font-weight:900;display:grid}.status--same .status__icon{background:#16a34a}.status--less .status__icon{background:var(--warn-line)}.status--more .status__icon{background:var(--accent);color:var(--accent-text)}.status--less{color:var(--warn-text)}.reasons{margin:0;padding-left:1.2em}.reasons li{margin-bottom:6px}.save-image{margin-top:20px}.save-image .btn{flex:160px}.notfound{padding:24px 0}.notfound h2{margin-top:40px;font-size:1.5rem}.notfound__links{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.notfound__links .btn{flex:220px;min-height:52px}.notfound__langs{margin-top:32px}.site-nav{flex-wrap:wrap;gap:4px 14px;margin-left:auto;font-size:.95rem;font-weight:700;display:flex}.site-nav a{color:var(--text);padding:6px 2px;text-decoration:none}.site-nav a:hover{color:var(--accent)}@media (width<=480px){.site-header__inner{flex-wrap:wrap;padding:6px 16px}.site-nav{order:3;gap:4px 14px;width:100%;margin-left:0;font-size:.88rem}.site-nav a{padding:2px 0 6px}}.footer-nav{flex-wrap:wrap;gap:8px 18px;margin-bottom:12px;display:flex}.footer-nav a{color:var(--text)}.site-footer p{margin:4px 0}.prose--page{padding-bottom:16px}.prose--page h1{margin-top:1.5rem}.prose--page h3{margin-top:1.5rem;font-size:1.1rem}.prose--page li{margin-bottom:6px}.prose--page table{display:block;overflow-x:auto}.contact-email{background:var(--surface);border-radius:var(--radius);padding:16px;font-size:1.35rem;font-weight:800}.updated{color:var(--muted);margin-top:32px;font-size:.9rem}.reset-row{margin-top:20px}.reset-row .notice p{margin:0 0 8px}.home-h{margin:28px 0 10px;font-size:1.25rem}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.card{border:2px solid var(--line);border-radius:var(--radius);background:var(--bg);height:100%;color:var(--text);flex-direction:column;gap:4px;padding:16px;text-decoration:none;display:flex}.card:hover{border-color:var(--accent)}.card strong{font-size:1.1rem}.card span{color:var(--muted);font-size:.92rem;line-height:1.5}.cards--tools .card{background:var(--accent-soft);border-color:var(--accent)}.hero{padding:8px 0 4px}.hero h1{font-size:1.9rem}.btn--big{min-height:56px;margin:12px 0 4px;font-size:1.15rem}.features{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.features li{background:var(--surface);border-radius:var(--radius);padding:10px 12px 10px 40px;line-height:1.55;position:relative}.features li:before{content:"✓";color:var(--accent);font-weight:900;position:absolute;top:9px;left:14px}.home-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;margin:16px 0;display:grid}@media (width<=720px){.home-grid{grid-template-columns:1fr}}.how{background:var(--surface);border-radius:var(--radius);padding:14px 16px}.how__title{margin:0 0 6px;font-size:1.1rem}.how__steps{margin:0;padding-left:1.4em}.how__steps li{margin:4px 0}.how--compact{margin:8px 0 0;padding:10px 14px;font-size:.95rem}.how--compact .how__title{font-size:.95rem}.example{border:2px solid var(--accent);border-radius:var(--radius);background:var(--bg);padding:14px 16px}.example__title{margin:0 0 4px;font-size:1.1rem}.example__setup{color:var(--muted);margin:0 0 8px;font-size:.92rem}.example__total{flex-direction:column;margin:0 0 8px;display:flex}.example__total span{font-size:.92rem;font-weight:700}.example__total strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.8rem}.example__lines{border-top:1px solid var(--line);margin:0 0 8px;padding:0;list-style:none}.example__lines li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:6px 0;font-size:.95rem;display:flex}.example__lines li>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.lang-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.lang-cards li.is-preferred .lang-card{border-color:var(--accent);background:var(--accent-soft)}.lang-card{border:2px solid var(--line);border-radius:var(--radius);color:var(--text);background:var(--bg);flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.lang-card:hover{border-color:var(--accent)}.lang-card__name{font-size:1.2rem}.lang-card__tagline{color:var(--muted);font-size:.93rem;line-height:1.5}.lang-card__cta{color:var(--accent);font-weight:800}.lang-card__more{margin:4px 4px 0;font-size:.88rem;display:inline-block}.sticky-result{z-index:20;background:var(--accent);width:min(728px,100% - 24px);color:var(--accent-text);border-radius:14px;align-items:center;gap:10px;padding:10px 16px;text-decoration:none;display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.sticky-result__label{font-size:.85rem;font-weight:700}.sticky-result__value{font-variant-numeric:tabular-nums;margin-right:auto;font-size:1.25rem}.sticky-result__jump{white-space:nowrap;font-size:.85rem;font-weight:800}.calc{padding-bottom:72px}.sticky-result{line-height:1.3}.sticky-result__value{white-space:nowrap}@media (width<=400px){.sticky-result{gap:8px;padding:10px 12px}.sticky-result__value{font-size:1.1rem}}.shift-editor{min-width:0}
