:root{color:#20332e;font-synthesis:none;text-rendering:optimizelegibility;--color-forest:#174b3b;--color-forest-dark:#10392d;--color-coast:#176b75;--color-sand:#f3f0e7;--color-ink:#20332e;--color-muted:#52655e;--color-border:#d3ded7;--color-surface:#fff;--color-error:#a12828;--color-success:#17613c;--page-width:76rem;background:#edf2ee;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;color:var(--color-ink);font:inherit;background:radial-gradient(at 0 0,#2a715e17,#0000 38rem),#edf2ee;margin:0;line-height:1.6}button,input,select,textarea{font:inherit}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}a{color:var(--color-coast);text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{color:var(--color-forest-dark)}:focus-visible{outline-offset:3px;outline:3px solid #d48c27}::selection{color:#fff;background:var(--color-forest)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#app-container{width:min(100% - 2rem, var(--page-width));min-height:100vh;margin-inline:auto;padding:1.25rem 0 1rem}header{color:#fff;background:radial-gradient(at 90% 10%,#bfdcb933,#0000 40%),linear-gradient(120deg,#10392d 0%,#176b58 58%,#176b75 100%);border-radius:1.25rem;padding:clamp(1.5rem,5vw,3.25rem);overflow:hidden;box-shadow:0 1rem 2.5rem #174b3b24}header h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,5vw,3.2rem);font-weight:750;line-height:1.1}header .tag-line{color:#e0eee5;margin:.75rem 0 0;font-size:clamp(1rem,2vw,1.2rem)}nav{border:1px solid var(--color-border);background:#ffffffeb;border-radius:1rem;margin:1rem 0 1.5rem;padding:.55rem;box-shadow:0 .25rem 1rem #20332e0d}nav ul{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}nav li{max-width:100%}nav .nav-auth{margin-left:auto}nav .nav-session{justify-content:flex-end;align-items:center;gap:.2rem;display:flex}nav .nav-welcome{min-height:2.75rem;color:var(--color-forest-dark);align-items:center;padding-inline:.65rem .3rem;font-weight:650;display:inline-flex}nav a,nav .link-button{min-height:2.75rem;color:var(--color-forest-dark);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:.7rem;justify-content:center;align-items:center;padding:.55rem .9rem;font-weight:650;line-height:1.25;text-decoration:none;display:inline-flex}nav a:hover,nav .link-button:hover{color:var(--color-forest-dark);background:#edf4ef}nav a.active{color:#fff;background:var(--color-forest)}main{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1.25rem;min-width:0;margin:0;padding:clamp(1.1rem,3vw,2rem);box-shadow:0 .75rem 2rem #20332e0f}main>:first-child{margin-top:0}main>:last-child{margin-bottom:0}.join-page,.login-page{margin-inline:auto}.join-page{width:min(100%,54rem)}.login-page{width:min(100%,42rem)}main h1,main h2,main h3{color:var(--color-forest-dark);line-height:1.25}main h1{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(1.8rem,4vw,2.4rem)}main h2{border-bottom:1px solid var(--color-border);letter-spacing:-.02em;margin:2.5rem 0 .9rem;padding-bottom:.6rem;font-size:clamp(1.35rem,3vw,1.7rem)}main h3{margin:0 0 .8rem;font-size:1.2rem}main p{max-width:72ch}main>p{margin-block:.75rem 1rem}.table-scroll{border:1px solid var(--color-border);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:.85rem;max-width:100%;margin-block:1rem 1.5rem;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:.8rem .9rem}th{color:#183d33;background:#e6efe8;font-size:.9rem;font-weight:700}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f6f9f6}form{gap:.85rem;margin-block:1rem 1.5rem;display:grid}form.two-column{grid-template-columns:minmax(9rem,.7fr) minmax(0,1.3fr);align-items:center;gap:.8rem 1.1rem;max-width:45rem}.join-page form.two-column{max-width:42rem;margin-inline:auto}.login-page form.two-column{max-width:34rem;margin-inline:auto}form label{color:#2c4038;font-weight:650}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-width:0;min-height:2.85rem;color:var(--color-ink);background:#fff;border:1px solid #899b91;border-radius:.65rem;padding:.65rem .8rem}textarea{resize:vertical;min-height:8rem}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--color-forest)}select[multiple]{min-height:8rem}input:focus,select:focus,textarea:focus{border-color:var(--color-coast)}:is(input:user-invalid,select:user-invalid,textarea:user-invalid){border-color:var(--color-error)}button{border:1px solid var(--color-forest);color:#fff;background:var(--color-forest);cursor:pointer;border-radius:.65rem;min-height:2.75rem;padding:.6rem 1rem;font-weight:700;line-height:1.2;transition:background-color .14s,border-color .14s,transform .14s}button:hover:not(:disabled){border-color:var(--color-forest-dark);background:var(--color-forest-dark)}.button-success{border-color:var(--color-success);background:var(--color-success)}.button-success:hover:not(:disabled){background:#10472b;border-color:#10472b}.button-danger{background:#982d2d;border-color:#982d2d}.button-danger:hover:not(:disabled){background:#761f1f;border-color:#761f1f}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.65}form.two-column .span-two,form.two-column>p{grid-column:1/-1}form.two-column>p{text-align:center;margin:0}form.two-column>p.password-hint{text-align:center;color:#4a5f56;grid-column:2;margin:0;font-size:.9rem}main p.auth-switch{text-align:center;max-width:none}form.two-column label.checkbox-card{cursor:pointer;background:#f4f8f5;border:1px solid #899b91;border-radius:.65rem;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}form.two-column label.checkbox-card:hover{background:#edf4ef}form.two-column label.checkbox-card:has(input:checked){border-color:var(--color-forest);background:#e3f0e7}form.two-column label.checkbox-card input{width:1.35rem;height:1.35rem;accent-color:var(--color-forest);cursor:pointer;flex:none;margin:0}main p.centered-text{text-align:center;max-width:none}main p.full-width-text{max-width:none}.error-message,.error,.success,.status-message{text-align:center;border:1px solid;border-radius:.7rem;max-width:36rem;margin:1rem auto;padding:.5rem .9rem;font-size:.9rem}.error-message,.error{color:#781d1d;background:#fff2ef;border-color:#e3b1aa;font-weight:650}.success{color:#155332;background:#eef8f0;border-color:#9dc8ad;font-weight:650}.status-message{color:#164b55;background:#edf7f8;border-color:#a9c9d0}#stories,.story-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));align-items:stretch;gap:1rem;margin-block:1rem 1.5rem;display:grid}#stories article,.story-list article,details>article{min-width:0;color:var(--color-ink);background:linear-gradient(145deg,#fbf7eb,#eef5f1);border:1px solid #d9c58e;border-radius:1rem;flex-direction:column;gap:1rem;padding:1.2rem;display:flex;box-shadow:0 .4rem 1rem #20332e0d}#stories .quote,.story-list .quote{overflow-wrap:anywhere;flex:1}#stories .author,.story-list .author{color:var(--color-forest-dark);text-align:right;font-weight:700}details{border:1px solid var(--color-border);background:#fbfcfa;border-radius:.95rem;margin-block:1rem;padding:1rem 1.1rem}details[open]{background:#fff;box-shadow:0 .35rem 1rem #20332e0b}details summary{color:var(--color-forest-dark);cursor:pointer;font-size:1.15rem;font-weight:750}details[open] summary{margin-bottom:1rem}details section{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;display:grid}.new-activity-form{border:1px solid var(--color-border);background:#f6f9f6;border-radius:.85rem;max-width:34rem;margin-block:.5rem 1.25rem;padding:1rem;display:block}.admin-activity-form{grid-template-columns:6rem minmax(0,1fr);align-items:center;gap:.6rem 1rem;margin-block:.5rem .75rem;display:grid}.admin-activity-form input,.admin-activity-form select{width:100%;max-width:22rem;min-height:2.5rem}.new-activity-form .checkbox-row{align-items:center;gap:.5rem;display:flex}.new-activity-form .checkbox-row input{width:auto;min-height:0}.new-activity-form .form-actions{margin-top:.9rem}.new-activity-form button{min-height:2.5rem;padding:.45rem 1.25rem}.admin-activity-form label{font-weight:650}details td button+button{margin-left:.45rem}footer{color:var(--color-muted);text-align:center;padding:1.5rem 0 .5rem;font-size:.9rem}@media (width<=640px){#app-container{width:min(100% - 1rem, var(--page-width));padding-top:.5rem}header{border-radius:1rem}nav{margin-block:.6rem .8rem;padding:.4rem}nav ul{gap:.15rem}nav li{flex:auto}nav .nav-auth{margin-left:auto}nav a,nav .link-button{width:100%;padding-inline:.6rem;font-size:.93rem}main{border-radius:1rem;padding:1rem}form.two-column{grid-template-columns:minmax(0,1fr);gap:.45rem}form.two-column .span-two,form.two-column>p,form.two-column>p.password-hint{grid-column:auto}form.two-column label:not(.span-two){margin-top:.35rem}.table-scroll table{min-width:36rem}.admin-activity-form input,.admin-activity-form select{max-width:none}.admin-activity-form{grid-template-columns:minmax(0,1fr);gap:.35rem}.admin-activity-form label:not(:first-child){margin-top:.55rem}th,td{padding:.65rem}}
