:root{--night:#071b3b;--night-soft:#0d2d59;--paper:#fff5dd;--paper-soft:#fffaf0;--ink:#16243a;--border:#d9bd87;--moon:#ffc95a;--primary:#15528b;--focus:#ffc95a;--shadow:0 12px 28px #020f2347;color:var(--ink);background:var(--night);font-family:system-ui,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}html{background:var(--night);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 82% 6%, #ffc95a2e, transparent 16rem), linear-gradient(145deg, var(--night) 0%, var(--night-soft) 64%, var(--night) 100%);margin:0;font-size:18px;line-height:1.55;overflow-x:clip}button,input{font:inherit}button,[role=button]{color:#fff;cursor:pointer;background:var(--primary);border:2px solid #0000;border-radius:.65rem;min-height:44px;padding:.55rem .85rem;font-weight:750}button:hover:not(:disabled){filter:brightness(1.12)}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,summary:focus-visible,h1:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.app-header{color:#fff;justify-content:space-between;align-items:center;gap:1rem;width:min(1120px,100% - 2rem);margin:0 auto;padding:1.1rem 0;display:flex}.app-header p{margin:0}.app-header p:first-child{color:var(--moon);font-family:ui-serif,Georgia,serif;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:800}.app-header__subtitle{font-size:.94rem;font-weight:700}.app-header p+p:not(.app-header__subtitle){opacity:.86;font-size:.94rem}.app-header nav{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.app-header nav button{min-height:44px;color:var(--paper);background:0 0;border-color:#fff5dd80;padding-inline:.65rem;font-size:.9rem}.app-main{width:min(1120px,100% - 2rem);margin:0 auto 3rem}.guide-panel,.case-workspace,.result-summary{border:2px solid var(--border);background:var(--paper);box-shadow:var(--shadow);border-radius:1rem;padding:clamp(1rem,3vw,2rem)}.guide-panel>p:first-child,.case-workspace>p:first-child,.result-summary>p:first-child{color:var(--primary);letter-spacing:.03em;margin:0 0 .25rem;font-size:.92rem;font-weight:800}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;font-family:ui-serif,Georgia,serif;font-size:clamp(29px,4vw,2.65rem);line-height:1.2}h2{margin:0;font-size:clamp(1.25rem,2.4vw,1.55rem);line-height:1.3}.guide-panel>p:not(:first-child),.case-workspace>p:not(:first-child),.result-summary>p:not(:first-child){margin:.55rem 0 1.25rem}.guide-panel__phases{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.25rem 0;padding:0;list-style:none;display:grid}.guide-panel__phases li{border:1px solid var(--border);text-align:center;background:var(--paper-soft);border-radius:.7rem;justify-items:center;gap:.35rem;min-width:0;padding:.6rem .3rem;font-size:.82rem;display:grid}fieldset{border:2px solid var(--border);background:var(--paper-soft);border-radius:.8rem;gap:.65rem;min-width:0;margin:1rem 0;padding:1rem;display:grid}legend{color:var(--primary);padding:0 .35rem;font-weight:850}label{cursor:pointer;border-radius:.55rem;align-items:center;gap:.65rem;min-height:44px;padding:.35rem;display:flex}input{block-size:1.25rem;inline-size:1.25rem;accent-color:var(--primary);flex:none}fieldset:disabled{opacity:.68}.case-workspace{gap:.15rem;display:grid}.case-workspace>section{margin-top:1rem}.case-workspace>section>h2{margin-bottom:.85rem}.case-workspace>button{justify-self:start;margin-top:.25rem}.observation-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,2vw,1.5rem);margin:0;padding:0;list-style:none;display:grid;position:relative}.observation-board:before{z-index:0;content:"";background:var(--border);border-radius:4px;height:4px;position:absolute;top:2.55rem;left:16%;right:16%}.observation-board__item{z-index:1;text-align:center;gap:.45rem;min-width:0;display:grid;position:relative}.observation-board__day,.observation-card p{margin:0}.observation-board__day{color:var(--primary);font-weight:800}.observation-card{border:2px solid var(--border);background:var(--paper-soft);border-radius:.85rem;align-content:center;justify-items:center;gap:.55rem;min-height:10rem;padding:.8rem;display:grid;box-shadow:0 4px #15528b1a}.observation-card--cloudy,.observation-card--not-observed,.observation-card--missing-record,.observation-card--error{text-align:left;align-content:start;justify-items:start}.observation-card--missing-record{border:3px dashed var(--primary);color:var(--primary);background:#fff0c9}.observation-card--missing-record:before{content:"복원할 빈 기록";font-size:.85rem;font-weight:900}.observation-card--missing-record p:first-child{font-size:1.1rem;font-weight:850}:is(.case-workspace fieldset label:has(input[type=radio]),.case-workspace fieldset label:has(input[type=checkbox])){background:#fffdf7;border:2px solid #0000}.case-workspace fieldset label:has(input:checked){border-color:var(--primary);box-shadow:inset 0 0 0 2px #fffdf7}.case-workspace fieldset label:has(input:checked):after{color:#fff;content:"선택됨";white-space:nowrap;background:var(--primary);border-radius:999px;margin-left:auto;padding:.05rem .45rem;font-size:.76rem;font-weight:850}.moon-phase{--moon-dark:#0d2d59;--moon-light:var(--moon);box-sizing:border-box;background-color:var(--moon-dark);border:2px solid #071b3b;border-radius:50%;flex:none;overflow:hidden}.moon-phase[data-phase=new-near]{background-image:radial-gradient(circle,#6c85a9 0 6%,#0000 7%)}.moon-phase[data-phase=waxing-crescent]{background-image:radial-gradient(circle at 110% 50%, var(--moon-light) 0 58%, transparent 59%)}.moon-phase[data-phase=first-quarter]{background-image:linear-gradient(to right, transparent 0 50%, var(--moon-light) 50% 100%)}.moon-phase[data-phase=waxing-gibbous]{background-image:radial-gradient(circle at -3% 50%, var(--moon-dark) 0 48%, transparent 49%), linear-gradient(var(--moon-light), var(--moon-light))}.moon-phase[data-phase=full]{background-color:var(--moon-light)}.moon-phase[data-phase=waning-gibbous]{background-image:radial-gradient(circle at 103% 50%, var(--moon-dark) 0 48%, transparent 49%), linear-gradient(var(--moon-light), var(--moon-light))}.moon-phase[data-phase=third-quarter]{background-image:linear-gradient(to right, var(--moon-light) 0 50%, transparent 50% 100%)}.moon-phase[data-phase=waning-crescent]{background-image:radial-gradient(circle at -10% 50%, var(--moon-light) 0 58%, transparent 59%)}.case-workspace__feedback{border:2px solid var(--primary);background:#e6f1ff;border-radius:.8rem;padding:1rem}.case-workspace__feedback p{margin:.45rem 0 0}.result-summary ol{gap:.7rem;padding-left:1.5rem;display:grid}.result-summary details{border:1px solid var(--border);background:var(--paper-soft);border-radius:.6rem;padding:.65rem}.result-summary summary{cursor:pointer;align-items:center;min-height:44px;padding:.45rem .25rem;font-weight:800;display:flex}.result-summary dl{gap:.25rem;margin:.8rem 0 0;display:grid}.result-summary dt{color:var(--primary);font-weight:800}.result-summary dd{margin:0 0 .45rem}.simple-dialog{border:2px solid var(--border);width:min(38rem,100% - 2rem);max-height:calc(100vh - 2rem);color:var(--ink);background:var(--paper);box-shadow:var(--shadow);border-radius:.9rem;padding:1.3rem}.simple-dialog::backdrop{background:#010c1cb8}.simple-dialog__body{margin:.85rem 0}.simple-dialog__body p{margin:.6rem 0}@media (width<=700px){.app-header{flex-direction:column;align-items:flex-start;width:min(100% - 1.25rem,42rem)}.app-header nav{justify-content:flex-start}.app-main{width:min(100% - 1.25rem,42rem);margin-bottom:1.5rem}.guide-panel,.case-workspace,.result-summary{padding:1rem}.guide-panel__phases{grid-template-columns:repeat(2,minmax(0,1fr))}.observation-board{grid-template-columns:1fr;gap:.8rem;padding-left:1.25rem}.observation-board:before{width:4px;height:auto;inset:1.45rem auto 1.5rem .45rem}.observation-board__item{text-align:left;grid-template-columns:4.1rem minmax(0,1fr);align-items:stretch;gap:.55rem}.observation-board__day{text-align:right;padding-top:1rem}.observation-card{min-height:7.8rem}.case-workspace>button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.guide-panel,.case-workspace,.result-summary,fieldset,.observation-card,.simple-dialog{color:canvastext;background:canvas;border-color:canvastext}button,.app-header nav button{color:buttontext;background:buttonface;border-color:buttontext}.observation-board:before{background:canvastext}.observation-card--missing-record{border:3px solid highlight}.case-workspace fieldset label:has(input:checked){border:3px solid highlight}.case-workspace fieldset label:has(input:checked):after{color:highlighttext;background:highlight}.moon-phase{forced-color-adjust:none}}
