:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--mono: "SF Mono", "Roboto Mono", "IBM Plex Mono", ui-monospace, monospace;background:#0f0d0a;color:#f3ead5;font-synthesis:none;line-height:1.5;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -15%,rgba(196,160,94,.15),transparent 42%),linear-gradient(135deg,rgba(255,255,255,.035) 0 10%,transparent 10% 50%,rgba(255,255,255,.025) 50% 60%,transparent 60%),linear-gradient(90deg,rgba(0,0,0,.22),transparent 28%,rgba(0,0,0,.28)),#14100c;background-size:auto,18px 18px,auto,auto}body:before{position:fixed;inset:0;pointer-events:none;content:"";background:linear-gradient(rgba(255,255,255,.04),transparent 42%,rgba(0,0,0,.32)),radial-gradient(circle at 50% 46%,transparent 0 48%,rgba(0,0,0,.42) 100%)}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible{outline:2px solid rgba(218,179,91,.68);outline-offset:3px}.shell{min-height:100vh;display:grid;place-items:center;padding:clamp(22px,5vw,64px)}.viewer{position:relative;width:min(100%,680px);display:grid;justify-items:center;gap:18px}.viewer:before{width:min(82vw,560px);height:28px;margin-bottom:-18px;content:"";border-radius:50%;background:#0000005c;filter:blur(10px)}.landing{width:min(100%,620px);display:grid;gap:8px;padding:clamp(30px,7vw,56px);border:1px solid rgba(255,255,255,.08);border-radius:28px;background:#121415;box-shadow:0 6px #070808,0 28px 58px #0000008a,0 2px #ffffff12 inset;text-align:center}.landing h1,.landing p{margin:0}.landing p:first-child{color:#f2f0ea;font-size:clamp(1.35rem,4vw,2.3rem);font-weight:800}.landing h1{color:#d9d7d0;font-size:clamp(1.05rem,3vw,1.55rem);font-weight:700;letter-spacing:0}.landing p:last-child{color:#9faaa9;font-size:clamp(.92rem,2.2vw,1.08rem);font-weight:650}.polaroid{position:relative;--frame-inset: clamp(14px, 3.5vw, 20px);width:min(100%,514px);padding:var(--frame-inset) var(--frame-inset) clamp(32px,7vw,40px);overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.9),transparent 24%),linear-gradient(#fff8e7,#f2e2be);color:#211a11;border:1px solid #d2bd8f;border-radius:3px;box-shadow:0 34px 60px #00000085,0 2px #ffffffe0 inset,0 -4px 18px #84602b33 inset;transform:rotate(-.9deg)}.polaroid:after{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(255,255,255,.28),transparent 18% 88%,rgba(96,63,20,.12)),repeating-linear-gradient(0deg,rgba(86,61,25,.018) 0 1px,transparent 1px 4px);mix-blend-mode:multiply}.polaroid.is-locked{filter:saturate(.82) brightness(.9)}.photo-window{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#17130f;border:1px solid #cbb682;box-shadow:0 2px 4px #ffffff6b,0 0 0 5px #4b31140f,0 15px 18px #3c260f29 inset}.photo-window:after{position:absolute;inset:0;pointer-events:none;content:"";box-shadow:0 0 34px #00000038 inset,0 1px #ffffff3d inset}.photo-window img{display:block;width:100%;height:100%;object-fit:contain;background:#0d0b08}.caption-row{min-height:48px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:14px;color:#3b2d1a;font-size:.88rem;letter-spacing:0}.caption-title,.caption-time{display:grid;gap:1px}.caption-title{font-size:clamp(1rem,1.8vw,1.22rem);font-weight:750;line-height:1.18}.caption-title span:last-child{color:#6d5f46;font-size:.88em;font-weight:650}.caption-time{justify-items:end;color:#7e6d4c;font-size:.88em;font-weight:650;line-height:1.18;white-space:nowrap}.placeholder{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#777979,#5d6061 44%,#3d4142)}.placeholder:after{position:absolute;inset:0;content:"";background:radial-gradient(circle at 50% 45%,transparent 0 40%,rgba(0,0,0,.18) 100%),linear-gradient(135deg,rgba(255,255,255,.12),transparent 34%)}.placeholder-sky,.placeholder-sun,.placeholder-ridge{position:absolute}.placeholder-sky{inset:0;background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:34px 34px;opacity:.28}.placeholder-sun{top:18%;right:19%;width:15%;aspect-ratio:1;border-radius:50%;background:#aaadab;box-shadow:0 0 0 8px #ffffff09,0 14px 28px #0000002e}.placeholder-ridge{left:-4%;right:-4%;bottom:0;height:55%;background:#25292a;clip-path:polygon(0 64%,10% 50%,18% 57%,30% 34%,44% 58%,58% 28%,72% 54%,84% 42%,100% 62%,100% 100%,0 100%)}.placeholder-ridge.back{bottom:12%;height:44%;background:#45494a;opacity:.95;clip-path:polygon(0 68%,12% 46%,28% 61%,43% 30%,56% 58%,70% 37%,86% 60%,100% 43%,100% 100%,0 100%)}.placeholder-ridge.front{filter:drop-shadow(0 -1px 0 rgba(255,255,255,.08))}.controls-row{min-height:66px;display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 0 8px}.tool-button,.close-button,.confirm-button,.dialog-button{position:relative;display:inline-grid;place-items:center;border:1px solid #3f4445;color:#f3f0e9;background:#303436;box-shadow:0 5px #1a1d1e,0 12px 18px #0000003d,0 1px #ffffff1f inset,0 -1px #00000047 inset;transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease,background-color .13s ease,color .13s ease}.tool-button svg,.close-button svg,.confirm-button svg{position:relative;z-index:1}.tool-button{width:66px;height:54px;flex:0 0 66px;border-radius:17px}.tool-button:hover:not(:disabled),.close-button:hover:not(:disabled),.confirm-button:hover:not(:disabled),.dialog-button:hover:not(:disabled){transform:translateY(-2px);border-color:#555b5d;background-color:#383d3f;box-shadow:0 6px #1a1d1e,0 15px 22px #00000047,0 1px #ffffff26 inset,0 -1px #00000047 inset}.tool-button:active:not(:disabled),.close-button:active:not(:disabled),.confirm-button:active:not(:disabled),.dialog-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #1a1d1e,0 6px 10px #00000038,0 2px 6px #00000042 inset}.tool-button.is-waiting{color:#111;border-color:#f0eee8;background:#d9d8d1;box-shadow:0 5px #a6a6a0,0 12px 18px #0000003d,0 2px #ffffffc7 inset}.tool-button.is-waiting:hover:not(:disabled){border-color:#fff;background-color:#efeee8;box-shadow:0 6px #a6a6a0,0 15px 22px #00000047,0 2px #ffffffd6 inset}.tool-button.is-waiting:active:not(:disabled){box-shadow:0 1px #a6a6a0,0 6px 10px #00000038,0 2px 7px #0000002e inset}.tool-button.danger{color:#eebbb4;border-color:#4b2926;background:#332423;box-shadow:0 4px #211514,0 10px 16px #00000038,0 1px #ffffff1a inset,0 -1px #00000047 inset}.tool-button.danger:hover:not(:disabled){border-color:#6f302b;color:#ffe5df;background-color:#4a2623;box-shadow:0 5px #211514,0 13px 19px #00000040,0 1px #ffffff1f inset}.tool-button.danger:active:not(:disabled){box-shadow:0 1px #211514,0 6px 10px #0003,0 2px 7px #00000047 inset}.message{width:min(100%,520px);min-height:24px;margin:0;color:#d8c37f;font-size:.92rem;font-weight:600;text-align:center}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.055),transparent 34%),#060707b8;-webkit-backdrop-filter:blur(10px) saturate(.82);backdrop-filter:blur(10px) saturate(.82)}.dialog{position:relative;width:min(100%,410px);display:grid;gap:16px;padding:24px;border:1px solid #2b2f31;border-radius:24px;background:#121415;box-shadow:0 6px #070808,0 28px 58px #0000008a,0 2px #ffffff12 inset}.dialog:after{position:absolute;inset:7px;pointer-events:none;content:"";border:1px solid rgba(255,255,255,.04);border-radius:18px}.password-dialog{padding-top:22px}.close-button{position:absolute;top:14px;right:14px;z-index:1;width:50px;height:42px;border-radius:14px;color:#f4f2ed}.dialog-title{display:flex;align-items:center;gap:12px;color:#f0eee8}.dialog-title.danger-title{color:#ffefeb}.dialog h2,.dialog p{margin:0}.dialog h2{font-size:1.2em;font-weight:750;letter-spacing:0}.dialog p{position:relative;z-index:1;color:#d0c1a6}.dialog-subtitle{margin-top:-8px;color:#b9ad96;font-size:.88rem;font-weight:620;line-height:1.35}.modal-form{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}.modal-form.is-set-password{grid-template-columns:1fr}.password-field{min-width:0;display:grid;gap:8px}.modal-form label{color:#d5d1c8;font-size:.84rem;font-weight:700}.modal-form input{width:100%;min-width:0;min-height:58px;padding:0 17px;border:0;border-radius:16px;outline:0;color:#141414;background:#f4f1e9;box-shadow:0 4px #cbc7bd inset,0 -1px #ffffffd1 inset,0 10px 20px #0000002e;font-size:1rem;font-weight:650;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease}.modal-form input:focus{background:#fffdf7;box-shadow:0 0 0 4px #ffffff14,0 4px #cbc7bd inset,0 -1px #ffffffe6 inset,0 10px 20px #0000002e}.modal-form input::placeholder{color:#78766f;font-weight:600}.modal-message{position:relative;z-index:1;margin:0;color:#f2d6d0;font-size:.9rem;font-weight:650}.password-submit-row{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:12px}.modal-form.is-set-password .password-submit-row{grid-column:1 / -1}.confirm-button{width:62px;height:56px;flex:0 0 62px;border-color:#f0eee8;border-radius:17px;color:#111;background:#d9d8d1;box-shadow:0 5px #a6a6a0,0 12px 18px #0000003d,0 2px #ffffffc7 inset}.confirm-button:hover:not(:disabled){border-color:#fff;background-color:#efeee8;box-shadow:0 6px #a6a6a0,0 15px 22px #00000047,0 2px #ffffffd6 inset}.confirm-button:active:not(:disabled){box-shadow:0 1px #a6a6a0,0 6px 10px #00000038,0 2px 7px #0000002e inset}.dialog-actions{position:relative;z-index:1;display:flex;justify-content:flex-end;gap:10px}.dialog-button{min-height:48px;min-width:100px;padding:0 20px;border-radius:16px;font-weight:750;letter-spacing:0}.full .dialog-button{width:100%}.dialog-button.red{color:#fff6f3;border-color:#74241e;background:#d72924;box-shadow:0 5px #8f211c,0 12px 18px #0000003d,0 2px #ffffff2e inset}.dialog-button.red:hover:not(:disabled){border-color:#8f2b24;background-color:#ef312b;box-shadow:0 6px #8f211c,0 15px 22px #00000047,0 2px #fff3 inset}.dialog-button.red:active:not(:disabled){box-shadow:0 1px #8f211c,0 6px 10px #00000038,0 2px 7px #00000047 inset}@media(max-width:520px){.shell{padding:18px}.polaroid{--frame-inset: clamp(10px, 3.2vw, 14px);width:min(100%,470px);padding-bottom:clamp(24px,6vw,32px)}.controls-row{gap:12px}.modal-form{grid-template-columns:1fr}.password-submit-row{grid-column:1 / -1}.confirm-button{justify-self:end}}
