:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243b35;background:#f7f2e9;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:10;background-image:radial-gradient(#38544810 .6px,transparent .6px);background-size:5px 5px;opacity:.45}.loading{padding:3rem;text-align:center;color:#527368}.shell{max-width:1150px;margin:auto;padding:22px 24px 110px}.topline{display:flex;justify-content:space-between;gap:16px;align-items:center}.brand{display:flex;align-items:center;gap:13px}.brand img{width:50px;height:50px;border-radius:15px;box-shadow:0 7px 20px #19382f25}.eyebrow{margin:0;color:#bd6a58;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:800}.brand h1{margin:2px 0 0;font-size:1.2rem;letter-spacing:-.03em}.topactions{display:flex;align-items:center;gap:10px}.sync{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;color:#58736b}.sync:before{content:"";width:8px;height:8px;border-radius:50%;background:#68a584}.sync.offline:before{background:#c77d59}.sync.pending:before{background:#e3b454}.ghost,.pill,.button,.iconbutton{border:0;border-radius:12px}.ghost{background:transparent;color:#31564a;padding:9px 10px;font-weight:650}.ghost:hover{background:#e9e5d9}.hero{margin-top:32px;background:#264c44;color:#fff9e9;border-radius:26px;padding:30px 34px;position:relative;overflow:hidden;box-shadow:0 18px 38px #17382d21}.hero:after{content:"✦";position:absolute;right:25px;top:-35px;font-size:190px;color:#ffffff10;line-height:1}.hero p{position:relative;z-index:1;margin:0 0 9px;color:#e5c8a3;font-size:.75rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase}.hero h2{position:relative;z-index:1;margin:0;font-family:Georgia,serif;font-weight:500;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.045em;line-height:1.06;max-width:640px}.hero .sub{position:relative;z-index:1;margin-top:14px;color:#d9e5dc;font-size:.95rem;max-width:550px;line-height:1.5}.stats{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.stat{padding:8px 12px;background:#ffffff18;border:1px solid #ffffff1e;border-radius:10px;font-size:.78rem}.tabs{display:flex;gap:8px;overflow-x:auto;margin:24px 0;padding:2px;scrollbar-width:none}.tabs button{white-space:nowrap;border:1px solid #e3e0d4;background:#fffcf6;color:#547067;border-radius:12px;padding:11px 18px;font-size:.85rem;font-weight:750}.tabs button.active{background:#dce9df;color:#264c44;border-color:#b6d0be}.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);gap:20px}.stack{display:grid;gap:18px}.card{background:#fffcf6;border:1px solid #e7e2d6;border-radius:20px;box-shadow:0 9px 25px #273b2e0b;padding:22px}.card h3{font-family:Georgia,serif;font-size:1.32rem;font-weight:500;margin:0 0 12px;letter-spacing:-.025em}.card h4{font-size:.84rem;text-transform:uppercase;letter-spacing:.12em;color:#a26151;margin:18px 0 8px}.card p{line-height:1.55}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sectionhead h3{margin:0}.muted{color:#728077;font-size:.85rem}.tiny{font-size:.75rem;color:#6c8177}.eventgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:13px}.eventcard{border:1px solid #e8e2d5;background:#fffcf6;border-radius:18px;padding:18px;text-align:left;width:100%;min-height:160px;transition:transform .15s,border-color .15s}.eventcard:hover{transform:translateY(-2px);border-color:#a7bea9}.eventcard .date{color:#bd6a58;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.eventcard strong{display:block;font-family:Georgia,serif;font-size:1.13rem;font-weight:500;margin:12px 0 17px}.badge{display:inline-flex;padding:6px 9px;border-radius:8px;background:#e7eee6;color:#40624d;font-size:.72rem;font-weight:750}.badge.done{background:#dceadb;color:#387356}.badge.ready{background:#f9e9ce;color:#94682b}.detailtitle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detailtitle .ghost{white-space:nowrap}.story{font-family:Georgia,serif;white-space:pre-line;font-size:1.04rem;color:#3b4e42;line-height:1.7}.checkrow,.taskrow,.noterow{border-top:1px solid #ece8de;padding:13px 0;display:flex;gap:12px;align-items:flex-start}.checkrow:first-of-type,.taskrow:first-of-type,.noterow:first-of-type{border-top:0}.checkrow input[type=checkbox],.taskrow input[type=checkbox]{accent-color:#3b765d;width:19px;height:19px;margin:2px 0;flex:none}.checkrow label,.taskrow .taskbody{flex:1;line-height:1.4}.doneText{text-decoration:line-through;color:#8a968b}.smallselect{border:1px solid #e4dfd2;border-radius:9px;background:#f8f6ee;color:#48695a;padding:6px;max-width:125px;font-size:.78rem}.button{display:inline-flex;justify-content:center;align-items:center;background:#c9584b;color:white;font-weight:750;padding:11px 16px;box-shadow:0 6px 15px #9a4b3e22}.button:hover{background:#b74b40}.button.secondary{background:#e6eee5;color:#315b45;box-shadow:none}.button.full{width:100%}.button:disabled{opacity:.5;cursor:default}.iconbutton{background:#f3eee4;color:#87695e;padding:7px 10px}.inlineform{display:flex;gap:8px}.inlineform input{flex:1;min-width:0}.field,input[type=text],input[type=password],input[type=date],textarea,select{border:1px solid #dddccd;border-radius:11px;background:#fffefa;color:#293c31;padding:11px 12px;outline:none}.field:focus,input:focus,textarea:focus,select:focus{border-color:#6c9b7d;box-shadow:0 0 0 3px #6c9b7d26}textarea{width:100%;resize:vertical;min-height:100px}.formgrid{display:grid;gap:12px}.formgrid label{display:grid;gap:5px;font-size:.8rem;font-weight:700;color:#526b5d}.formgrid input,.formgrid select{width:100%}.formactions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.note{flex:1}.note p{margin:0 0 6px;white-space:pre-line}.noterow .iconbutton{margin-left:auto}.empty{border:1px dashed #d4d9cc;background:#f8f7ef;border-radius:15px;padding:24px;text-align:center;color:#718075}.authwrap{max-width:430px;margin:9vh auto 30px;padding:0 18px}.authwrap .brand{margin-bottom:20px}.authcard{padding:30px}.authcard h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:0 0 9px}.authcard p{color:#718075;font-size:.88rem;line-height:1.5}.authcard .button{margin-top:7px}.authcard .error{color:#ad3d34;background:#ffede8;padding:10px;border-radius:9px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{background:#fff3dc;border:1px solid #ead4a4;border-radius:13px;padding:12px 15px;color:#765d35;font-size:.83rem;line-height:1.45}.invitebox{word-break:break-all;background:#f3f4eb;padding:13px;border-radius:10px;font-size:.77rem}.footer{margin-top:32px;text-align:center;color:#98a49b;font-size:.75rem}#toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#264c44;color:#fff;padding:10px 16px;border-radius:11px;box-shadow:0 8px 30px #0003;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw;text-align:center;font-size:.85rem}#toast.show{opacity:1}@media(max-width:760px){.shell{padding:15px 16px 100px}.hero{margin-top:23px;padding:24px;border-radius:20px}.layout{grid-template-columns:1fr}.topline{align-items:flex-start}.topactions{gap:4px;flex-direction:column;align-items:flex-end}.tabs{margin:19px -16px;padding:0 16px}.card{padding:18px}.eventgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.eventcard{min-height:144px}.smallselect{max-width:108px}.detailtitle{display:block}.detailtitle .ghost{padding-left:0}}@media(max-width:410px){.eventgrid{grid-template-columns:1fr}.twocol{grid-template-columns:1fr}.brand h1{font-size:1rem}.brand img{width:42px;height:42px}}
.media-count{display:block;margin-top:12px;color:#6b8877;font-size:.72rem;font-weight:700}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:14px 0 20px}.media-card{overflow:hidden;border:1px solid #e6e1d5;border-radius:14px;background:#fff}.media-card img,.media-card video{display:block;width:100%;height:180px;object-fit:cover;background:#e8ede7}.media-audio,.media-file{min-height:125px;display:grid;place-items:center;background:#e8ede7;color:#3a6552;font-size:1.2rem}.media-audio audio{width:92%}.media-meta{display:grid;gap:7px;padding:12px}.media-meta strong{overflow-wrap:anywhere;font-size:.86rem}.media-actions,.reminder-actions,.calendar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.media-actions a{font-size:.75rem;font-weight:700;color:#315f4a}.media-actions .ghost{font-size:.72rem;padding:5px}.reminder-actions{margin-top:14px}.calendar-actions .button{white-space:nowrap}.button:disabled{opacity:.6;cursor:wait}@media(max-width:760px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-actions{justify-content:flex-end}}@media(max-width:480px){.media-grid{grid-template-columns:1fr}.sectionhead{align-items:flex-start}.calendar-actions{max-width:180px}}
