@charset "UTF-8";
.admin .admin-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px;margin-bottom:8px}.admin .admin-entry .admin-item{margin:0;overflow-wrap:anywhere}.admin .visibility-toggle{padding:8px 6px;font-size:12px;max-width:70px;margin-top:6px}.admin .visibility-box{margin-top:20px;padding:15px;background:#f0f4e9;border-radius:8px}.admin .visibility-box label{margin-top:12px}.admin #list-summary{margin:10px 0}.admin #filter-note{padding:10px;background:#f6edd5}
/* Photo editor */
.admin #photo-editor{width:min(1100px,calc(100vw - 30px));max-height:95vh;border:0;border-radius:14px;padding:24px;color:#243c2c;background:#fff;overflow:auto;box-shadow:0 20px 90px #0005}.admin #photo-editor::backdrop{background:rgba(10,25,17,.72)}.photo-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.photo-editor-heading h2{margin:0;font-size:23px}.photo-editor-heading p{font-size:14px;line-height:1.6;color:#65705e;margin:8px 0 18px}.photo-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.admin .photo-tools label{margin:0 0 0 10px;font-size:14px}.admin .photo-tools select{width:auto}.admin #photo-message{font-size:14px;color:#5b715b;min-height:20px}.admin #photo-message.error{color:#aa3423}.crop-stage{display:flex;justify-content:center;align-items:center;min-height:180px;background:#17261d;border-radius:8px;overflow:hidden;padding:16px}.crop-stage canvas{display:block;max-width:100%;max-height:50vh;width:auto;height:auto;touch-action:none;cursor:crosshair;object-fit:contain}.admin .crop-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin .crop-fields label{font-size:13px;margin:14px 0}.admin .crop-fields input{margin-top:7px}.photo-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid #e3e8dc}.photo-editor-footer>span{font-size:13px;color:#6b7860}.photo-editor-footer>div{display:flex;gap:8px}.admin .image-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.admin .image-actions button{font-size:12px;padding:8px 10px}.admin .image-card{flex-wrap:wrap}.admin .image-card>span{min-width:90px}.admin button:disabled{opacity:.45;cursor:wait}@media(max-width:600px){.admin .crop-fields{grid-template-columns:1fr 1fr}.photo-editor-footer{align-items:stretch;flex-direction:column}.photo-editor-footer>div{justify-content:flex-end}.crop-stage{padding:6px}.photo-tools button{padding:9px;font-size:13px}}
[hidden]{display:none!important}
:root{--ink:#183e30;--green:#27533e;--cream:#f3f0e7;--line:#d9ddcf;--accent:#dcbd78}*{box-sizing:border-box}body{margin:0;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bc861e;outline-offset:3px}.display{background:#10281e;overflow:hidden}#screen{position:absolute;left:50%;top:50%;width:3840px;height:2160px;background:var(--cream);transform-origin:center;display:grid;grid-template-rows:330px 1fr 230px;padding:0 120px}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--line)}.clock{width:900px}#time{font-size:122px;font-weight:700;letter-spacing:-5px;font-variant-numeric:tabular-nums}#date{font-size:33px;margin-top:5px;color:#61705e}.brand{display:flex;align-items:center;gap:25px}.brand strong{font-size:62px;letter-spacing:-3px}.brand span{display:block;text-align:center;font-size:25px;letter-spacing:8px;margin-top:14px;color:#6c7a65}.weather{position:relative;width:900px;text-align:right;padding-right:0}.weather>div{font-size:36px}.weather #weather-icon{margin-left:18px;color:#a47828}#temperature{font-size:76px;display:inline-block;margin:4px 25px 0 0}#weather-text{font-size:33px}#weather-stamp{display:block;font-size:22px;color:#72806c}.weather a{font-size:17px;color:#72806c;text-decoration:none}.main{display:grid;grid-template-columns:850px 1fr;gap:86px;padding:70px 0 65px;min-height:0}.sidebar{display:flex;flex-direction:column;min-height:0}.eyebrow{font-size:24px;letter-spacing:7px;color:#819075}.sidebar h1{font-size:80px;line-height:1.35;letter-spacing:-4px;margin:30px 0 55px;font-weight:500}.list-heading{font-size:31px;font-weight:700;border-bottom:2px solid var(--line);padding-bottom:24px;display:flex;justify-content:space-between}.list-heading span{color:#8a947e}#items{flex:1;margin-top:20px;min-height:0}.list-item{display:flex;align-items:center;gap:23px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:#677360;text-align:left;padding:25px 20px;min-height:123px;font-size:35px;line-height:1.35}.list-item span:first-child{font-size:25px;opacity:.65;width:40px;flex-shrink:0}.list-item.selected{background:var(--green);border-radius:12px;color:#fff;border-color:transparent;font-weight:700}.rotation{display:flex;justify-content:space-between;font-size:23px;color:#819075;padding:20px 0}.progress{height:5px;background:#dce1d2;overflow:hidden}.progress div{height:100%;background:#587348;width:0}.feature{min-width:0;min-height:0;display:flex;flex-direction:column}.feature-top{display:flex;justify-content:space-between;align-items:center;font-size:24px;color:#8b9583}.feature-top #category{background:#e2e8d9;color:#486140;padding:13px 27px;border-radius:100px;font-size:27px}.feature h2{font-size:70px;letter-spacing:-3px;line-height:1.25;margin:28px 0 40px}.content{flex:1;min-height:0;display:flex;gap:45px;overflow:hidden}.gallery{display:grid;gap:18px;min-width:0;min-height:0;flex:1;grid-template-columns:1fr;grid-template-rows:1fr;overflow:hidden;border-radius:20px;background:#e2e7da}.gallery img{width:100%;height:100%;min-height:0;min-width:0;object-fit:contain;background:#dce2d4}.gallery.n2{grid-template-columns:1fr 1fr}.gallery.n3,.gallery.n4{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}.gallery.n3 img:first-child{grid-row:span 2}.layout-split .markdown{flex:1.35}.layout-split .gallery{flex:1;display:flex;flex-direction:column}.layout-split .gallery img{flex:1;object-fit:contain}.layout-text .markdown{max-width:100%}.markdown{font-size:40px;line-height:1.65;min-width:0;overflow:hidden}.markdown h3{font-size:62px;line-height:1.4;letter-spacing:-2px;font-weight:500;margin:0 0 35px}.markdown h4{font-size:45px;margin:30px 0 14px}.markdown h5{font-size:40px;margin:20px 0}.markdown p{margin:0 0 28px}.markdown ul{margin:0;padding-left:50px}.markdown li{padding-left:10px;margin:0 0 28px}.markdown strong{color:#965f20}.markdown table{border-collapse:collapse;width:100%;font-size:32px;margin:0 0 30px;line-height:1.5}.markdown th,.markdown td{text-align:left;padding:22px 18px;border-bottom:2px solid #d2d8c8}.markdown th{background:#e4e9dc;font-weight:700}.feature-bottom{display:flex;justify-content:space-between;color:#8d987f;font-size:22px;padding-top:30px;letter-spacing:1px}footer{background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;margin:0 -120px;padding:0 120px}footer strong{font-size:76px;letter-spacing:1px}footer>span{font-size:28px;color:#cedcc4}.fullscreen{position:absolute;right:25px;bottom:20px;background:transparent;border:0;color:#d3dfca;font-size:50px;opacity:0}.fullscreen:hover,.fullscreen:focus-visible{opacity:1}.broken{font-size:26px;color:#9b3224;padding:30px}
/* Administration is a regular responsive page, independent from the 4K canvas. */
.admin{background:#f4f3ed;color:#243c2c;font-size:15px}.admin header{background:#1d4432;color:white;padding:22px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.admin header h1{font-size:23px;margin:0 0 6px}.admin header a{color:#f3dda9}.admin .toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:18px 32px;background:white;border-bottom:1px solid #ddd}.admin button,.file-button{border:1px solid #bcc7b4;background:white;color:#22422e;padding:10px 15px;border-radius:7px;display:inline-block}.admin button.primary{background:#27533e;color:white;border-color:#27533e}.admin button.danger{color:#a32e25}.admin label{display:block;font-weight:600;margin:18px 0 7px}.admin input:not([type=checkbox]),.admin textarea,.admin select{width:100%;border:1px solid #bdc8b6;border-radius:6px;padding:11px;background:white;color:#213a2b}.admin input[type=checkbox]{width:19px;height:19px;vertical-align:middle}.admin .workspace{display:grid;grid-template-columns:330px minmax(360px,1fr) minmax(330px,.9fr);gap:24px;padding:26px 32px;max-width:1920px;margin:auto}.admin .panel{background:white;padding:24px;border:1px solid #dce1d5;border-radius:12px;min-width:0}.admin .panel h2{font-size:19px;margin:0 0 20px}.admin .admin-item{display:block;width:100%;margin:0 0 8px;text-align:left}.admin .admin-item.active{border-color:#27533e;background:#e8efdf}.admin .admin-item small{display:block;color:#6b7860;margin-top:6px}.admin .row{display:flex;gap:12px;align-items:center}.admin .row>*{flex:1;min-width:0}.admin .muted{color:#6b7860;font-size:13px;line-height:1.7}.admin #status{padding:14px 32px;margin:0;background:#e6ecdd;white-space:pre-wrap}.admin #status.error{color:#9b291c;background:#fce6e0}.admin .preview{background:#f3f0e7;padding:24px;border-radius:10px;min-height:300px}.admin .preview h3{font-size:26px}.admin .preview .content{display:flex;flex-direction:column;min-height:100px;overflow:visible}.admin .preview .markdown{font-size:18px;overflow:visible}.admin .preview .markdown h3{font-size:26px;margin:0 0 14px}.admin .preview .markdown h4{font-size:22px;margin:12px 0}.admin .preview .markdown p,.admin .preview .markdown li{margin-bottom:12px}.admin .preview .markdown ul{padding-left:23px}.admin .preview table{font-size:14px}.admin .preview td,.admin .preview th{padding:10px}.admin .preview .gallery{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:140px;flex:auto}.admin .preview .gallery img{object-fit:contain;grid-row:auto}.admin .image-card{display:flex;gap:10px;align-items:center;margin:10px 0;background:#f0f3eb;padding:10px;border-radius:6px}.admin .image-card img{height:64px;width:90px;object-fit:contain}.admin .image-card span{flex:1;word-break:break-all;font-size:12px}.admin details{padding:0 32px 18px}.admin details .settings{max-width:700px;padding:10px 0}.admin .file-button input{display:none}.admin .button-row{display:flex;gap:8px;flex-wrap:wrap}.admin #dirty{color:#ffdb94;font-size:14px}@media(max-width:1150px){.admin .workspace{grid-template-columns:270px 1fr}.admin .preview-panel{grid-column:1/-1}}@media(max-width:700px){.admin .workspace{display:block;padding:12px}.admin .panel{margin-bottom:16px}.admin header,.admin .toolbar{padding:18px}.admin .row{display:block}}

/* Keep the colon elements alive so updating seconds does not restart the animation. */
#time{display:inline-flex;align-items:baseline;white-space:nowrap;font-size:112px;letter-spacing:-3px;line-height:1.15}#time>span:not(.clock-colon){display:inline-block;min-width:1.28em;text-align:center}.clock-colon{display:inline-block;min-width:.32em;text-align:center;animation:clock-breathe 2s ease-in-out infinite}@keyframes clock-breathe{0%,100%{opacity:1}50%{opacity:.15}}@media(prefers-reduced-motion:reduce){.clock-colon{animation:none}}
