@keyframes st-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes st-fade{0%{opacity:0}to{opacity:1}}@keyframes st-pulse{50%{opacity:.45}}@keyframes st-pin-drop{0%{opacity:0;translate:0 -18px}to{opacity:1;translate:0 0}}:root{color-scheme:dark;--room: #29241e;--cream: #f4ead5;--muted: #c5b89f;--gold: #dfbd7c;--paper: #efe4cb;--ink: #332c22;--ink-soft: #6a5d48;--ink-faint: #8a7755;--brown: #8b6843;--staff: #92774d;--rule-soft: #ddd1b8;--hairline: #a18c6533;--now: #5e754b;--rust: #a05c3a;--walnut: #3b2a20;--cork: #a37a52;--polaroid: #f7f2e8;--pin: #b8412e;--serif: "Instrument Serif", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif;--ease: cubic-bezier(.2, .6, .3, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--room)}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 28% -10%,#3d3327 0%,transparent 55%),radial-gradient(ellipse at 100% 100%,#1d1813 0%,transparent 60%),var(--room);background-attachment:fixed;color:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em}h3{font-weight:550}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:wait}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.paper-surface :focus-visible,.note-surface :focus-visible,.toolbar :focus-visible,.polaroid :focus-visible{outline-color:var(--brown)}::selection{background:var(--gold);color:#2b251d}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;background:var(--cream);color:var(--ink);padding:12px 20px;text-decoration:none}.skip-link:focus{top:12px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-faint)}.eyebrow:before{content:"";width:22px;height:1px;background:currentColor;flex-shrink:0}.handwritten{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.2;color:#89734e;display:inline-block}.tag{display:inline-block;font-size:9px;letter-spacing:.06em;padding:3px 8px;border:1px solid #a18c6580;border-radius:2px;color:var(--ink-soft);white-space:nowrap}.text-button{border:0;padding:5px 0;background:none;color:inherit;font-size:inherit}.pin{position:absolute;z-index:3;top:-9px;left:var(--pin-x, 50%);width:17px;height:17px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#ec8a6f 0%,var(--pin) 48%,#6e2418 100%);box-shadow:inset 0 1px 1px #fff5,0 6px 8px -3px #000a}.pin:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:9px;background:linear-gradient(#00000099,transparent);transform:translate(-50%) skew(-32deg)}.toolbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:28px;min-height:62px;padding:0 32px;color:var(--ink);background:linear-gradient(90deg,#dcd0b8,#f2e9d4 3% 97%,#e2d5bc);border-bottom:1px solid var(--hairline);box-shadow:0 6px 24px #00000059}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none}.monogram{font-family:var(--serif);font-size:38px;line-height:.8;letter-spacing:-3px}.monogram span{color:var(--brown)}.wordmark-label{font-size:10px;line-height:1.5;letter-spacing:.035em;color:var(--ink-faint)}.wordmark-label strong{font-weight:550;font-size:12px;color:var(--ink)}.toolbar-nav{display:flex;gap:22px;font-size:12px}.toolbar-nav a{text-decoration:none;color:var(--ink-soft);padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.toolbar-nav a:hover{color:var(--ink);border-bottom-color:var(--brown)}.toolbar-sheet{flex:1;min-width:0;text-align:center;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-end{font-size:12px;white-space:nowrap}.toolbar-end a,.toolbar-end button{text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:1px solid #a18c6580;transition:border-color .2s}.toolbar-end a:hover,.toolbar-end button:hover{border-bottom-color:var(--ink)}.wall{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:48px 24px 72px}.paper-surface,.note-surface{color:var(--ink);background:var(--paper);border:1px solid #f9efdb;border-radius:1px}.paper-surface{background:linear-gradient(90deg,#dcd0b8,#f2e9d4 3% 97%,#e2d5bc)}.note-surface{background:radial-gradient(ellipse at 90% 0,#fff1ca,#eee1c4 75%);border-top:0}.sheet{position:relative;box-shadow:0 24px 100px #0007,0 3px 12px #0006}.surface-toolbar{display:flex;align-items:center;gap:15px;padding:16px 30px;border-bottom:1px solid var(--hairline);font-size:10px;letter-spacing:.035em;color:var(--ink-faint)}.surface-toolbar>span:first-child{flex:1}.surface-counter{opacity:.75}.surface-back{text-decoration:none;color:var(--ink-soft);transition:color .2s}.surface-back:hover{color:var(--ink)}.sheet-body{padding:28px 34px 30px}.sheet-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;padding:34px 38px 26px}.sheet-head h1{font-size:clamp(44px,6vw,86px);margin-top:12px;max-width:16ch;overflow-wrap:anywhere}.sheet-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;padding-bottom:12px;font-size:12px;color:var(--ink-soft)}.sheet-meta .handwritten{font-size:24px}.surface-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid #cdbfa429;font-size:10px;color:#bcae97}.surface-foot a{text-decoration:none}.surface-foot a:hover{text-decoration:underline}.page-foot{width:100%;max-width:1240px;margin:0 auto;padding:18px 24px 28px}.page-foot .handwritten{font-size:18px;color:#cfb78c;rotate:-2deg}.empty-note{position:relative;display:inline-block;padding:22px 28px;font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.3;color:var(--ink-soft)}.empty-note.note-surface{margin-left:4px;rotate:1.2deg;box-shadow:0 12px 30px #0006,0 2px 4px #0004}.board-frame{padding:16px;border-radius:2px;background:linear-gradient(135deg,#4a3527 0%,var(--walnut) 40%,#43301f 70%,#2c1f17 100%);box-shadow:inset 0 1px #6b4f3c,inset 0 -1px #1a120d,0 30px 80px #0008,0 4px 10px #0006;animation:st-fade .8s var(--ease) both}.corkboard{position:relative;padding:44px 40px 56px;background:radial-gradient(ellipse at 18% 8%,#bb925f 0%,transparent 55%),radial-gradient(ellipse at 88% 92%,#8a6440 0%,transparent 50%),var(--cork);box-shadow:inset 0 0 70px #3b26144d,inset 0 2px 6px #0005}.corkboard:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23a37a52' filter='url(%23c)' d='M0 0h240v240H0z'/%3E%3C/svg%3E")}.board-head{position:relative;z-index:1;display:inline-block;max-width:420px;margin:0 0 44px 6px;padding:28px 32px 22px;rotate:-1.2deg;box-shadow:0 12px 30px #0006,0 2px 4px #0004;animation:st-pin-drop .7s var(--ease) backwards}.board-head h1{font-size:clamp(38px,4.4vw,58px);margin:12px 0 10px}.board-head .handwritten{font-size:20px}.polaroids{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:52px 36px}.polaroid{position:relative;rotate:var(--tilt, 0deg);transition:rotate .45s var(--ease),translate .45s var(--ease),scale .45s var(--ease);animation:st-pin-drop .7s var(--ease) backwards;animation-delay:calc(.15s + var(--i, 0) * .06s)}.polaroid>a{display:block;padding:7% 7% 0;background:var(--polaroid);color:var(--ink);text-decoration:none;border-radius:1px;box-shadow:0 16px 36px #00000073,0 2px 4px #0005}.polaroid-photo{position:relative;aspect-ratio:1;overflow:hidden;background:#d9cfb9;display:flex;align-items:center;justify-content:center}.polaroid-photo img{width:100%;height:100%;object-fit:cover;background:#d9cfb9;position:relative;z-index:1;animation:st-fade .6s ease-out both}.polaroid-photo:after{content:"";position:absolute;inset:0;background:#d9cfb9;animation:st-pulse 1.6s ease-in-out infinite}.polaroid-photo-empty span{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ink-faint)}.polaroid-caption{min-height:82px;padding:14px 2px 18px;display:flex;flex-direction:column;gap:4px}.polaroid-caption h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-.01em;color:#4a3d2b;rotate:-1deg;transform-origin:left center;overflow-wrap:anywhere}.polaroid-caption span{font-size:11px;color:var(--ink-faint)}@media(hover:hover){.polaroid:hover{rotate:0deg;translate:0 -8px;scale:1.03;z-index:2}}.polaroid:focus-within{rotate:0deg;translate:0 -8px;scale:1.03;z-index:2}.contact-sheet{width:100%;animation:st-rise .7s var(--ease) both}.contact-sheet .empty-note{margin:0 38px 38px}.jgrid{display:flex;flex-wrap:wrap;gap:12px;padding:10px 38px 38px;--row-h: 320px}.jgrid:after{content:"";flex:1e7 1 0%}.jtile{position:relative;flex-grow:calc(var(--ar) * 100);flex-basis:calc(var(--ar) * var(--row-h));overflow:hidden;padding:5px;background:var(--polaroid);box-shadow:0 1px #fff8 inset,0 3px 8px #0002}.jtile img{width:100%;height:100%;object-fit:cover;background:#e0d4bc;position:relative;z-index:1;animation:st-fade .6s ease-out both;transition:filter .3s}.jtile:after{content:"";position:absolute;inset:0;background:#e0d4bc;animation:st-pulse 1.6s ease-in-out infinite}.jtile:before{content:attr(data-idx);position:absolute;left:13px;bottom:13px;z-index:2;padding:1px 10px 2px;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.3;color:var(--brown);background:var(--polaroid);opacity:0;transition:opacity .2s;pointer-events:none}@media(hover:hover){.jtile:hover img{filter:brightness(1.04)}.jtile:hover:before{opacity:1}}.jtile:focus-visible{outline-offset:-3px}.pswp{--pswp-bg: #29241e}.pswp__counter{font-family:var(--serif);font-style:italic;font-size:18px;letter-spacing:0;color:var(--muted)}.sheets{display:flex;flex-direction:column;gap:32px;max-width:1100px;margin:0 auto}.sheets>.sheet{animation:st-rise .6s var(--ease) both}.sheets>.sheet:nth-child(2){animation-delay:.05s}.sheets>.sheet:nth-child(3){animation-delay:.1s}.sheets>.sheet:nth-child(4){animation-delay:.15s}.sheets>.sheet:nth-child(5){animation-delay:.2s}.sheet-danger{border-left:3px solid var(--rust)}.sheet-danger .surface-toolbar{color:var(--rust)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:10px;letter-spacing:.06em;color:var(--ink-faint)}.field input[type=text],.field input[type=date],.field input[type=password]{width:100%;min-width:0;padding:4px 0 7px;font-family:var(--serif);font-size:23px;line-height:1.2;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #a18c6580;border-radius:0;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}.field input:focus{border-bottom-color:var(--brown);box-shadow:0 1px 0 var(--brown)}.field input::placeholder{color:#b3a48a;font-style:italic}.field input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.check{display:flex;align-items:center;gap:9px;padding-bottom:9px;font-size:12px;color:var(--ink-soft);cursor:pointer;user-select:none}.check input{width:15px;height:15px;margin:0;accent-color:var(--brown)}.form-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:20px 28px}.form-row .field{flex:1 1 200px}.form-error{margin-top:16px;font-size:12px;color:var(--rust)}.btn{display:inline-flex;align-items:center;gap:.5em;padding:10px 18px;font-size:12px;font-weight:500;letter-spacing:.02em;line-height:1.2;color:var(--paper);background:var(--ink);border:1px solid var(--ink);border-radius:2px;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s}.btn:hover{background:#4a3f31;border-color:#4a3f31;transform:translateY(-1px)}.btn:disabled{opacity:.5;transform:none}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-danger{background:transparent;color:var(--rust);border-color:var(--rust)}.btn-danger:hover{background:var(--rust);color:var(--paper);border-color:var(--rust)}.btn-small{padding:6px 12px;font-size:11px}.share-btn.copied,.share-btn.copied:hover{background:var(--now);border-color:var(--now);color:var(--paper)}.ledger{border-top:1px solid #9d88613d}.ledger-row{display:grid;grid-template-columns:36px 56px minmax(0,1fr) auto auto auto;gap:18px;align-items:center;padding:14px 6px;border-bottom:1px solid #9d88613d;transition:background .2s}.ledger-row:hover{background:#e7c8950f}.row-idx{font-family:var(--serif);font-style:italic;font-size:23px;color:#9a8059}.row-thumb{width:56px;height:56px;padding:3px;background:var(--polaroid);box-shadow:0 2px 6px #0003;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);text-decoration:none;rotate:-2deg;transition:rotate .3s var(--ease)}.ledger-row:hover .row-thumb{rotate:0deg}.row-thumb img{width:100%;height:100%;object-fit:cover}.row-title{font-family:var(--serif);font-size:26px;line-height:1.1;letter-spacing:-.02em;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}.row-title:hover{color:var(--brown)}.row-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink-faint);white-space:nowrap}.row-actions{display:flex;gap:8px}.tray{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;text-align:center;font-size:12px;color:var(--ink-soft);background:#e9dec6;border:1px dashed #a18c6580;border-radius:2px;cursor:pointer;transition:background .2s,border-color .2s}.tray:hover,.tray:focus-visible{border-color:var(--brown);background:#ece1c9}.tray.dragover{border-style:solid;border-color:var(--brown);background:#f4ead5}.tray strong{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}.batch-status{margin-top:14px;font-size:12px;color:var(--brown)}.batch-status:before{content:"●";margin-right:.6em;animation:st-pulse 1.2s ease-in-out infinite}.upload-queue{margin-top:12px;display:flex;flex-direction:column}.upload-row{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:16px;align-items:center;padding:8px 0;border-bottom:1px solid #9d88613d;font-size:12px;color:var(--ink-soft)}.up-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-track{display:block;height:3px;background:#cdbfa4}.up-fill{display:block;height:100%;width:0%;background:var(--brown);transition:width .2s}.upload-row.done .up-fill{background:var(--now)}.up-status{display:flex;align-items:center;gap:8px;color:var(--ink-faint);white-space:nowrap}.upload-row.error .up-status{color:var(--rust)}.pm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px 14px}.pm-tile{position:relative;display:flex;flex-direction:column;padding:6px 6px 0;background:var(--polaroid);border-radius:1px;box-shadow:0 3px 10px #0004;transition:box-shadow .2s,opacity .2s}.pm-tile.dragging{opacity:.4}.pm-tile.is-cover{box-shadow:0 0 0 2px var(--brown),0 3px 10px #0004}.pm-tile.is-featured:before{content:"";position:absolute;z-index:3;top:-7px;left:50%;width:13px;height:13px;margin-left:-6px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#ec8a6f 0%,var(--pin) 48%,#6e2418 100%);box-shadow:inset 0 1px 1px #fff5,0 4px 6px -2px #000a}.pm-thumb{position:relative;aspect-ratio:1;overflow:hidden;cursor:grab;background:#e0d4bc}.pm-thumb img{width:100%;height:100%;object-fit:cover;background:#e0d4bc;position:relative;z-index:1;animation:st-fade .6s ease-out both}.pm-thumb:after{content:"";position:absolute;inset:0;background:#e0d4bc;animation:st-pulse 1.6s ease-in-out infinite}.pm-cover-tag,.pm-feat-tag{position:absolute;z-index:2;top:6px;padding:2px 7px;font-size:9px;letter-spacing:.04em;color:var(--ink);background:var(--polaroid);border-radius:2px}.pm-cover-tag{left:6px}.pm-feat-tag{right:6px;color:var(--pin)}.pm-tile:not(.is-cover) .pm-cover-tag,.pm-tile:not(.is-featured) .pm-feat-tag{display:none}.pm-tools{display:grid;grid-template-columns:repeat(5,1fr);margin-top:6px;border-top:1px solid var(--rule-soft)}.pm-tools button{padding:8px 0;font-size:13px;line-height:1;color:var(--ink-soft);background:none;border:0;transition:background .15s,color .15s}.pm-tools button:hover{background:var(--ink);color:var(--paper)}.pm-tools .pm-del:hover{background:var(--rust)}.pm-tools .pm-feat[aria-pressed=true]{color:var(--pin)}.pm-tools .pm-feat[aria-pressed=true]:hover{background:var(--pin);color:var(--paper)}.pm-hint{margin-top:18px;max-width:70ch;font-size:11px;line-height:1.6;color:var(--ink-faint)}.login-wrap{min-height:calc(100vh - 212px);display:flex;align-items:center;justify-content:center;padding:24px}.login-box{position:relative;width:100%;max-width:400px;display:flex;flex-direction:column;gap:22px;padding:40px 42px 34px;rotate:-.6deg;box-shadow:0 24px 80px #0007,0 3px 12px #0006;animation:st-pin-drop .6s var(--ease) backwards}.login-box h1{font-size:52px;margin-top:10px}.login-box .btn{align-self:flex-start}.login-error{font-size:12px;color:var(--rust)}.lost-wrap{min-height:50vh;display:flex;align-items:center;justify-content:center;padding:24px}.lost-note{position:relative;max-width:460px;padding:42px 44px 36px;rotate:1deg;box-shadow:0 24px 80px #0007,0 3px 12px #0006;animation:st-pin-drop .6s var(--ease) backwards}.lost-note h1{font-size:clamp(40px,5vw,58px);margin-top:12px}.lost-note p:not(.eyebrow){margin-top:16px;font-size:14px;line-height:1.7;color:var(--ink-soft)}.lost-note a{color:var(--brown)}@media(max-width:860px){.toolbar{gap:16px;min-height:56px;padding:0 16px}.toolbar-sheet,.wordmark-label{display:none}.toolbar-nav{flex:1}.monogram{font-size:32px}.wall{padding:20px 12px 48px}.board-frame{padding:10px}.corkboard{padding:30px 18px 36px}.board-head{margin:0 0 34px 2px;padding:22px 24px 18px}.polaroids{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:36px 16px}.polaroid-caption{min-height:70px;padding-top:10px}.polaroid-caption h2{font-size:19px}.surface-toolbar,.sheet-body{padding-left:18px;padding-right:18px}.sheet-head{padding:26px 18px 20px}.jgrid{--row-h: 220px;gap:6px;padding:6px 12px 20px}.jtile{padding:3px}.contact-sheet .empty-note{margin:0 18px 24px}.ledger-row{grid-template-columns:56px minmax(0,1fr);row-gap:8px}.row-idx{display:none}.row-thumb{grid-row:span 3;align-self:start}.row-title{white-space:normal;font-size:23px}.row-meta,.row-actions,.ledger-row>.btn{grid-column:2}.row-actions{flex-wrap:wrap}.ledger-row>.btn{justify-self:start}.upload-row{grid-template-columns:minmax(0,1fr) 80px auto;gap:8px}.pm-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.login-box,.lost-note{padding:32px 26px 28px}.page-foot{flex-wrap:wrap;justify-content:center;text-align:center;gap:10px 24px}.page-foot .handwritten{order:-1;width:100%}}@media(max-width:480px){.polaroids{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.polaroid>a{padding:6% 6% 0}.polaroid-caption h2{font-size:17px}.board-head{max-width:none;margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
