2026-08-14 12:43:11 +02:00
@ import url ( 'https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&family=Special+Elite&display=swap' ) ;
: root { font-family : Inter , sans-serif ; color : #d8ded9 ; background : #071916 ; font-synthesis : none ; }
* { box-sizing : border-box ; }
body { margin : 0 ; overflow : hidden ; }
button { font : inherit ; color : inherit ; }
button : focus-visible { outline : 2 px solid #e99a44 ; outline-offset : 2 px ; }
. desktop { height : 100 vh ; display : grid ; grid-template-rows : 74 px 1 fr 112 px ; background : #071916 ; }
. menubar { display : grid ; grid-template-columns : 310 px 1 fr auto ; align-items : center ; padding : 0 24 px ; border-bottom : 1 px solid #315049 ; background : #0a211d ; box-shadow : 0 5 px 22 px #0008 ; z-index : 10 ; }
. brand { display : flex ; gap : 13 px ; align-items : center ; font : 600 12 px IBM Plex Mono ; letter-spacing : .08 em ; }
. brand em { color : #78938c ; font-style : normal ; font-weight : 400 ; }
. brand-mark { width : 35 px ; height : 35 px ; display : grid ; place-items : center ; border : 1 px solid #d88938 ; color : #e99a44 ; font : 600 11 px IBM Plex Mono ; transform : rotate ( -3 deg ); }
. menubar nav { display : flex ; height : 100 % ; align-items : stretch ; }
. menubar nav button { background : none ; border : 0 ; padding : 0 18 px ; font : 500 11 px IBM Plex Mono ; letter-spacing : .1 em ; color : #94aaa4 ; cursor : pointer ; }
2026-08-14 16:18:13 +02:00
. menubar nav button : hover , . menubar nav button . active { background : #112f2a ; color : white ; }
. brief-count { display : inline - grid ; min-width : 17 px ; height : 17 px ; margin-left : 7 px ; padding : 0 4 px ; place-items : center ; border-radius : 9 px ; background : #b56d30 ; color : #fff3df ; font : 600 9 px IBM Plex Mono ; }
2026-08-14 12:43:11 +02:00
. terminal-status { font : 10 px IBM Plex Mono ; color : #769087 ; letter-spacing : .06 em ; display : flex ; gap : 8 px ; align-items : center ; white-space : nowrap ; }
. terminal-status i { width : 7 px ; height : 7 px ; background : #71c888 ; border-radius : 50 % ; box-shadow : 0 0 8 px #71c888 ; }
. terminal-status span { color : #d9a05d ; margin-left : 20 px ; font-size : 13 px ; }
. workspace { display : flex ; min-height : 0 ; }
. documents-panel { width : 315 px ; flex : 0 0 auto ; background : #102722 ; border-right : 1 px solid #3c514b ; transition : margin .25 s ; display : grid ; grid-template-rows : auto auto auto 1 fr auto ; z-index : 5 ; box-shadow : 10 px 0 40 px #00100d 66 ; }
. documents-panel . closed { margin-left : -315 px ; }
. panel-heading { padding : 25 px 20 px 17 px ; display : flex ; justify-content : space-between ; align-items : start ; }
. panel-heading small , . case-heading small , . timeline small , . help small { font : 500 9 px IBM Plex Mono ; letter-spacing : .18 em ; color : #78958d ; }
. panel-heading h2 { font : 600 17 px IBM Plex Mono ; letter-spacing : .04 em ; margin : 6 px 0 0 ; }
. panel-heading sup { color : #d89043 ; font-size : 10 px ; }
. panel-heading button { background : none ; border : 0 ; color : #6f8b83 ; cursor : pointer ; }
2026-08-14 17:57:00 +02:00
. search { margin : 0 15 px 12 px ; height : 36 px ; border : 1 px solid #314a44 ; display : flex ; align-items : center ; gap : 9 px ; padding : 0 10 px 0 12 px ; color : #607d75 ; font-size : 11 px ; }
. search : focus-within { border-color : #9a683d ; box-shadow : inset 0 0 0 1 px #6f4b2f ; color : #c18b55 ; }
. search input { min-width : 0 ; flex : 1 ; border : 0 ; outline : 0 ; background : transparent ; color : #d6ded9 ; font : 10 px IBM Plex Mono ; }
. search input :: placeholder { color : #607d75 ; }. search input :: -webkit-search-cancel-button { display : none ; }
. search button { display : grid ; place-items : center ; padding : 2 px ; border : 0 ; background : transparent ; color : #8a9d97 ; cursor : pointer ; }
2026-08-14 12:43:11 +02:00
. import-document { margin : 0 15 px 12 px ; height : 34 px ; border : 1 px dashed #a26d3d ; background : #19322c ; color : #d79754 ; display : flex ; justify-content : center ; align-items : center ; gap : 8 px ; font : 600 9 px IBM Plex Mono ; letter-spacing : .08 em ; cursor : pointer ; }. import-document : hover { background : #244039 ; border-style : solid ; }. file-input { display : none ; }
. doc-list { overflow : auto ; border-top : 1 px solid #243d36 ; }
2026-08-14 17:57:00 +02:00
. no-document-results { min-height : 150 px ; padding : 32 px 20 px ; display : grid ; place-items : center ; align-content : center ; gap : 9 px ; text-align : center ; color : #617d75 ; }. no-document-results b { color : #91a59f ; font : 600 9 px IBM Plex Mono ; letter-spacing : .08 em ; }. no-document-results span { font : 8 px / 1.5 IBM Plex Mono ; }
2026-08-14 12:43:11 +02:00
. doc-row { width : 100 % ; min-height : 76 px ; border : 0 ; border-bottom : 1 px solid #243d36 ; background : transparent ; padding : 11 px 13 px ; display : grid ; grid-template-columns : 45 px 1 fr 18 px ; text-align : left ; align-items : center ; gap : 10 px ; cursor : pointer ; }
. doc-row : hover { background : #18342e ; }
. doc-row strong { display : block ; color : #d8dfda ; font-size : 12 px ; margin-bottom : 6 px ; }
. doc-row span { display : block ; font : 9 px IBM Plex Mono ; color : #708b83 ; }
. doc-row > svg { color : #527068 ; }
. doc-icon { height : 49 px ; border : 1 px solid #61736d ; display : grid ; place-items : center ; position : relative ; color : #ccd2cd ; background : #263c36 ; box-shadow : 3 px 3 px #081a16 ; }
. doc-icon b { position : absolute ; bottom : 2 px ; right : 2 px ; background : #d58e42 ; color : #14231f ; font : 600 7 px IBM Plex Mono ; padding : 1 px 3 px ; }
. tint-1 { background : #38352d ; } . tint-2 { background : #263c3f ; }
. panel-foot { height : 42 px ; border-top : 1 px solid #354b45 ; padding : 0 16 px ; display : flex ; align-items : center ; gap : 8 px ; font : 9 px IBM Plex Mono ; color : #718d84 ; }
. panel-foot span { margin-left : auto ; color : #b27b43 ; }
. board-shell { flex : 1 ; min-width : 0 ; position : relative ; background : #0b1d19 ; }
. case-heading { position : absolute ; top : 20 px ; left : 27 px ; z-index : 2 ; display : flex ; color : #dde2de ; pointer-events : none ; }
. case-heading h1 { font : 500 24 px Special Elite , serif ; margin : 6 px 0 5 px ; letter-spacing : .02 em ; }
. case-heading p { margin : 0 ; color : #a06d3e ; font : 9 px IBM Plex Mono ; letter-spacing : .13 em ; }
. case-number { border-left : 1 px solid #415750 ; margin-left : 26 px ; padding-left : 17 px ; font : 8 px IBM Plex Mono ; color : #6d867f ; line-height : 1.5 ; }
. case-number b { color : #bdc9c3 ; font-size : 13 px ; }
. board-viewport { position : absolute ; inset : 0 ; overflow : hidden ; touch-action : none ; overscroll-behavior : contain ; cursor : default ; background-image : radial-gradient ( #49615a 55 1 px , transparent 1 px ), linear-gradient ( 90 deg , #18302a 33 1 px , transparent 1 px ), linear-gradient ( #18302a 33 1 px , transparent 1 px ); background-size : 20 px 20 px , 100 px 100 px , 100 px 100 px ; }
2026-08-14 17:59:03 +02:00
. board-viewport . tool-move { cursor : grab ; }
. board-viewport . tool-move : active { cursor : grabbing ; }
2026-08-14 12:43:11 +02:00
. board-viewport . tool-hand , . board-viewport . tool-hand . evidence-card , . board-viewport . tool-hand . source-file-widget { cursor : grab ; }
. board-viewport . tool-hand : active , . board-viewport . tool-hand . evidence-card : active , . board-viewport . tool-hand . source-file-widget : active { cursor : grabbing ; }
2026-08-14 16:37:50 +02:00
. board-viewport . threading , . board-viewport . threading . evidence-card , . board-viewport . threading . source-file-widget { cursor : crosshair ; }
2026-08-14 12:43:11 +02:00
. board { transform-origin : 0 0 ; position : absolute ; background : linear-gradient ( 110 deg , #0c211d 33 , #122b25 1 f ); }
. board-stamp { position : absolute ; left : 1480 px ; top : 240 px ; color : #6e807a 2 e ; border : 2 px solid #6e807a 20 ; padding : 9 px 13 px ; transform : rotate ( -4 deg ); font : 600 11 px IBM Plex Mono ; }
. board-stamp span { display : block ; text-align : center ; font-size : 8 px ; margin-top : 4 px ; }
. connections { position : absolute ; inset : 0 ; overflow : visible ; pointer-events : none ; }
. connections path { stroke : #8f2828 ; stroke-width : 3 ; fill : none ; filter : drop-shadow ( 1 px 2 px 0 #020907 aa ); }
. connections circle { fill : #b33a32 ; stroke : #581916 ; stroke-width : 2 ; }
2026-08-14 16:37:50 +02:00
. connections . thread-preview path { stroke : #bc3b35 ; stroke-width : 2.5 ; stroke-dasharray : 8 6 ; opacity : .82 ; }
. connections . thread-preview circle : last-child { fill : #0d211c ; stroke : #c84a43 ; }
. connections g . tightening path { stroke-dasharray : 1400 ; animation : thread-tighten .9 s cubic-bezier ( .15 , .75 , .22 , 1 ) both ; }
@ keyframes thread-tighten { 0 % { stroke-dashoffset : 1400 ; filter : drop-shadow ( 0 0 7 px #d85a50 ); } 70 % { stroke-dashoffset : 0 ; stroke-width : 4 ; } 100 % { stroke-dashoffset : 0 ; stroke-width : 3 ; } }
2026-08-14 17:02:17 +02:00
. luggage-tag . luggage-tag { background : linear-gradient ( 100 deg , #aa8755 , #c7a773 52 % , #a9834f ); border : 1 px solid #d3b681 ; color : #33291c ; clip-path : polygon ( 13 px 0 , calc ( 100 % - 13 px ) 0 , 100 % 14 px , 100 % 100 % , 0 100 % , 0 14 px ); transform-origin : 50 % 8 px ; transition : transform .22 s ease , filter .22 s ease ; box-shadow : 5 px 7 px 0 #020b09 80 , inset 0 0 18 px #604522 33 ; }
. luggage-tag . luggage-tag :: before { content : '' ; position : absolute ; z-index : 3 ; top : 6 px ; left : 50 % ; width : 10 px ; height : 10 px ; translate : -50 % 0 ; border-radius : 50 % ; background : #12211d ; border : 2 px solid #70583b ; box-shadow : 0 0 0 2 px #c5a66f , inset 1 px 1 px 2 px #000 ; }
. luggage-tag . luggage-tag :: after { content : '' ; position : absolute ; left : 9 px ; right : 9 px ; bottom : -1 px ; height : 4 px ; background : #745a37 ; clip-path : polygon ( 0 0 , 5 % 50 % , 12 % 0 , 20 % 70 % , 28 % 0 , 40 % 60 % , 49 % 0 , 61 % 70 % , 73 % 0 , 83 % 60 % , 91 % 0 , 100 % 50 % , 100 % 100 % , 0 100 % ); }
2026-08-14 18:26:20 +02:00
. thread-tag { position : absolute ; z-index : 7 ; border : 0 ; cursor : grab ; touch-action : none ; transition : left .1 s ease-out , top .1 s ease-out , transform .22 s ease , filter .22 s ease , opacity .15 s ease ; }
2026-08-14 18:11:51 +02:00
. board-viewport . threading . thread-tag { pointer-events : none ; opacity : .72 ; }
2026-08-14 18:26:20 +02:00
. thread-tag . dragging { z-index : 15 ; cursor : grabbing ; transition : transform .12 s ease , filter .12 s ease ; filter : drop-shadow ( 0 0 7 px #d99a58 aa ); }
. thread-tag-position { position : absolute ; z-index : 8 ; left : 50 % ; top : -22 px ; translate : -50 % 0 ; min-width : 34 px ; padding : 3 px 5 px ; border : 1 px solid #9a683d ; background : #102a24 ; color : #e6a45e ; font : 7 px IBM Plex Mono ; box-shadow : 2 px 3 px #020907 99 ; }
2026-08-14 17:02:17 +02:00
. thread-tag . untagged { width : 13 px ; height : 13 px ; padding : 0 ; transform : translate ( -50 % , -50 % ); border : 2 px solid #611d1c ; border-radius : 50 % ; background : #a63531 ; box-shadow : 1 px 2 px #020907 aa ; }
. thread-tag . untagged i { display : none ; }
. thread-tag . untagged : hover , . thread-tag . untagged : focus-visible { background : #e07158 ; box-shadow : 0 0 0 4 px #b23e35 44 ; }
2026-08-14 17:07:30 +02:00
. thread-tag . compact { transform : translate ( -50 % , -50 % ); display : flex ; align-items : center ; gap : 5 px ; max-width : 190 px ; padding : 0 ; background : transparent ; color : #241d17 ; }
. thread-tag . compact i { flex : 0 0 auto ; width : 9 px ; height : 9 px ; border : 2 px solid #611d1c ; border-radius : 50 % ; background : #a63531 ; box-shadow : 1 px 2 px #020907 aa ; }
. thread-tag-compact-label { overflow : hidden ; text-overflow : ellipsis ; white-space : nowrap ; padding : 5 px 7 px 4 px ; border : 1 px solid #9c917b ; background : #d7c9a9 ; box-shadow : 2 px 3 px #020907 99 ; font : 8 px Special Elite ; }
. thread-tag . compact : hover i , . thread-tag . compact : focus-visible i { background : #e07158 ; box-shadow : 0 0 0 4 px #b23e35 44 ; }
2026-08-14 17:02:17 +02:00
. thread-tag . labelled { width : 108 px ; height : 154 px ; padding : 27 px 10 px 11 px ; transform : translate ( -50 % , 4 px ) rotate ( -2 deg ); }
. thread-tag . labelled i { display : none ; }
. thread-tag-content { display : grid ; align-content : start ; gap : 7 px ; height : 108 px ; padding-top : 10 px ; overflow : hidden ; text-align : left ; transition : transform .22 s ease ; }
. thread-tag-content small { padding-bottom : 4 px ; border-bottom : 1 px solid #7e6542 ; color : #5b472d ; font : 600 6 px IBM Plex Mono ; letter-spacing : .1 em ; }
. thread-tag-content b { display : -webkit- box ; overflow : hidden ; -webkit- line-clamp : 5 ; -webkit- box-orient : vertical ; color : #33291c ; font : 12 px / 1.25 Special Elite ; }
. thread-tag-content em { color : #68472c ; font : 600 6 px IBM Plex Mono ; letter-spacing : .06 em ; }
. thread-tag . labelled . expanded { z-index : 14 ; transform : translate ( -50 % , 4 px ) rotate ( 90 deg ) scale ( 1.55 ); filter : drop-shadow ( 12 px 8 px 5 px #0008 ); }
. thread-tag . labelled . expanded . thread-tag-content { width : 142 px ; height : 94 px ; margin : 4 px 0 0 -17 px ; overflow : visible ; transform : rotate ( -90 deg ); }
. thread-tag . labelled . expanded . thread-tag-content b { display : block ; overflow : visible ; font-size : 13 px ; line-height : 1.32 ; }
2026-08-14 14:31:52 +02:00
. event-support-lines { position : absolute ; inset : 0 ; overflow : visible ; pointer-events : none ; }
. event-support-lines line { stroke : #d3a05c ; stroke-width : 2 ; stroke-dasharray : 7 6 ; opacity : .58 ; filter : drop-shadow ( 1 px 1 px 0 #020907 ); }
2026-08-14 14:44:58 +02:00
. party-association-lines { position : absolute ; inset : 0 ; overflow : visible ; pointer-events : none ; }
. party-association-lines line { stroke : #6fa694 ; stroke-width : 2 ; stroke-dasharray : 3 5 ; opacity : .52 ; filter : drop-shadow ( 1 px 1 px 0 #020907 ); }
2026-08-14 12:43:11 +02:00
. folder-bands { position : absolute ; inset : 0 ; overflow : visible ; pointer-events : none ; }
. folder-bands line { stroke : #b63232 ; stroke-width : 7 ; opacity : .2 ; filter : drop-shadow ( 1 px 1 px 0 #050a08 ); transition : x2 .42 s cubic-bezier ( .2 , .75 , .2 , 1 ), y2 .42 s cubic-bezier ( .2 , .75 , .2 , 1 ), opacity .24 s ease ; }
. folder-bands line . closed { opacity : 0 ; }
. evidence-card { position : absolute ; min-height : 138 px ; color : #1b2925 ; background : #d8d8ca ; border : 1 px solid #edece0 ; padding : 13 px 15 px 12 px ; box-shadow : 7 px 9 px 0 #020b09 80 , 0 0 0 1 px #45524d ; cursor : move ; user-select : none ; }
. evidence-card :: after { content : '' ; position : absolute ; left : 9 px ; right : 9 px ; bottom : -6 px ; height : 5 px ; background : #80847b ; clip-path : polygon ( 0 0 , 5 % 50 % , 12 % 0 , 20 % 70 % , 28 % 0 , 40 % 60 % , 49 % 0 , 61 % 70 % , 73 % 0 , 83 % 60 % , 91 % 0 , 100 % 50 % , 100 % 100 % , 0 100 % ); }
. evidence-card . selected { outline : 2 px solid #e49a4a ; outline-offset : 5 px ; }
. evidence-card . linking { outline : 2 px dashed #e49a4a ; outline-offset : 7 px ; }
2026-08-14 16:37:50 +02:00
. evidence-card . thread-target : hover , . source-file-widget . thread-target : hover { outline : 2 px dashed #b8443e ; outline-offset : 6 px ; }
2026-08-14 16:18:13 +02:00
. evidence-card . arriving { z-index : 6 ; animation : exhibit-arrival 1.15 s cubic-bezier ( .18 , .85 , .22 , 1 ) both ; }
@ keyframes exhibit-arrival { 0 % { opacity : 0 ; scale : .72 ; translate : 0 -24 px ; filter : brightness ( 1.7 ); box-shadow : 0 0 0 0 #eda85b 00 ; } 45 % { opacity : 1 ; scale : 1.035 ; translate : 0 2 px ; box-shadow : 0 0 0 12 px #eda85b 55 , 7 px 9 px 0 #020b09 80 ; } 100 % { opacity : 1 ; scale : 1 ; translate : 0 0 ; filter : brightness ( 1 ); box-shadow : 7 px 9 px 0 #020b09 80 , 0 0 0 1 px #45524d ; } }
2026-08-14 12:43:11 +02:00
. evidence-card header { border-bottom : 1 px solid #989e94 ; display : flex ; justify-content : space-between ; padding-bottom : 6 px ; font : 600 8 px IBM Plex Mono ; letter-spacing : .12 em ; color : #5d6763 ; }
. evidence-card h3 { font : 600 10 px IBM Plex Mono ; letter-spacing : .09 em ; margin : 12 px 0 6 px ; color : #9a5d2e ; }
. evidence-card p { font : 500 16 px Special Elite , serif ; line-height : 1.35 ; margin : 0 0 12 px ; }
. evidence-card time { display : inline-block ; border : 1 px solid #7c867e ; padding : 3 px 5 px ; font : 9 px IBM Plex Mono ; }
. evidence-card button { float : right ; background : transparent ; border : 0 ; color : #55635e ; display : flex ; gap : 4 px ; align-items : center ; font : 600 8 px IBM Plex Mono ; padding : 4 px 0 ; cursor : pointer ; }
. evidence-card . folder { min-height : 166 px ; padding-top : 17 px ; background : linear-gradient ( 104 deg , #c9a66a , #d4b579 58 % , #b99055 ); border-color : #e0c68f ; box-shadow : 7 px 9 px 0 #020b09 80 , inset 0 0 22 px #65451f 24 , 0 0 0 1 px #61492e ; }
. evidence-card . folder :: before { content : '' ; position : absolute ; z-index : -1 ; top : -13 px ; left : 13 px ; width : 42 % ; height : 20 px ; border : 1 px solid #dfc38c ; border-bottom : 0 ; background : #caa76c ; clip-path : polygon ( 0 0 , 80 % 0 , 100 % 100 % , 0 100 % ); }
. evidence-card . folder :: after { background : #80643e ; }
. evidence-card . folder header { border-color : #846e49 ; color : #594a33 ; }
. evidence-card . folder h3 { color : #66401f ; }
2026-08-14 14:31:52 +02:00
. evidence-card . event { background : linear-gradient ( 112 deg , #d6d1bd , #c8c5b6 ); border-left : 5 px solid #9a6332 ; min-height : 174 px ; }
. evidence-card . event h3 { color : #70401e ; }
. evidence-card . event p { font-size : 15 px ; }
. event-actions { clear : both ; margin-top : 10 px ; padding-top : 7 px ; border-top : 1 px dashed #858c84 ; display : flex ; align-items : center ; justify-content : space-between ; }
. event-actions span { color : #6a736d ; font : 7 px IBM Plex Mono ; }
. event-actions button { float : none ; }
2026-08-14 14:44:58 +02:00
. evidence-card . party { min-height : 190 px ; background : linear-gradient ( 110 deg , #d9d7c9 , #c8c8bd ); border-top : 5 px solid #315a50 ; }
. evidence-card . party h3 { margin : 0 0 3 px ; color : #254d43 ; }
. party-identity { display : grid ; grid-template-columns : 34 px 1 fr ; gap : 8 px ; align-items : center ; padding : 11 px 0 8 px ; border-bottom : 1 px solid #929a92 ; }
. party-identity > svg { color : #315a50 ; }
. party-identity small { color : #6a746e ; font : 7 px IBM Plex Mono ; }
. evidence-card . party p { margin-top : 9 px ; font-size : 13 px ; }
. party-aliases { padding : 5 px 0 ; color : #76552f ; font : 7 px IBM Plex Mono ; }
2026-08-14 12:43:11 +02:00
. folder-documents { clear : both ; margin-top : 9 px ; border-top : 1 px dashed #826c49 ; padding-top : 6 px ; }
. folder-documents button { float : none ; width : 100 % ; height : 23 px ; padding : 2 px 0 ; display : grid ; grid-template-columns : 14 px 1 fr auto ; text-align : left ; color : #493d2c ; }
. folder-documents button span { overflow : hidden ; text-overflow : ellipsis ; white-space : nowrap ; }
. folder-documents button time { border : 0 ; padding : 0 ; font-size : 7 px ; }
. folder-documents small { display : block ; padding : 4 px 0 1 px 17 px ; color : #69573d ; font : 7 px IBM Plex Mono ; }
. folder-actions { clear : both ; display : flex ; justify-content : flex-end ; gap : 12 px ; margin-top : 7 px ; border-top : 1 px solid #9a7d50 ; padding-top : 5 px ; }
. folder-actions button { float : none ; color : #60401f ; }
. source-file-widget { position : absolute ; z-index : 4 ; width : 174 px ; min-height : 145 px ; padding : 8 px ; color : #1a2421 ; background : #d9d8cc ; border : 1 px solid #f1efe2 ; box-shadow : 5 px 7 px 0 #020b09 80 , 0 0 0 1 px #53615c ; cursor : move ; user-select : none ; transition : left .42 s cubic-bezier ( .2 , .75 , .2 , 1 ), top .42 s cubic-bezier ( .2 , .75 , .2 , 1 ), opacity .28 s ease , transform .42 s cubic-bezier ( .2 , .75 , .2 , 1 ); }
. source-file-widget . closed { opacity : 0 ; transform : scale ( .18 ) rotate ( -8 deg ); pointer-events : none ; }
. source-file-widget . open { opacity : 1 ; transform : scale ( 1 ) rotate ( .6 deg ); }
2026-08-14 18:11:51 +02:00
. source-file-widget . selected { outline : 2 px solid #e49a4a ; outline-offset : 5 px ; }
. source-file-widget . linking { outline : 2 px dashed #e49a4a ; outline-offset : 7 px ; }
2026-08-14 12:43:11 +02:00
. source-file-widget header { height : 18 px ; display : flex ; justify-content : space-between ; border-bottom : 1 px solid #8b938d ; color : #59645f ; font : 600 7 px IBM Plex Mono ; letter-spacing : .1 em ; }
. source-file-preview { height : 79 px ; margin : 7 px 0 ; display : grid ; place-items : center ; overflow : hidden ; background : #263a35 ; border : 1 px solid #707a74 ; }
. source-file-preview img { width : 100 % ; height : 100 % ; object-fit : cover ; }
. source-file-preview > div { display : grid ; justify-items : center ; gap : 5 px ; color : #b8c2bd ; }
. source-file-preview small { font : 7 px IBM Plex Mono ; }
2026-08-14 18:30:31 +02:00
. source-file-widget . file-type-text . source-file-preview { height : 108 px ; display : block ; background : #e8e4d7 ; border-color : #a19b8b ; }
. text-document-preview { width : 100 % ; height : 100 % ; display : grid !important ; grid-template-rows : 42 px 1 fr ; justify-items : stretch !important ; gap : 0 !important ; color : #202722 !important ; }
. text-source-excerpt { margin : 0 ; padding : 6 px 7 px ; overflow : hidden ; border-bottom : 1 px solid #a29d8e ; background : #d5d1c4 ; font : 6 px / 1.35 IBM Plex Mono ; text-transform : uppercase ; }
. text-document-preview textarea { width : 100 % ; min-height : 0 ; resize : none ; overflow : hidden ; border : 0 ; outline : 0 ; padding : 8 px 7 px 5 px ; background : repeating-linear-gradient ( #ede9dc 0 20 px , #c9c5b8 55 21 px ); color : #151b18 ; font : 900 15 px / 1.05 "Marker Felt" , "Comic Sans MS" , cursive ; letter-spacing : .015 em ; text-align : center ; transform : rotate ( -1 deg ); }
. text-document-preview textarea :: placeholder { color : #76786f ; font-size : 9 px ; letter-spacing : .04 em ; }
. board-viewport . threading . text-document-preview textarea { pointer-events : none ; }
2026-08-14 12:43:11 +02:00
. source-file-widget > strong { display : block ; overflow : hidden ; text-overflow : ellipsis ; white-space : nowrap ; font : 600 9 px IBM Plex Mono ; }
. source-file-widget > time { display : block ; margin-top : 3 px ; color : #86603b ; font : 7 px IBM Plex Mono ; }
. source-file-actions { display : flex ; justify-content : space-between ; margin-top : 6 px ; border-top : 1 px dashed #969b94 ; padding-top : 4 px ; }
. source-file-actions button { display : flex ; align-items : center ; gap : 3 px ; border : 0 ; background : transparent ; padding : 2 px ; color : #4e5d57 ; cursor : pointer ; font : 600 6 px IBM Plex Mono ; }
2026-08-14 17:02:17 +02:00
. evidence-card . note { width : 108 px !important ; height : 154 px ; min-height : 154 px ; padding : 27 px 10 px 11 px ; rotate : -2 deg !important ; z-index : 2 ; }
2026-08-14 12:43:11 +02:00
. evidence-card . note header { position : absolute ; left : 9 px ; right : 9 px ; top : 21 px ; padding-bottom : 3 px ; font-size : 6 px ; color : #5b472d ; border-color : #7e6542 ; }
. evidence-card . note header i { display : none ; }
. evidence-card . note . card-content { height : 108 px ; padding-top : 10 px ; overflow : hidden ; transition : transform .22 s ease ; }
. evidence-card . note h3 { color : #5b3c24 ; font-size : 7 px ; margin : 2 px 0 5 px ; }
. evidence-card . note p { display : -webkit- box ; overflow : hidden ; -webkit- line-clamp : 4 ; -webkit- box-orient : vertical ; font-family : Special Elite ; font-size : 12 px ; line-height : 1.25 ; }
. evidence-card . note . selected { z-index : 12 ; outline : 1 px dashed #e6b168 ; outline-offset : 5 px ; transform : rotate ( 90 deg ) scale ( 1.55 ); filter : drop-shadow ( 12 px 8 px 5 px #0008 ); }
. evidence-card . note . selected . card-content { width : 142 px ; height : 94 px ; margin : 4 px 0 0 -17 px ; overflow : visible ; transform : rotate ( -90 deg ); }
. evidence-card . note . selected p { display : block ; overflow : visible ; font-size : 13 px ; line-height : 1.32 ; }
. evidence-card . note . selected h3 { font-size : 7 px ; }
. board-actions { position : absolute ; z-index : 4 ; bottom : 17 px ; left : 50 % ; transform : translateX ( -50 % ); display : flex ; align-items : center ; height : 43 px ; background : #102a24 ee ; border : 1 px solid #3c564e ; box-shadow : 0 8 px 24 px #0009 ; padding : 4 px ; }
. board-actions button { height : 33 px ; border : 0 ; background : transparent ; padding : 0 10 px ; display : flex ; align-items : center ; gap : 7 px ; font : 9 px IBM Plex Mono ; cursor : pointer ; color : #a8b8b2 ; }
. board-actions button : hover , . board-actions button . active { background : #27443c ; color : #e4a35e ; }
2026-08-14 16:37:50 +02:00
. board-actions button . thread-tool : not ( : disabled ) { color : #d35b52 ; }
. board-actions button . thread-tool . active { background : #4a211f ; color : #ff8a78 ; box-shadow : inset 0 0 0 1 px #8f3934 ; }
2026-08-14 12:43:11 +02:00
. board-actions button : disabled { opacity : .35 ; cursor : default ; }
. board-actions span { width : 1 px ; height : 24 px ; background : #385149 ; margin : 0 5 px ; }
. board-actions b { width : 44 px ; text-align : center ; color : #91a69f ; font : 9 px IBM Plex Mono ; }
. open-files { position : absolute ; top : 25 px ; left : 25 px ; z-index : 4 ; border : 1 px solid #4c675f ; background : #122e28 ; padding : 11 px 13 px ; display : flex ; gap : 8 px ; font : 9 px IBM Plex Mono ; cursor : pointer ; }
. open-files b { color : #e19a4d ; }
2026-08-14 14:31:52 +02:00
. story-strip { position : absolute ; z-index : 4 ; right : 18 px ; top : 18 px ; width : 255 px ; max-height : 235 px ; overflow : auto ; padding : 10 px ; background : #0d2721 e8 ; border : 1 px solid #466159 ; box-shadow : 5 px 7 px 18 px #0008 ; }
. story-strip > small { display : block ; padding : 2 px 4 px 8 px ; color : #b47a41 ; font : 600 8 px IBM Plex Mono ; letter-spacing : .12 em ; }
. story-strip button { width : 100 % ; display : grid ; grid-template-columns : 64 px 1 fr ; gap : 2 px 7 px ; padding : 7 px 5 px ; text-align : left ; border : 0 ; border-top : 1 px solid #304a43 ; background : transparent ; cursor : pointer ; }
. story-strip button : hover , . story-strip button . selected { background : #193a32 ; }
. story-strip time { grid-row : 1 / 3 ; color : #7b938b ; font : 7 px IBM Plex Mono ; }
. story-strip b { color : #d9ddd8 ; font : 9 px IBM Plex Mono ; }
. story-strip span { overflow : hidden ; text-overflow : ellipsis ; white-space : nowrap ; color : #849b93 ; font : 8 px Special Elite ; }
2026-08-14 14:44:58 +02:00
. brief-panel { position : absolute ; z-index : 12 ; right : 18 px ; top : 18 px ; width : min ( 410 px , 42 vw ); max-height : calc ( 100 % - 36 px ); overflow : auto ; background : #c6c9c1 ; color : #17231f ; border : 2 px solid #d8dbd4 ; box-shadow : 7 px 9 px 0 #020a08 , 0 0 0 1 px #46554f ; }
. brief-panel > header { height : 44 px ; padding : 0 8 px 0 13 px ; display : flex ; align-items : center ; background : #173d34 ; color : #e0e8e4 ; }
. brief-panel > header div { display : grid ; gap : 2 px ; }. brief-panel > header small { color : #9bb0a9 ; font : 7 px IBM Plex Mono ; letter-spacing : .14 em ; }. brief-panel > header b { font : 10 px IBM Plex Mono ; }. brief-panel > header button { margin-left : auto ; width : 25 px ; height : 24 px ; display : grid ; place-items : center ; }
. brief-panel > p { margin : 16 px ; padding : 13 px ; background : #e2dfd2 ; border-left : 3 px solid #a66d37 ; font : 13 px / 1.55 Special Elite ; }
2026-08-14 16:18:13 +02:00
. brief-concepts { border-top : 1 px solid #8c958e ; }. brief-concepts section { padding : 12 px 15 px ; border-bottom : 1 px solid #959c95 ; }. brief-concepts section . resolved { background : #d5ddcf ; }. brief-concepts section . just-resolved { animation : concept-resolved 1.15 s ease-out ; }. brief-concepts section > div : first-child { display : grid ; gap : 4 px ; }. brief-concepts b { font : 600 10 px IBM Plex Mono ; }. brief-concepts span { color : #616d67 ; font : 9 px Special Elite ; }
2026-08-14 18:17:31 +02:00
. classify-actions , . resolved-actions { display : flex ; align-items : center ; gap : 7 px ; margin-top : 9 px ; }. classify-actions button , . resolved-actions button , . edit-brief , . new-party-from-brief { display : inline-flex ; align-items : center ; gap : 5 px ; border : 1 px outset #89948e ; background : #e3e1d6 ; color : #29463e ; padding : 7 px 8 px ; cursor : pointer ; font : 8 px IBM Plex Mono ; }. resolved-actions > span { margin-right : auto ; display : inline-flex ; align-items : center ; gap : 5 px ; color : #31584d ; font : 600 8 px IBM Plex Mono ; }. edit-brief , . new-party-from-brief { margin : 12 px 15 px 0 ; }. edit-brief { background : #234c41 ; color : white ; }. new-party-from-brief { width : calc ( 100 % - 30 px ); justify-content : center ; border-style : dashed ; background : #d8d8cf ; }. dismiss-brief { width : calc ( 100 % - 30 px ); margin : 12 px 15 px 14 px ; padding : 9 px ; border : 1 px outset #73877f ; background : #1e473d ; color : white ; cursor : pointer ; font : 600 9 px IBM Plex Mono ; letter-spacing : .08 em ; }
2026-08-14 16:18:13 +02:00
@ keyframes concept-resolved { 0 % { background : #e8b76c ; box-shadow : inset 4 px 0 #b56127 ; } 100 % { background : #d5ddcf ; box-shadow : inset 0 0 transparent ; } }
2026-08-14 14:44:58 +02:00
. concept-editor-list { max-height : 280 px ; overflow : auto ; border : 1 px solid #8d968f ; background : #d4d5cd ; }. concept-editor-row { display : grid ; grid-template-columns : 150 px 1 fr 125 px 30 px ; gap : 6 px ; padding : 7 px ; border-bottom : 1 px solid #9fa59e ; }. concept-editor-row input , . concept-editor-row select { min-width : 0 ; border : 1 px solid #7d8780 ; background : #e8e5d8 ; padding : 7 px ; font : 9 px IBM Plex Mono ; }. concept-editor-row button { border : 0 ; color : #713c2d ; }
2026-08-14 12:43:11 +02:00
. file-drop-overlay { position : absolute ; z-index : 20 ; inset : 14 px ; border : 2 px dashed #e19a4d ; background : #0a211d e8 ; display : grid ; place-items : center ; pointer-events : none ; }. file-drop-overlay > div { width : 290 px ; height : 150 px ; border : 1 px solid #5e786f ; background : #102c25 ; display : flex ; flex-direction : column ; align-items : center ; justify-content : center ; gap : 10 px ; box-shadow : 9 px 10 px #020b09 ; color : #d99a58 ; }. file-drop-overlay b { font : 600 12 px IBM Plex Mono ; letter-spacing : .08 em ; }. file-drop-overlay span { font : 9 px IBM Plex Mono ; color : #78928a ; letter-spacing : .12 em ; }
. timeline { background : #0d231e ; border-top : 1 px solid #3c544d ; display : grid ; grid-template-columns : 180 px 1 fr 165 px ; align-items : center ; padding : 0 25 px ; z-index : 8 ; }
. temporal-links { position : fixed ; z-index : 7 ; inset : 0 ; width : 100 vw ; height : 100 vh ; pointer-events : none ; overflow : visible ; }. temporal-links line { stroke : #8b9792 ; stroke-width : 1 ; opacity : .42 ; vector-effect : non-scaling-stroke ; }
. timeline-label { border-right : 1 px solid #314a43 ; height : 67 px ; display : flex ; flex-direction : column ; justify-content : center ; }
2026-08-14 15:40:54 +02:00
. timeline-label b { font : 600 14 px IBM Plex Mono ; margin : 4 px 0 ; }. timeline-label button { width : max-content ; max-width : 170 px ; padding : 0 ; overflow : hidden ; color : #a07142 ; background : transparent ; border : 0 ; text-overflow : ellipsis ; white-space : nowrap ; text-align : left ; cursor : pointer ; font : 8 px IBM Plex Mono ; }
2026-08-14 12:43:11 +02:00
. timeline-track { height : 75 px ; margin : 0 43 px ; position : relative ; }
. axis { position : absolute ; left : 0 ; right : 0 ; top : 45 px ; height : 1 px ; background : #61736d ; }
. year { position : absolute ; top : 53 px ; transform : translateX ( -50 % ); font : 9 px IBM Plex Mono ; color : #6f8981 ; }
. year :: before { content : '' ; position : absolute ; left : 50 % ; top : -9 px ; height : 5 px ; border-left : 1 px solid #6a7e78 ; }
. marker { position : absolute ; width : 19 px ; height : 29 px ; transform : translateX ( -50 % ); border : 0 ; background : transparent ; cursor : pointer ; padding : 0 ; }
. marker i { display : block ; width : 10 px ; height : 10 px ; border : 2 px solid #8eb3a7 ; background : #16352e ; rotate : 45 deg ; box-shadow : 0 0 0 3 px #0d231e ; }
. marker . document i { border-radius : 50 % ; rotate : 0 deg ; width : 9 px ; height : 9 px ; border-color : #89948f ; background : #263a34 ; }
. marker . selected i { border-color : #eea458 ; background : #eea458 ; }
. timeline-key { border-left : 1 px solid #314a43 ; padding-left : 24 px ; font : 8 px IBM Plex Mono ; color : #759087 ; display : flex ; gap : 18 px ; }. timeline-key span { display : flex ; gap : 5 px ; }. timeline-key i { width : 7 px ; height : 7 px ; background : #8eb3a7 ; rotate : 45 deg ; }. timeline-key . amber i { background : #eea458 ; }
. window { position : fixed ; z-index : 30 ; background : #bfc4bc ; color : #14201d ; border : 2 px solid #cfd3cc ; box-shadow : 5 px 6 px 0 #020a08 , 0 0 0 1 px #45534e ; }
2026-08-14 15:40:54 +02:00
. timeline-editor { width : min ( 520 px , 88 vw ); }. timeline-editor > div { padding : 24 px 27 px ; }. timeline-editor p { margin : 12 px 0 18 px ; font : 12 px / 1.5 Special Elite ; }. timeline-range-fields { display : grid ; grid-template-columns : 1 fr 1 fr ; gap : 14 px ; margin-bottom : 20 px ; }
2026-08-14 18:26:20 +02:00
. thread-editor { width : min ( 520 px , 88 vw ); }. thread-editor > div { padding : 24 px 27 px ; }. thread-editor > div > small { color : #8a4b32 ; font : 600 8 px IBM Plex Mono ; letter-spacing : .14 em ; }. thread-editor p { margin : 14 px 0 ; font : 12 px / 1.5 Special Elite ; }. thread-endpoints { margin-top : 15 px ; display : grid ; grid-template-columns : minmax ( 0 , 1 fr ) 70 px minmax ( 0 , 1 fr ); align-items : center ; gap : 9 px ; }. thread-endpoints b { overflow : hidden ; text-overflow : ellipsis ; white-space : nowrap ; font : 600 9 px IBM Plex Mono ; }. thread-endpoints b : last-child { text-align : right ; }. thread-endpoints i { height : 3 px ; background : #982e2b ; box-shadow : 0 1 px #5b1d1b ; }. thread-tightness { margin : 20 px 0 ; }. thread-tightness output { margin-left : auto ; color : #9a332e ; }. thread-tightness input { accent-color : #9b302d ; padding : 0 ; }. thread-tightness > small { display : flex ; justify-content : space-between ; color : #68736d ; font : 7 px IBM Plex Mono ; }. thread-position-control { margin-top : 17 px ; }. thread-position-control output { margin-left : auto ; color : #9a5c2f ; }. thread-position-control input { accent-color : #9a5c2f ; padding : 0 ; }. thread-position-control > small { color : #68736d ; font : 7 px / 1.4 IBM Plex Mono ; }. thread-editor . folder-editor-actions > span { flex : 1 ; }. folder-editor-actions button . danger { color : #7c2925 ; border-color : #a25b55 ; }
2026-08-14 17:07:30 +02:00
. tag-style-picker { margin : 16 px 0 4 px ; padding : 0 ; border : 0 ; display : grid ; grid-template-columns : 1 fr 1 fr ; gap : 8 px ; }. tag-style-picker legend { margin-bottom : 6 px ; color : #44504c ; font : 600 8 px IBM Plex Mono ; letter-spacing : .1 em ; }. tag-style-picker label { position : relative ; display : grid ; gap : 5 px ; padding : 10 px ; border : 1 px solid #909991 ; background : #d6d7cf ; cursor : pointer ; }. tag-style-picker label . selected { border-color : #8f3833 ; background : #e1d4bd ; box-shadow : inset 3 px 0 #9c3631 ; }. tag-style-picker input { position : absolute ; opacity : 0 ; }. tag-style-picker label > span { display : flex ; align-items : center ; gap : 7 px ; color : #344b44 ; font : 600 8 px IBM Plex Mono ; }. tag-style-picker label > small { color : #69746e ; font : 7 px IBM Plex Mono ; }. tag-style-luggage i { width : 15 px ; height : 21 px ; background : #b99562 ; border : 1 px solid #7b6040 ; clip-path : polygon ( 3 px 0 , 12 px 0 , 15 px 3 px , 15 px 21 px , 0 21 px , 0 3 px ); }. tag-style-compact i { width : 25 px ; height : 8 px ; border-left : 7 px solid #a63531 ; background : #d7c9a9 ; box-shadow : 1 px 1 px #6e6250 ; }
2026-08-14 12:43:11 +02:00
. window > header { height : 31 px ; display : flex ; align-items : center ; gap : 8 px ; padding : 0 5 px 0 9 px ; color : #dfe9e4 ; background : #183f36 ; font : 500 11 px IBM Plex Mono ; cursor : move ; touch-action : none ; }
. window > header span { flex : 1 ; }. window > header button { width : 22 px ; height : 21 px ; display : grid ; place-items : center ; padding : 0 ; background : #b7bcb4 ; border : 1 px outset white ; color : #17221f ; cursor : pointer ; }
. document-window { width : min ( 610 px , 60 vw ); }. document-window . minimized { width : min ( 380 px , 60 vw ); }. document-window > nav { height : 28 px ; padding : 7 px 10 px ; background : #aeb4ac ; border-bottom : 1 px solid #727c76 ; font : 9 px IBM Plex Mono ; }
. paper { margin : 17 px ; padding : 34 px 43 px ; height : min ( 500 px , 58 vh ); overflow : auto ; background : #e8e5d8 ; box-shadow : inset 0 0 24 px #9a9685 66 ; font-family : IBM Plex Mono ; }
. paper . asset-paper { padding : 20 px ; display : flex ; flex-direction : column ; }. asset-paper . paper-meta { flex : 0 0 auto ; margin-bottom : 14 px ; }. document-image { display : block ; max-width : 100 % ; margin : auto ; box-shadow : 0 2 px 12 px #0005 ; }. document-frame { width : 100 % ; flex : 1 ; min-height : 350 px ; border : 1 px solid #81877f ; background : white ; }. unsupported-file { flex : 1 ; display : flex ; flex-direction : column ; align-items : center ; justify-content : center ; gap : 11 px ; color : #4a5651 ; }. unsupported-file b { font-size : 12 px ; }. unsupported-file span { font-size : 9 px ; color : #758079 ; }. unsupported-file a { margin-top : 9 px ; padding : 8 px 11 px ; background : #244b40 ; color : white ; text-decoration : none ; font : 9 px IBM Plex Mono ; }
. paper-meta { display : flex ; justify-content : space-between ; font-size : 8 px ; letter-spacing : .1 em ; border-bottom : 2 px solid #252d29 ; padding-bottom : 9 px ; margin-bottom : 28 px ; }. paper-meta b { color : #945b32 ; }
. paper p { font-size : 12 px ; line-height : 1.7 ; margin : 0 ; }. paper p : nth-child ( 4 ) { margin-top : 12 px ; }
. extracts { display : flex ; flex-wrap : wrap ; gap : 8 px ; border-top : 1 px dashed #999b91 ; padding-top : 18 px ; margin-top : 28 px ; }
. extracts button { border : 1 px solid #9b602f ; background : #f0dbc0 ; color : #66391a ; padding : 8 px 10 px ; display : flex ; align-items : center ; gap : 6 px ; cursor : pointer ; font : 600 9 px IBM Plex Mono ; text-transform : uppercase ; }. extracts button : hover { background : #e8bd87 ; }. extracts button . done { border-color : #667a71 ; background : #d1d7ce ; color : #42554d ; }
. document-window > footer { height : 25 px ; border-top : 1 px solid #737f78 ; display : flex ; justify-content : space-between ; padding : 6 px 8 px ; font : 8 px IBM Plex Mono ; }
. modal-shade { position : fixed ; z-index : 40 ; inset : 0 ; background : #020b09 aa ; display : grid ; place-items : center ; }
. help { width : 440 px ; }. help > div { padding : 30 px 34 px 34 px ; }. help h2 { font : 23 px Special Elite ; margin : 8 px 0 22 px ; }. help ol { padding-left : 22 px ; font-size : 12 px ; line-height : 2 ; }. help p { font : 13 px Special Elite ; border-left : 3 px solid #a56330 ; padding-left : 12 px ; }. primary { float : right ; background : #163f35 ; color : white ; border : 2 px outset #608177 ; font : 9 px IBM Plex Mono ; padding : 10 px 13 px ; cursor : pointer ; }
. folder-editor { width : min ( 680 px , 88 vw ); }
. folder-editor-body { padding : 24 px 27 px 22 px ; }
. folder-editor-body > small { color : #805027 ; font : 600 8 px IBM Plex Mono ; letter-spacing : .16 em ; }
. field { display : grid ; gap : 5 px ; margin-top : 13 px ; }
. field > span , . folder-members-heading b { font : 600 8 px IBM Plex Mono ; letter-spacing : .1 em ; color : #44504c ; }
. field input , . field textarea , . field select , . metadata-row input { width : 100 % ; border : 1 px solid #7d8780 ; background : #e8e5d8 ; color : #17231f ; padding : 8 px 9 px ; font : 11 px IBM Plex Mono ; resize : vertical ; }
. folder-members-heading { margin-top : 20 px ; padding-bottom : 8 px ; border-bottom : 2 px solid #59625d ; display : flex ; justify-content : space-between ; align-items : end ; }
. folder-members-heading div { display : grid ; gap : 3 px ; }
. folder-members-heading small { color : #8c5c31 ; font : 7 px IBM Plex Mono ; }
. folder-members-heading > span { display : flex ; gap : 6 px ; align-items : center ; color : #66716b ; font : 7 px IBM Plex Mono ; }
. folder-members { max-height : 260 px ; overflow : auto ; border : 1 px solid #8a918b ; border-top : 0 ; background : #d4d5cd ; }
2026-08-14 14:31:52 +02:00
. event-support-list > p { margin : 20 px ; text-align : center ; color : #68746e ; font : 8 px IBM Plex Mono ; }
2026-08-14 12:43:11 +02:00
. folder-member { min-height : 56 px ; padding : 8 px 10 px ; display : grid ; grid-template-columns : minmax ( 0 , 1 fr ) 190 px ; gap : 14 px ; align-items : center ; border-bottom : 1 px solid #a1a69f ; opacity : .67 ; }
. folder-member . included { background : #e2d7bd ; opacity : 1 ; }
. folder-member label { min-width : 0 ; display : grid ; grid-template-columns : 18 px 18 px minmax ( 0 , 1 fr ); align-items : center ; gap : 7 px ; cursor : pointer ; }
. folder-member label span { min-width : 0 ; display : grid ; gap : 3 px ; }
. folder-member label b { overflow : hidden ; text-overflow : ellipsis ; white-space : nowrap ; font : 600 10 px IBM Plex Mono ; }
. folder-member label small { color : #6c756f ; font : 7 px IBM Plex Mono ; }
. folder-member-date { text-align : right ; color : #72563a ; font : 8 px IBM Plex Mono ; }
. folder-editor-note { margin : 12 px 0 ; padding-left : 10 px ; border-left : 3 px solid #9c6534 ; color : #555f5a ; font : 10 px / 1.5 IBM Plex Mono ; }
. folder-editor-actions { display : flex ; justify-content : flex-end ; gap : 8 px ; }
. folder-editor-actions button { border : 1 px outset #8c948e ; padding : 9 px 12 px ; cursor : pointer ; font : 9 px IBM Plex Mono ; }
. folder-editor-actions . primary { float : none ; }
. file-editor { width : min ( 620 px , 88 vw ); }
. file-editor-body { padding : 24 px 27 px 22 px ; }
. file-editor-body > small { color : #805027 ; font : 600 8 px IBM Plex Mono ; letter-spacing : .16 em ; }
. file-editor-grid { display : grid ; grid-template-columns : 1 fr 180 px ; gap : 12 px ; }
. field > span { display : flex ; align-items : center ; gap : 6 px ; }
. metadata-heading { margin-top : 20 px ; padding-bottom : 8 px ; border-bottom : 2 px solid #59625d ; display : flex ; justify-content : space-between ; align-items : end ; }
. metadata-heading > div { display : grid ; gap : 3 px ; }
. metadata-heading b { color : #44504c ; font : 600 8 px IBM Plex Mono ; letter-spacing : .1 em ; }
. metadata-heading small { color : #8c5c31 ; font : 7 px IBM Plex Mono ; }
. metadata-heading button { display : flex ; align-items : center ; gap : 5 px ; border : 1 px outset #969d97 ; padding : 6 px 8 px ; cursor : pointer ; font : 8 px IBM Plex Mono ; }
. metadata-rows { max-height : 220 px ; overflow : auto ; background : #d4d5cd ; border : 1 px solid #929991 ; border-top : 0 ; }
. metadata-rows > p { margin : 20 px ; text-align : center ; color : #707a74 ; font : 8 px IBM Plex Mono ; }
. metadata-row { display : grid ; grid-template-columns : 150 px 1 fr 28 px ; gap : 7 px ; padding : 7 px ; border-bottom : 1 px solid #a1a69f ; }
. metadata-row input { padding : 6 px ; font-size : 9 px ; }
. metadata-row button { display : grid ; place-items : center ; border : 0 ; background : #b8bcb5 ; color : #6c3a2c ; cursor : pointer ; }
. boot { height : 100 vh ; background : #071916 ; display : grid ; place-content : center ; justify-items : center ; color : #819b93 ; font : 11 px IBM Plex Mono ; letter-spacing : .15 em ; }. boot . seal { width : 70 px ; height : 70 px ; display : grid ; place-items : center ; border : 2 px solid #b87337 ; color : #d58a46 ; margin-bottom : 24 px ; font-weight : 600 ; }. boot small { color : #4e6a62 ; }
. empty-archive { height : 100 vh ; display : grid ; place-content : center ; justify-items : center ; text-align : center ; background : radial-gradient ( circle , #123029 0 , #071916 65 % ); color : #9bb0a9 ; }. empty-archive . seal { width : 72 px ; height : 72 px ; display : grid ; place-items : center ; border : 2 px solid #b87337 ; color : #d58a46 ; font : 600 14 px IBM Plex Mono ; margin-bottom : 25 px ; }. empty-archive small { font : 9 px IBM Plex Mono ; letter-spacing : .18 em ; color : #68837b ; }. empty-archive h1 { margin : 12 px 0 5 px ; color : #e0e5e1 ; font : 27 px Special Elite ; }. empty-archive p { font-size : 12 px ; }. empty-archive button { margin-top : 18 px ; display : flex ; align-items : center ; gap : 8 px ; background : #1a493d ; border : 1 px solid #6f8f85 ; padding : 11 px 16 px ; font : 10 px IBM Plex Mono ; cursor : pointer ; }. empty-archive . hint { margin-top : 20 px ; color : #718a83 ; }. empty-archive code { color : #d59450 ; }
@ media ( max-width : 900px ) { . menubar { grid-template-columns : 1 fr auto ; }. menubar nav { display : none ; }. terminal-status { font-size : 0 ; }. documents-panel { width : 275 px ; }. documents-panel . closed { margin-left : -275 px ; }. timeline { grid-template-columns : 115 px 1 fr ; padding : 0 12 px ; }. timeline-key { display : none ; }. timeline-track { margin : 0 23 px ; }. document-window { width : 80 vw ; }. case-heading { left : 18 px ; }. case-number { display : none ; }. folder-member , . file-editor-grid { grid-template-columns : 1 fr ; gap : 7 px ; } }
2026-08-14 17:02:17 +02:00
@ media ( prefers-reduced-motion : reduce ) { . evidence-card . arriving , . brief-concepts section . just-resolved , . connections g . tightening path { animation : none ; }. board , . documents-panel , . luggage-tag , . thread-tag-content { transition : none ; } }