@import url('../tokens.css');
*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;background:var(--color-paper);color:var(--color-ink);font:14px/1.6 var(--font-body)}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;background:none}button,.button{white-space:nowrap}button:disabled{opacity:.55;cursor:wait}button:hover,a:hover{color:var(--color-accent)}button:active{transform:translateY(1px)}a{color:inherit;text-underline-offset:4px}input,textarea,select{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:10px 12px;max-width:100%;min-width:0}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:auto}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:500}label.check{flex-direction:row;align-items:center}:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}[hidden]{display:none!important}.page{max-width:1360px;margin:auto;padding:0 48px}header{display:flex;align-items:center;gap:32px;padding:28px 0 24px;border-bottom:1px solid var(--color-ink)}.wordmark{font:600 36px/1 var(--font-display);letter-spacing:-1.6px;text-decoration:none;white-space:nowrap}.wordmark span{font-weight:400;color:var(--color-muted);font-size:26px;letter-spacing:-.8px}.wordmark i{display:inline-block;width:7px;height:7px;background:var(--color-accent);border-radius:50%;margin:0 0 2px 4px}.tagline{color:var(--color-muted);font-size:12px}header nav{margin-left:auto;display:flex;gap:24px}header button{font-size:12px;padding:8px 0}.dateline{display:flex;justify-content:space-between;padding:13px 0;font-size:10px;color:var(--color-muted)}.layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;margin-top:38px}aside{padding-top:5px}.side-title{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);display:flex;justify-content:space-between;margin:0 12px 15px}.all-projects,.project-nav-item{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;gap:10px}.selected{background:var(--color-tint);color:var(--color-accent)}.project-nav-item:hover{background:var(--color-soft)}.project-nav-item.child{padding-left:25px;font-size:12px}.nav-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group{border-top:1px solid var(--color-rule);padding-top:8px;margin-top:12px}aside .add-project{margin:16px 8px;color:var(--color-accent);font-size:12px}.sidebar-note{font:400 25px/1.25 var(--font-display);color:var(--color-muted);border-top:1px solid var(--color-rule);padding-top:24px;margin:32px 12px 24px}.sidebar-note span{display:block;font:11px/1.6 var(--font-body);margin-top:12px}.legend{border-top:1px solid var(--color-rule);margin:0 12px;padding-top:20px;display:grid;gap:8px;font-size:10px;color:var(--color-muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none;background:var(--color-muted);margin-right:6px}.online{--status-color:var(--color-green)}.maintenance{--status-color:var(--color-orange)}.offline{--status-color:var(--color-red)}.dot.online,.dot.maintenance,.dot.offline{background:var(--status-color)}.dot.feature{background:var(--color-black);border:1px solid var(--color-muted)}main{min-width:0;min-height:65vh}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 30px}.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--color-accent);margin:0 0 12px}h1,h2,h3{font-family:var(--font-display);font-style:normal;font-weight:400;line-height:1.15;overflow-wrap:anywhere;min-width:0}h1{font-size:49px;letter-spacing:-1.6px;margin:0 0 10px}h2{font-size:29px;letter-spacing:-.5px;margin:0}h2 span,.footer-brand span{color:var(--color-accent)}h3{font-size:27px;letter-spacing:-.5px;margin:0 0 7px}.muted{color:var(--color-muted);font-size:12px}.intro p.muted{margin:0}.primary,.button,.danger{display:inline-flex;justify-content:center;align-items:center;padding:10px 16px;border-radius:var(--radius-sm);font-size:12px;text-decoration:none;border:1px solid var(--color-rule)}.primary{background:var(--color-accent);color:var(--color-paper);border-color:var(--color-accent)}.primary:hover{opacity:.88;color:var(--color-paper)}.danger{background:var(--color-red);color:var(--color-paper)}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);margin-bottom:35px}.summary>div{padding:20px 24px;border-right:1px solid var(--color-rule)}.summary>div:first-child{padding-left:0}.summary>div:last-child{border:0}.summary strong{font:400 32px var(--font-display);display:block;margin-top:5px}.summary small{font-size:11px;color:var(--color-muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading p{margin:8px 0 0}.project-card{border-top:1px solid var(--color-rule);padding:23px 0;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:start}.logo{width:48px;height:48px;border:1px solid var(--color-rule);border-radius:10px;background:var(--color-soft);object-fit:contain;display:flex;align-items:center;justify-content:center;font:500 25px var(--font-display);color:var(--color-accent)}.project-name{font:400 25px var(--font-display);padding:0;text-align:left;overflow-wrap:anywhere;white-space:normal}.project-info{font-size:12px;color:var(--color-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 10px}.project-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--color-muted)}.badge{border:1px solid var(--color-rule);padding:2px 7px;border-radius:var(--radius-sm);font-size:10px;display:inline-block}.status{font-size:11px;color:var(--status-color);white-space:nowrap}.child-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.child-links button{font-size:11px;padding:5px 9px;border:1px solid var(--color-rule);border-radius:var(--radius-sm)}.tracker{margin-top:36px}.tools{border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;padding:10px 0}.filters{display:flex;flex-wrap:wrap;gap:2px}.filters button{font-size:10px;padding:7px 9px;color:var(--color-muted);border-radius:var(--radius-sm)}.filters button.active{background:var(--color-tint);color:var(--color-accent)}.sort{display:flex;flex-direction:row;align-items:center;color:var(--color-muted);font-size:10px;font-weight:400}.sort select{border:0;background:var(--color-paper);padding:5px;font-size:10px}.search-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0}.search-row input{border:0;background:none;font-size:12px;padding:8px 0;width:60%}.search-row span{font-size:10px}.entry{border-top:1px solid var(--color-rule);padding:22px 0;display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px}.entry-symbol{font-size:18px;color:var(--color-red);line-height:1.3}.entry.fixed .entry-symbol{color:var(--color-green)}.entry.feature .entry-symbol{color:var(--color-ink)}.entry h3{font-size:23px;margin:7px 0}.entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:var(--color-muted);font-size:10px}.entry-type{color:var(--color-red)}.entry.fixed .entry-type{color:var(--color-green)}.entry.feature .entry-type{color:var(--color-ink)}.priority-high{color:var(--color-red)}.entry-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:var(--color-muted);margin:7px 0}.entry-actions{display:flex;gap:12px;margin-top:10px}.entry-actions button,.text-action{font-size:11px;color:var(--color-accent);padding:0}.empty{padding:35px 10px;text-align:center;color:var(--color-muted);border-top:1px solid var(--color-rule);font-size:13px}.empty h3{color:var(--color-ink)}.endnote{font:400 21px var(--font-display);text-align:center;color:var(--color-muted);margin:35px 0 10px}footer{border-top:1px solid var(--color-rule);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;margin-top:64px;color:var(--color-muted);font-size:10px}.footer-brand{font:600 26px var(--font-display);color:var(--color-ink)}footer a{white-space:nowrap}dialog{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:8px;max-width:580px;width:calc(100% - 32px);padding:28px;max-height:90dvh}dialog::backdrop{background:var(--color-backdrop)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dialog-top button{font-size:26px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}#editor-fields{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.error{color:var(--color-red);font-size:12px}.setup{max-width:520px;padding:48px 24px;margin:40px auto}.setup h1{font-size:40px;margin-top:40px}.setup form{display:grid;gap:18px;margin-top:30px}.skip{position:fixed;top:-100px;left:16px;background:var(--color-paper);padding:12px;z-index:10}.skip:focus{top:8px}#notice{background:var(--color-tint);padding:14px 18px;border-left:2px solid var(--color-accent);margin-bottom:20px;font-size:12px}.detail-top{display:flex;gap:18px;align-items:center;margin:20px 0}.detail-top .logo{width:64px;height:64px}.detail-top h1{font-size:42px}.detail-actions{display:flex;gap:18px;margin-top:18px}.detail-info{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-muted);font-size:13px;max-width:70ch}.detail-panel{padding:22px 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}
@media(max-width:1100px){.page{padding:0 28px}.layout{gap:30px;grid-template-columns:175px minmax(0,1fr)}.tagline{display:none}h1{font-size:42px}.intro{align-items:flex-start}.intro .primary{margin-top:10px}.summary>div{padding:18px}}
@media(max-width:768px){.page{padding:0 20px}.layout{display:block;margin-top:16px}aside{border-bottom:1px solid var(--color-rule);padding-bottom:16px;margin-bottom:26px}.sidebar-note,.legend,.side-title{display:none}#project-nav{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.nav-group{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}.project-nav-item,.project-nav-item.child,.all-projects{width:auto;padding:6px 10px;font-size:11px}.all-projects{display:inline-flex;gap:20px}.nav-name{max-width:190px}aside .add-project{margin:10px 0 0}header{padding:22px 0;gap:10px}header nav{gap:16px}.wordmark{font-size:31px}.wordmark span{font-size:22px}header button{font-size:10px}h1{font-size:39px}.intro{flex-wrap:wrap;gap:14px}.intro .primary{margin-top:0}.summary{margin-bottom:26px}.project-card{grid-template-columns:40px minmax(0,1fr);gap:12px}.project-card>.status{grid-column:2;margin-top:-5px}.logo{width:40px;height:40px}.summary>div{padding:15px 10px}.summary strong{font-size:27px}.summary small{font-size:10px}.tracker{margin-top:28px}h2{font-size:26px}.section-heading{align-items:flex-start}.tools{gap:6px}.filters button{padding:7px 8px}.dateline{font-size:9px}.dateline span{max-width:45%;text-align:right}footer{margin-top:40px;flex-wrap:wrap}footer>span:nth-child(2){order:3;width:100%}.detail-top h1{font-size:34px}.form-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:375px){.page{padding:0 16px}.wordmark{font-size:27px}.wordmark span{font-size:18px}header nav{gap:12px}#theme span{display:none}h1{font-size:35px}.section-heading{flex-wrap:wrap}.summary>div{padding:12px 6px}.summary small{font-size:9px}.filters button{font-size:9px;padding:7px}.entry h3{font-size:22px}dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep native file controls inside narrow project editors. */
dialog form,dialog label,dialog .form-grid{min-width:0}dialog input,dialog select,dialog textarea{width:100%;min-width:0}dialog input[type=checkbox]{width:auto}dialog input[type=file]{font-size:11px;padding:8px 4px}

/* Otticmedia header branding. */
.wordmark{display:inline-flex;align-items:center;gap:0}.wordmark b{font:inherit}.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:var(--radius-sm);margin-right:12px;flex:none}.wordmark span{margin-left:5px}
@media(max-width:600px){header{flex-wrap:wrap;row-gap:16px}header nav{width:100%;margin-left:0;justify-content:flex-end}.brand-logo{width:36px;height:36px;margin-right:8px}.wordmark{font-size:30px}.wordmark span{font-size:22px}#theme span{display:inline}.setup .wordmark{font-size:30px}.setup .wordmark span{font-size:22px}}

.project-info a,.detail-info a{color:var(--color-accent);overflow-wrap:anywhere}.project-info strong,.detail-info strong{font-weight:600;color:var(--color-ink)}

.dot.added{background:var(--color-blue)}.entry.added .entry-symbol,.entry.added .entry-type{color:var(--color-blue)}

.entry-body a{color:var(--color-accent);overflow-wrap:anywhere}.entry-body strong{font-weight:600;color:var(--color-ink)}

.private-tag{color:var(--color-muted);background:var(--color-soft)}.nav-name .private-tag{margin-left:6px;font-size:9px;vertical-align:middle}

.project-name-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}.visibility-help{margin:0}@media(max-width:600px){.project-name-row{grid-template-columns:minmax(0,1fr)}}
.social-nav{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;text-align:left;border-top:1px solid var(--color-rule);margin-top:20px;padding:15px 12px;font-size:13px;border-radius:var(--radius-sm)}.social-nav span{font-size:11px;color:var(--color-muted)}.social-nav:hover{background:var(--color-soft)}.social-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);padding:12px 0}.social-search-label{flex:1;min-width:0}.social-search-label input{border:0;background:none;padding:6px 0;width:100%;font-size:12px}.social-tools .sort select{max-width:220px}.social-list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px}.social-list-heading h2{font-size:26px}.social-list-heading .muted{font-size:10px}.social-account{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:20px;align-items:start;border-top:1px solid var(--color-rule);padding:28px 0}.social-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid var(--color-rule);border-radius:14px;background:var(--color-tint);color:var(--color-accent)}.social-account-content{min-width:0}.social-meta{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--color-muted)}.social-account h2{font-size:29px;margin:8px 0 4px}.social-account h2 a{text-decoration:none}.social-account h2 span{font-size:21px;color:var(--color-accent);white-space:nowrap}.social-handle{font-size:12px;color:var(--color-muted);margin:0;overflow-wrap:anywhere}.social-description{font-size:12px;white-space:pre-wrap;color:var(--color-muted);overflow-wrap:anywhere;margin:12px 0}.social-description a{color:var(--color-accent)}.social-projects{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.social-projects button{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:4px 8px;border:1px solid var(--color-rule);border-radius:var(--radius-sm)}.social-projects .private-tag{margin-left:6px}.social-visit{font-size:10px;padding:8px 12px;margin-top:8px}.social-project-picker{min-width:0;border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:12px 16px}.social-project-picker legend{font-size:12px;padding:0 6px}.social-project-picker p{margin:0 0 12px}.social-project-option{display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 0;font-weight:400}.social-project-option span{min-width:0;overflow-wrap:anywhere}.social-project-option input[type=checkbox]{width:16px;height:16px;flex:none;accent-color:var(--color-accent)}.social-project-option.subproject{padding-left:20px}.social-project-option .private-tag{margin-left:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:clip;clip-path:inset(50%)}
@media(max-width:768px){.social-nav{width:auto;min-width:150px;padding:10px;margin-top:12px}.social-account{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:24px 0}.social-icon{width:44px;height:44px;border-radius:10px}.social-account h2{font-size:26px}.social-visit{grid-column:2;justify-self:start;margin-top:0}.social-tools{flex-wrap:wrap}.social-tools .sort select{max-width:170px}}

.social-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;max-width:680px}.social-gallery a{display:block;min-width:0;border:1px solid var(--color-rule);border-radius:var(--radius-sm);overflow:clip;background:var(--color-soft)}.social-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.social-existing-images{min-width:0;border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:12px 16px}.social-existing-images legend{font-size:12px;padding:0 6px}.social-image-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.social-image-picker label{min-width:0;font-weight:400}.social-image-picker img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--color-soft);border:1px solid var(--color-rule);border-radius:var(--radius-sm)}.social-image-picker label span{display:flex;align-items:center;gap:6px;font-size:11px}.social-image-picker input[type=checkbox]{width:14px;height:14px;flex:none;accent-color:var(--color-accent)}
@media(max-width:600px){.social-gallery,.social-image-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

.social-avatar{overflow:clip;background:var(--color-soft)}.social-avatar img{display:block;width:100%;height:100%;object-fit:contain}.social-avatar-placeholder{font:500 26px var(--font-display)}.social-platform-mark{display:inline-flex;align-items:center;justify-content:center;color:var(--color-accent)}.social-platform-mark svg{width:18px;height:18px}

footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px}.footer-note{justify-self:start}.footer-links{display:flex;justify-content:center;align-items:center;gap:24px}.footer-links a{text-decoration:none;white-space:nowrap}.footer-links a:hover{text-decoration:underline}.footer-top{justify-self:end}@media(max-width:900px){footer{grid-template-columns:minmax(0,1fr);gap:16px}.footer-note{justify-self:start}.footer-links{justify-self:center;gap:20px}.footer-top{justify-self:end}}

.footer-links{gap:12px}@media(max-width:600px){.footer-links{gap:10px}}
