:root{--cream:#f7f4ec;--paper:#fffefa;--ink:#20261f;--muted:#74796f;--green:#236247;--green-dark:#163f30;--lime:#dbe86b;--line:#dfded5;--red:#b64b3d;--shadow:0 18px 50px rgba(35,52,41,.08);font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream)}button,input{font:inherit}button{cursor:pointer}
.site-header{position:sticky;z-index:50;top:0;height:76px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(35,98,71,.12);background:rgba(247,244,236,.9);backdrop-filter:blur(16px)}
.brand{color:var(--ink);font-size:21px;font-weight:950;letter-spacing:-.05em;text-decoration:none}.brand span,.eyebrow,.hero em{color:var(--green)}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-weight:900}.user-chip div{display:grid}.user-chip small{color:var(--muted);font-size:10px}.user-chip strong{font-size:14px}.user-chip button,.text-button{padding:7px;border:0;color:var(--muted);background:none;font-size:12px}
.page-shell{width:min(1180px,calc(100% - 32px));margin:auto;padding:58px 0 80px}.hero{min-height:310px;display:flex;align-items:center;justify-content:space-between;gap:50px}.eyebrow{margin:0 0 9px;font-size:11px;font-weight:900;letter-spacing:.18em}.hero h1{margin:0;font:700 clamp(44px,7vw,82px)/.99 Georgia,serif;letter-spacing:-.055em}.hero h1 em{font-weight:inherit}.hero>div>p:last-child{margin:24px 0 0;color:var(--muted);line-height:1.75}.hero-stat{width:185px;aspect-ratio:1;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:50%;color:var(--green);transform:rotate(4deg)}.hero-stat span{font-size:10px;font-weight:900;letter-spacing:.15em}.hero-stat strong{font:58px/1 Georgia,serif}.hero-stat small{margin-top:8px;font-size:11px}
.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}.recipe-sidebar{padding:30px 22px;border-right:1px solid var(--line);background:#f0eee5}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title h2{margin:0;font:700 28px Georgia,serif}.icon-button{width:34px;height:34px;border:0;border-radius:50%;color:#fff;background:var(--green);font-size:22px}
.recipe-list{display:grid;gap:9px;margin:25px 0 16px}.recipe-item{width:100%;padding:15px;display:grid;grid-template-columns:38px 1fr;gap:11px;border:1px solid transparent;border-radius:13px;color:var(--ink);background:transparent;text-align:left}.recipe-item:hover{background:rgba(255,255,255,.55)}.recipe-item.active{border-color:var(--green);background:#fff;box-shadow:0 8px 20px rgba(35,98,71,.08)}.recipe-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--green-dark);background:var(--lime);font-weight:900}.recipe-item strong,.recipe-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-item small{margin-top:4px;color:var(--muted);font-size:10px}.new-recipe-button{width:100%;padding:12px;border:1px dashed #aeb1a7;border-radius:10px;color:var(--green);background:transparent;font-size:12px;font-weight:800}
.recipe-editor{min-width:0;padding:clamp(25px,5vw,50px)}.editor-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:32px}.recipe-name-input{width:min(100%,400px);padding:0;border:0;border-bottom:1px dashed transparent;color:var(--ink);background:transparent;font:700 clamp(28px,4vw,38px) Georgia,serif}.recipe-name-input:focus{outline:0;border-color:var(--green)}.editor-heading p:last-child{margin:9px 0 0;color:var(--muted);font-size:13px}.editor-actions{display:flex;align-items:flex-start;gap:8px}.danger{color:var(--red)!important}.secondary-button{padding:10px 14px;border:1px solid var(--green);border-radius:8px;color:var(--green);background:transparent;font-size:12px;font-weight:800}
.auto-recipe{margin-bottom:20px}.auto-recipe-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.auto-recipe-controls label{display:grid;gap:5px;color:var(--muted);font-size:11px}.auto-recipe-controls input,.auto-recipe-controls select{width:120px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.auto-recipe>small{display:block;margin-top:9px;color:var(--muted)}
.setting-block{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff}.setting-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.setting-heading>div{display:grid;gap:4px}.setting-heading strong{font-size:14px}.setting-heading span{color:var(--muted);font-size:11px}.setting-heading output{color:var(--green);font-size:12px;font-weight:900}input[type=range]{width:100%;margin-top:20px;accent-color:var(--green)}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.sum-inputs{display:flex;align-items:end;gap:8px;margin-top:14px}.sum-inputs label{color:var(--muted);font-size:10px}.sum-inputs input{width:80px;padding:8px;display:block;border:1px solid var(--line);border-radius:7px}
.switch{display:flex;align-items:center;gap:8px}.switch input{position:absolute;opacity:0}.switch span{width:40px;height:22px;padding:3px;border-radius:20px;background:#c8cbc5}.switch span:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(18px)}.switch b{font-size:11px}
.advanced-rules{margin-top:12px;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.advanced-rules summary{padding:20px;display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}.advanced-rules summary::-webkit-details-marker{display:none}.advanced-rules summary span{display:grid;gap:4px}.advanced-rules summary small{color:var(--muted);font-size:11px;font-weight:400}.advanced-rules summary b{color:var(--green);font-size:11px}.advanced-rules[open] summary{border-bottom:1px solid var(--line)}.advanced-rules[open] summary b{font-size:0}.advanced-rules[open] summary b:after{content:"조건 접기";font-size:11px}.advanced-content{padding:20px;display:grid;gap:22px;background:#faf9f4}.advanced-group h3{margin:0 0 5px;font-size:13px}.advanced-group>p{margin:0 0 12px;color:var(--muted);font-size:10px}.compact-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.compact-rule-grid label,.digit-rule-grid label,.between-rule-grid label{padding:10px;display:grid;gap:6px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff;font-size:10px}.rule-select,.compact-rule-grid output{width:100%;min-height:32px;padding:5px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff;font-size:11px}.compact-rule-grid output{display:flex;align-items:center}.digit-rule-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.between-rule-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.between-inputs{display:flex;align-items:center;gap:3px}.between-inputs select{min-width:0}
.number-setting{margin-top:20px}.number-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.number-tab{padding:12px 18px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:none;font-size:13px;font-weight:800}.number-tab.active{color:var(--green);border-color:var(--green)}.number-tab span{min-width:19px;padding:2px 5px;border-radius:10px;color:#fff;background:#a4a89f;font-size:9px}.number-tab.active span{background:var(--green)}#numberGuide{color:var(--muted);font-size:11px}.number-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:8px}.number-button{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:#fff}.number-button:hover{border-color:var(--green)}.number-button.fixed{color:#fff;border-color:var(--green);background:var(--green)}.number-button.excluded{color:#fff;border-color:#858b83;background:#858b83;text-decoration:line-through}.number-button:disabled{opacity:.18;cursor:not-allowed}
.form-message{margin:18px 0 0;padding:12px;border-radius:8px;color:var(--red);background:#fff1ed;font-size:12px}.generate-bar{margin-top:30px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:15px;color:#fff;background:var(--green-dark)}.generate-bar div{display:grid}.generate-bar small{opacity:.65;font-size:9px}.generate-bar strong{margin-top:3px;font-size:13px}.generate-button{padding:14px 20px;border:0;border-radius:10px;color:var(--green-dark);background:var(--lime);font-weight:900}.generate-button:disabled{opacity:.55;cursor:wait}
.results-card,.history-card{margin-top:24px;padding:clamp(24px,5vw,42px);border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow)}.result-meta{color:var(--muted);font-size:12px}.results{display:grid;gap:9px;margin-top:20px}.game{padding:14px;display:flex;align-items:center;gap:15px;border-radius:12px;background:#f5f3eb}.game-label{width:52px;color:var(--muted);font-size:11px}.balls{display:flex;flex-wrap:wrap;gap:8px}.ball{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-weight:900;box-shadow:inset 0 -3px rgba(0,0,0,.12)}.ball[data-band="1"]{background:#e5a82e}.ball[data-band="2"]{background:#4d86bd}.ball[data-band="3"]{background:#d96755}.ball[data-band="4"]{background:#737d78}.ball[data-band="5"]{background:#3b9361}.history-list{margin-top:20px;display:grid;gap:10px}.history-item{padding:14px 0;display:grid;grid-template-columns:150px 1fr;gap:15px;border-bottom:1px solid var(--line)}.history-item:last-child{border:0}.history-item strong,.history-item small{display:block}.history-item small,.empty-state{color:var(--muted);font-size:11px}.history-balls{display:flex;flex-wrap:wrap;gap:5px}.history-ball{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-size:10px;font-weight:800}
.site-footer{padding:30px;color:var(--muted);text-align:center;font-size:11px}.bottom-navigation{display:none}dialog{width:min(430px,calc(100% - 32px));padding:0;border:0;border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(18,31,24,.62);backdrop-filter:blur(5px)}dialog form{position:relative;padding:42px;display:grid;gap:15px;text-align:center}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:23px}.dialog-logo{width:55px;height:55px;margin:auto;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-family:Georgia,serif;font-weight:900}dialog h2{margin:0;font:700 30px Georgia,serif}dialog p{margin:0;color:var(--muted);font-size:12px}dialog label{text-align:left;font-size:11px;font-weight:800}dialog input{width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:9px}.auth-divider{display:flex;align-items:center;color:var(--muted);font-size:10px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-divider span{padding:0 10px}.oauth-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.oauth-buttons a{padding:13px 8px;border-radius:9px;text-decoration:none;font-size:12px;font-weight:900}.kakao-button{color:#191600;background:#fee500}.naver-button{color:#fff;background:#03c75a}.inline-button{padding:0;border:0;color:var(--green);background:none;font-size:inherit;font-weight:900}.auth-message{min-height:16px!important;color:var(--red)!important}
.loading-dialog{width:min(340px,calc(100% - 32px))}.loading-content{padding:42px;display:grid;justify-items:center;gap:13px;text-align:center}.loading-content h2{font-size:24px}.loading-spinner{width:54px;height:54px;border:5px solid #e4e8df;border-top-color:var(--green);border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}body.is-loading{cursor:progress}
@media(max-width:800px){body{padding-bottom:68px}.site-header{height:64px;padding:0 16px}.user-chip div{display:none}.page-shell{padding:30px 0 50px}.hero{min-height:260px}.hero-stat{display:none}.workspace{grid-template-columns:1fr}.recipe-sidebar{border-right:0;border-bottom:1px solid var(--line)}.recipe-list{grid-auto-flow:column;grid-auto-columns:220px;overflow:auto}.new-recipe-button{display:none}.editor-heading{flex-direction:column}.editor-actions{justify-content:flex-end}.rule-grid{grid-template-columns:1fr}.number-grid{grid-template-columns:repeat(7,1fr)}.compact-rule-grid{grid-template-columns:repeat(2,1fr)}.digit-rule-grid{grid-template-columns:repeat(2,1fr)}.between-rule-grid{grid-template-columns:1fr}.generate-bar>div{display:none}.generate-button{width:100%}.bottom-navigation{position:fixed;z-index:90;inset:auto 0 0;height:68px;display:flex;border-top:3px solid var(--lime);background:var(--green-dark);box-shadow:0 -4px 18px rgba(0,0,0,.18)}.bottom-navigation a,.bottom-navigation button{flex:1;border:0;color:#fff;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none}.bottom-navigation strong{font-size:18px}.bottom-navigation span{font-size:9px}.bottom-navigation button:disabled{opacity:.5}.history-item{grid-template-columns:1fr}.site-footer{display:none}}
@media(max-width:430px){.hero h1{font-size:43px}.hero>div>p:last-child br{display:none}.recipe-editor{padding:24px 16px}.number-grid{grid-template-columns:repeat(6,1fr)}.game{align-items:flex-start;flex-direction:column}.sum-inputs input{width:70px}}
