:root{--bg:#000;--text:#fff;--text2:#b5b5b5;--muted:#6e6e6e;--line:#1e1e1e;--hover:#111;--radius:8px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;min-height:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:Courier New,Courier,monospace;letter-spacing:.2px}body>main{width:100%;flex:1 1}a{color:var(--text2);text-decoration:none}a:hover{color:var(--text)}hr{border:0;border-top:1px solid var(--line)}.container{max-width:720px;margin:0 auto;padding:24px}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px}.nav-button{border:0;padding:0;margin-left:auto;color:var(--text2)}.account-logout{display:block;margin:-8px 0 12px auto}.account-identity{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-8px 0 18px}.identity-copy{display:grid;grid-gap:3px;gap:3px;min-width:0;overflow-wrap:anywhere}.achievement-badges.compact{display:flex;flex:1 1;justify-content:flex-end;gap:6px}.achievement-badges.compact .achievement-badge{display:flex;align-items:center;gap:7px;padding:6px 8px;max-width:190px}.achievement-badges.compact a.achievement-badge:hover{background:var(--hover);border-color:var(--text2)}.achievement-badges.compact .achievement-badge svg{width:28px;height:28px;flex:0 0 28px}.achievement-badges.compact .label{margin:0;font-size:9px}.achievement-badges.compact .badge-name{margin:1px 0 0;font-size:10px}.auth-shell{padding-top:10vh}.auth-card{margin-top:20px}.auth-tabs{display:flex;gap:8px}.auth-tabs button{flex:1 1}.auth-tabs button.active{border-color:var(--text2)}.form-error{color:#ff8a8a;font-size:12px;margin:4px 0}.status-card{margin-top:12px;word-break:break-word}.prompt-actions,.share-prompt{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.danger-zone{margin-top:18px;border-color:#522}.danger-button{border-color:#733;color:#ff9d9d}.button-link{display:inline-block;text-align:center;border:1px solid var(--line);padding:12px 16px;border-radius:10px;color:var(--text)}.button-link:hover{background:var(--hover)}.secondary-link{color:var(--text2)}.account-section{margin-top:18px}.feedback-card form{margin-top:12px}.gear-help{position:relative;border:1px solid var(--text2);border-radius:10px;padding:14px 42px 14px 14px;margin:12px 0;background:var(--hover)}.gear-help p{margin:6px 0 0}.gear-help-close{position:absolute;right:7px;top:7px;padding:3px 8px;border:0;font-size:20px}.today-date-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.today-date-row .meta{margin:0}.random-frame-button{padding:7px 10px;font-size:11px}.random-frame-card{position:relative;margin:0 0 12px;border-color:var(--text2)}.clickable-card{cursor:pointer}.clickable-card:hover{background:var(--hover)}.random-frame-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.guest-warning{display:grid;grid-gap:6px;gap:6px;margin:14px 0;padding:13px;border:1px solid var(--text2);border-radius:10px}.guest-warning a{color:var(--text);text-decoration:underline}.today-photo-trigger{cursor:pointer}.today-photo-trigger:hover img{outline:1px solid var(--text2)}.photo-card-backdrop{overflow-y:auto;align-items:start}.photo-detail-card{position:relative;width:min(100%,600px);min-height:min(750px,calc(100vh - 48px));margin:auto;border:1px solid var(--text2);border-radius:12px;background:var(--bg);padding:28px;display:flex;flex-direction:column}.photo-card-prompt{font-size:25px;line-height:1.15;margin:9px 36px 9px 0}.photo-detail-card>img{width:100%;min-height:260px;max-height:52vh;object-fit:contain;margin:20px 0;border:1px solid var(--line)}.photo-card-footer{margin:auto 0 0;padding-top:18px;font-size:11px;color:var(--text2)}.progress-photos{margin-top:24px}.photo-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:10px}.photo-history-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.photo-history-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-history-copy{display:grid;grid-gap:5px;gap:5px;padding:10px;font-size:12px;overflow-wrap:anywhere}.site-footer{width:100%;max-width:720px;margin:0 auto;padding:22px 24px 30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.site-footer a{color:var(--text2)}.achievement-card{margin-top:12px}.streak-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:14px 0}.streak-stats>div{border:1px solid var(--line);border-radius:10px;padding:12px}.streak-stats span{display:block;font-size:30px}.streak-stats small{color:var(--text2);font-size:11px}.achievement-badges{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.achievement-badge{border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.achievement-badge svg{width:58px;height:58px;display:block;color:var(--text)}.badge-name{margin-top:4px;font-size:13px;overflow-wrap:anywhere}.next-unlock{border-left:2px solid var(--text2);padding-left:12px;margin:16px 0;font-size:13px}.upcoming-ranks{margin-top:18px}.upcoming-rank{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.upcoming-rank>div{display:grid;grid-gap:4px;gap:4px}.upcoming-rank span{color:var(--text2)}.locked-rank strong{display:flex;align-items:center;gap:7px;color:var(--text2)}.lock-mark{width:17px;height:17px;flex:0 0 17px}.show-ranks-button{width:100%;margin-top:12px}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.82)}.mini-modal{position:relative;width:min(100%,440px);border:1px solid var(--text2);border-radius:12px;background:var(--bg);padding:28px 48px 28px 24px}.checkbox-label{display:flex;align-items:center;gap:9px;text-transform:none}.checkbox-label input{width:auto;margin:0}@media (max-width:520px){.achievement-badges{grid-template-columns:1fr}.account-identity{align-items:flex-start;flex-direction:column}.achievement-badges.compact{width:100%;justify-content:flex-start}.achievement-badges.compact .achievement-badge{flex:1 1}.photo-history-grid{grid-template-columns:1fr}}.card{border:1px solid var(--line);border-radius:12px;padding:16px}.h1{font-size:20px;margin:0 0 6px;font-weight:400}.meta{color:var(--muted);margin:0 0 14px}.label,.meta{font-size:12px}.label{color:var(--text2);margin-top:10px;text-transform:lowercase}.prompt{font-size:32px;line-height:1.1;margin:10px 0 12px;font-weight:400}.value{margin:4px 0 0}button,input,select,textarea{font-family:inherit;font-size:14px}button{background:transparent;color:var(--text);border:1px solid var(--line);padding:12px 16px;border-radius:10px;cursor:pointer}button:hover{background:var(--hover)}button:disabled{cursor:not-allowed;opacity:.45}button.secondary{color:var(--text2)}input,select,textarea{width:100%;background:transparent;color:var(--text);border:1px solid var(--line);padding:10px 12px;border-radius:10px}textarea{resize:vertical;min-height:120px;line-height:1.45}textarea::placeholder{color:var(--muted)}img.photo{width:100%;border-radius:var(--radius);display:block}.grid{display:grid;grid-gap:10px;gap:10px}.small{color:var(--text2);font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.day{border:1px solid var(--line);border-radius:10px;padding:10px 0;text-align:center;color:var(--text2)}.day.done{color:var(--text)}.day.dim{opacity:.35}