‰PNG  IHDR!@õ PLTE>O`jqv‚‚ €ÄDótEXtPage
style.scm - metalympiada
git clone git://metalympiada.org/
Log | Files | README | LICENSE

style.scm (4013B)


   1 (define-module (style)
   2     #:export (stylesheet
   3               background-color foreground-color
   4               logo-ratio))
   5 
   6 (define background-color #x153e4f)
   7 (define foreground-color #x118282)
   8 (define error-color #xcc2936)
   9 (define peach-color #xf1bf98)
  10 (define bright-color #xf9fbf2)
  11 (define logo-ratio 0.618034)
  12 
  13 (define (color->string color)
  14   (let ((str (number->string color 16)))
  15        (string-append "#" (make-string (- 6 (string-length str)) #\0) str)))
  16 
  17 (define stylesheet `(
  18   (body
  19     (font-size 0)
  20     (font-family "monospace")
  21     (margin 0)
  22     (visibility "hidden"))
  23 
  24   (rect
  25     (transform-origin "50%" ,(string-append (number->string (* 50 logo-ratio)) "%"))
  26     (animation "zoom 1.5s linear infinite"))
  27 
  28   (rect (: (nth-of-type "odd"))
  29     (fill ,(color->string foreground-color)))
  30 
  31   (rect (: (nth-of-type "even"))
  32     (fill ,(color->string bright-color)))
  33 
  34   (@ (keyframes "zoom")
  35     (from (transform (scale ,(/ 1 logo-ratio))))
  36     (to (transform (scale ,logo-ratio))))
  37 
  38   (.logo
  39     (width "7rem"))
  40                      
  41   (.meta 
  42     (position "fixed")
  43     (visibility "visible")
  44     (top 0)
  45     (left 0)
  46     (width "100vw")
  47     (height "100vh")
  48     (z-index 1)
  49     (object-fit "fill"))
  50 
  51   (main
  52     (visibility "visible")
  53     (font-size "1.1rem")
  54     (position "relative")
  55     (padding "2rem")
  56     (margin "1em auto")
  57     (max-width "45rem")
  58     (line-height "1.5")
  59     (background ,(color->string bright-color))
  60     (z-index 2)
  61     (overflow-x "hidden")
  62     (mix-blend-mode "lighten"))
  63  
  64   (header
  65     (display "flex")
  66     (flex-wrap "wrap")
  67     (justify-content "space-around")
  68     (align-items "center"))
  69 
  70   (footer
  71     (font-size "1rem")
  72     (text-align "center"))
  73   
  74   (table
  75     (min-width "50%"))
  76 
  77   (.textlogo
  78     (font-size (min "2.2vw" "0.795rem")))
  79 
  80   (nav
  81     (margin "1rem 0"))
  82   
  83   (a
  84     (color ,(color->string foreground-color)))
  85                      
  86   (a (: "visited")
  87     (color ,(color->string foreground-color)))
  88                      
  89   (h1
  90     (margin "2rem 0 0.8rem"))
  91   
  92   (.navlink
  93     (margin-right "1rem"))
  94                      
  95   (.text
  96     (font-size "1rem")
  97     (white-space "pre-wrap"))
  98                      
  99   (.problem-num
 100     (font-size "2.5rem")
 101     (float "left")
 102     (line-height 1.1))
 103   
 104   (.button
 105     (cursor "pointer")
 106     (padding "0.5rem 0.7rem")
 107     (margin "0.2rem 1rem 0.2rem 0.5rem")
 108     (background ,(color->string foreground-color))
 109     (box-shadow ,(string-append (color->string foreground-color) "a0") "0.2rem" "0.2rem"))
 110                      
 111   (.block
 112     (display "block")
 113     (margin "auto"))
 114  
 115   (.short
 116     (width "9.5rem"))
 117   
 118   (.small
 119     (margin "1rem 0")
 120     (font-size "0.8rem"))
 121                      
 122   (.error
 123     (display "inline-block")
 124     (color ,(color->string error-color))
 125     (border "0.1rem solid")
 126     (padding "0 1rem")
 127     (margin "1rem 0")
 128     (line-height "3rem"))
 129                      
 130   (.login
 131     (display "flex")
 132     (flex-wrap "wrap")
 133     (align-items "center"))
 134                     
 135   (input
 136     (border "none")
 137     (font "inherit")
 138     (font-size "1.2rem")
 139     (padding "0.2rem 0.5rem")
 140     (margin "0.2rem 0.5rem")
 141     (background "#000")
 142     (color ,(color->string bright-color)))
 143                      
 144   (.stagit
 145     (overflow-x "scroll")
 146     (margin-bottom "2rem"))
 147                      
 148   (.line
 149     (text-decoration "none"))
 150                      
 151   (.blob
 152     (font-size "0.765rem"))
 153                      
 154   (.d
 155     (color ,(color->string error-color))
 156     (text-decoration "none"))
 157                      
 158   (.d (: "visited")
 159     (color ,(color->string error-color)))
 160                      
 161   (.i
 162     (color ,(color->string foreground-color))
 163     (text-decoration "none"))
 164                      
 165   (.h
 166     (color "#aaa")
 167     (text-decoration "none"))
 168                       
 169   (.start
 170     (margin "0.5em"))
 171                     
 172   (.good
 173     (color ,(color->string foreground-color)))
 174                     
 175   (.bad
 176     (color ,(color->string error-color)))
 177   
 178   (.ghost
 179     (visibility "hidden"))))
…©¤ZÛIDATxÚí[Ol×y3»C #ÀK9;4DÒCR�cÀöÙ@»C6ëÉ,;o%�òE 9ª{ ”#"ô�1®–vÖ@5¤¸ë™G@ë[]!ÕÐM| ’¦@$ePÄ-â6ZÖ&m‡²4Ü�×ï½™Ý�%—äîòÐC;†%b¹ó›yߟß÷û¾÷„Ðÿ_ÿ.ûŒ÷‹Îÿ6€ìž€œ@-Ÿ€û¬g³¢èYg³¢H rV'œ ¼x6+ªdýlV$äŒn eBܳ9Á$äL¥¢µlŸÅ‹¬«ÎYœ°¦£³€ÏbEÂ,x+’Ÿ,ÛâDb«ŽxJ‰C¹2|,ÊÄ%®êÏÌ*K• ÏÌ€XÃ33)V9ÄÐÁLJ˜ kE‘Tæ ¬ W=\ÀjÉ6˜Á‹ X%� íõ‚†ŒEõ¹‘ŸÇ é!�°ìLa¬YΊ�<ŸcÈTRÝ–5‡t‚™_µÈp�IÜzji¨`æ©dGÆŠXU³İgØTr¹ÊpÕa¬H*–esfŒa¼èaM$±5‡ˆE¹êjb¹4Ô<ì(W°9%€m,¯Ã�ª‡uqp+ªe²RˆŠ#EC�UyÃˆŠ£:ŒfÉšé"YÀk›<°Á‹p3ÑTV]°ˆ=L.NóêZ¹Äœ!r‘,óêê>ë¢Á5sTÖª.™PÉ,¬E4˜ITÕX˜ã"rP#³ÔB Ë‹‹€B´ð’Ü‚X¯:Zê"VpáêUÐÑåfEH¨I®j� 3ÄÀuÑ”E’UrdkPð"R *)FZÂ’Q¸Z�8…hHQI€)`¬ÉÎ`ë6âµOÁ¬B ’ø~n·J:“¯Êà.î4%¾›¨ƒæ"ÿ çµ¶]íA(Ùcnð°m´J¼#߯Ì=Ô¡è!w ÿ0À ]°èÍãà £HĈbbx ž´ëêm´Ln€óˆmt“äºÓ¿*\‡HÒ@&kxXB¼×�S\EK|†M³o+’M2ǺN) °M¬Ý¯¹ÄÞYJ¸�¹ _­%{¯™«,˜J+Š®3@ÞZµÉ%q)ÛXgJa¢o'¨•i¢ƒ¶I.«ÿ6šå¢7 ¤äa-)™ú åwª S�S„@iÕî·�ƒ*«Y­¨²Ðvƒºd:âF]pªæïììÔ§,µÝ ®Í€Rè@®×(\÷Á�¥½,ÐËÐW0gÞüI‘Üõ}J?ïdƒGTU&ý‰µW>aÕ¤À8¥ã*)/÷Õy¼è²šd(°~¢è�è&ýŠîú@è­ˆ­(–Iÿ}xý¥øë7bJMZ}QBêþý-îÿ©©é6§@¡XPõí¥{<*ëÌz%߈ã¡/2Ìk»Üvƒ*'há”+GîýT)¢, à¬Ç¥ÙnõçøÑŽbÚJÜtdã0pb^9ÝŠ4°ïa‹·Ýž!Æ~lœžÑ),Þ§8Ü b%ÛýáæîûÙ‰‚Α!‰H‹WN³b&¸ÿwŸìAð8à?¥£eçT­• ¨ðS�È• u™»A&bß9ÆôYbKp›S»l.FVd¤pšØ~ø–£hê&ËîÏåõu7šE¨§Y1$;»>ýèš«è*¡ÔwX�lWVU=ÍŠ)ÊRù9pÛ¨v·ì‘».ŽHK<Ù§d‚` |eß"Y´ÃŸ©ƒ½WË«üÆÓ)!C?4í¥’m1dËç¤Ä^ßd7BqŠXËÑ� (ç(”òÔîCMЙD¢Eb›³òÉVÌÝÙ‡jÞÜRWž©j ÓÐûD³0&¶¹P;€î6g+õ·,#³^q¤id†ü&«í$8e²APÞxކ{8 q4'�ìV@ílDj}äM ½s¢)µ¼oRÚÀø…ƒƒ¹4d�ÂB2Û2¸`äD€Lx°»M€ÕšCi"èÅÍÀæ§6U;y²–ù¢peKþþC”ÃÆgÚÅmôJq‘Ø(š¸hüDJÈ<ö®ì© �M·Rôê3�íû:Td‚äøËEª`¢q[>ÁйÐ[hLÒÀ¡{)êešúÎ'�~Ä–Î)²ì“`Ù”Vhx‡îe裿¦Føþ3 @Ý€~�°ë¤Ñ\*¼ý(ô/ø›A#³üyí"ùƒ d²¡zœSÜn�4YK…þoCÿ7áÂîšû¯€~ë7¿÷TyÑÙ˜PååÅuÇq݉¹¹9õ„Tò¿¦> éïšÛiRÿ·ÁÓ{d˜I%ËÕuâE½üIG.¿réðeŸLˆG®Ý ì8ÖŠ¹>åü±t«?9ï›J}�cöú°�sBòâqhôÙcÅÜí `ü8J€­þȱ„Ø€‰äc ±/+Zvï0µg¤ú±¢p%dBÒ øXF ÇÜl¹A‚ÿõãæçæ&zçbT�` 7š£´î·ÜpÀÈq”î~LïÄnU 娴[Ľ„µÞ³NoJHQÿ)Ý�pŒgÝÞ”b  I({œL·7%Ä„:/iø|o+ l’!÷Ø} e¸¤‚¢ãcBI˜ Ž÷hs°jø“»!«ÀTo+ fÙ�„tz0ªb7‚bðifo6©7�R"FV„Ži¾èõvƒÀöP­žž ÜŠñ³{�7ƒNP�zñKb9©À+¶æÇH–Ѓrõ&(j¨Ï À8�ÿG,I]²ì#�Û¡ÐÚfB�°!”X¶{&ã¹AŽNë�Q¡ g8«�?Ù*zoÍ(dƒ¬YÞ‘‚ð#]]àÁ¬í ñŒ­y®ç¡ƨû†ºð™–c^œbíó„ÖËŠc�¼^*!uðoÏ5±G (Oˆ¥�Õnȶº×C”� I�Žý-}Â6™z2—’²ÍZÉ\õé/nÓýÚ7$œ7Á bO5„Ï9­}È‹Eÿï/ÔÃZ�JGÊŠv¯`ÆÏÄŸuSB*¨mÓÍæÂ4¾` �—´ú‹ñ“­®×ƒ ÝY8`¬ös–G –+z�ÉxQî9ÐÑ…û,�FÑ7<ãh6Æ#Ë Ý”��˜áÏšSpgú4CcCer³ •ñOtæ9j%d¿|«»Ž+÷6C%7$“8B;’ *Þ¤¯#ÌO#‚` k €nfVî»’a-ÛY°¥Ôyƒ€ø�Ãy ƒbÜCñþŠZ©v›“c3°‘̶ŸV)} —r…p@!0¥èw“n·Î$?Aö¬IdŲ[NaÙÄx/ëÍx—Jí‡ Å:¹1tX4Ój©ÊàÅËam_ÁžX™�;øD]—Š”Œ9¤*Ö’ZÚŠÕ Ý¤~3¯I3^e�wN9”Žt’3Ú%§„‹Ù�"%Ë!žåÅ6<€\ð©¦(&©,üÛjÎm¥y:ˆ‡¶Ø~ð/EO€ »½åÊË Õe†” .¹L°JÑDÙ3P šðÆï‹d 4RÅšo3J*.—$𠢿¨ÂÇ4vƒH¤ä<]C—‰I CÏ#‡~uåÂktì–j¹Afnâ ®?2ÉjÅkŒˆ�Ðxˆucaªþ‹ È!%(M9 ˜‹Uâu©œÜzÍ\ƒ$š*ûûô1YÁJ·²:g¶“ ˜åö(¥Mˆ{"1=�6óE²–ù¼�E7‚vgn˜Ô6 :ØíÂ(ÔêG1t�i ¨2 bO»Lo2™…&g¡¼L´¾ ÚÏï¡Ðhƒ ¯¿¤þƒ™ÒVÝÊ< oó™’º¦`ÔÙ/ÆÆ ÿñArKŸgì/ïy –Y£„étJ·ýͽ¬[ŒRY< ?Šm¡£oíMÌ6¸Šn[·éö´1Jwƒ…ÍD#!xwACbEÖ"‘‰®S’MX‘í@¤þ pÂÖ(M±!ÄnL0P& @Õc€ÚnýVà5.³áݨGµºŸ¢þ“øö—S{ðôæÑ›ä7IX¨9rÒ &Dp\Ó¥;<ügÔo�!@; XvÒY$›1@^\xýÜ¿wzrÁŒ¦GÑ»3½NSŒsdéŒÃ¶¼Ht@úîˆÿÉ‹‰ƒ’¿A�¦h�&o—²LúIx~ü8N*R”Í’ÿä…ÄÁÍ’_‡w�¯_F1 �0ÆÝQAJãO•ô1úéÝÄŽ¼¢Fó+ÿ õð鸫Ý�»³§à1’•´ ŒøS³h„>ÚT;V„bÊñ“V³ŸÄ»õXÀZn³¡à⺠Õ\Aé,÷úÈÓLnéãy°ÕYºÅ©€§¦4ˆ¶éx Ã’ÆVAÅ8±Òrƒ€¯Æ_Ñ-�)uÁˆ~�#T–ÞHv ¶-é<%°p™nÖ‰Û�8@Ë š�Ø4=ú ¤<4ÙM‹Õ5])ÀM0NÕõ@1À¶ÆGbº¨ò×P«d ’eCÓYâêÒe8�ã±e5‘ðLEö¢~�Ù<zó A¿xUbeeäÝOùæu쬘 (kX…6! ƒH°~¡é ƒdC0»ò��3Z‹�€ó‰%"ÿ«¥€ù)³¯æ:ÂÓ¶\R¦pšUÆñëû6ïyùØWB@\Ã3ƒ8\ðó1R¦ )>Š ÓŽ¼� yæ#íµëM�|àÆ¦¾ª[¯`z©˜E ó]   ï\˜Àö‰„°ßœC#QŒ@MhjlA›å±Ab€ðæGο:ÉkðIæÐx=Îå;Æxb`-ŠX!üB¾þîõ¿ëav�?@ç¾d¢çëÑ^2ÂßNŒÈU‚=k¹ÕA6Ea ks çÛS½4*úµ�ík €}‚+Â4B±ªVÍ�V?$± ëW‹ãÄL¯Hïî~P_äÁ,`7÷&Ä\�uÔA Êp*"7w(t�SúYáÝ‘³„=ðMÀjÉu Â@Ѹâmä~Þ=Ž¥áSüî†ÌÝSm^Æ]îÐ¿Š†£.(�¶$Úèôa ¿AdÂ8EQÖ P�-WÐô¨jÞ0ó5kýºÐù7|É‚·eçSð˜‡ñµF:RA30W£ºa &‘`íﯰ0³ �Tðl,—g§QÙ»­è(Çôæ!€Âåp=\ƒX�nG‡Î±„§£¶�K%ãÀ æ9ú¯€J»vßôë´F"Ubiv )íª€a÷ +ü˜ó2ýÂPã k`ûI¤—²iåÕh%b¨Âø’ÍþQ©L�HaMXQ2üÝà>v¶ok±PEÿL^ŽÂ@0àT Ú–O!@<>ô¬LkÚß a®L4é8?RE¯�ø€ËMcõªFV9)�\ÿ£7¿@÷nêÆÈ’)/WÁ[QsXÁÙQ`¤Yh†ÌàK2¿À'¬mɧ6/œû*yüÝñuY‰u—Rþ¼FJ³žg±Ó9†¤’›uV¼�§ŒY “ØBE/–�68@Ép•‚0MìvL܉Ä#©Ðm7 PlB¨±±¹|¾#)àð�oëxð#0ïlIç'Äa�4,Qk…ïuÜ�ž,R#îÂw$E*n"  ΨÐËxvã<˜db*°z¾×h»!ý“¢H$^¸i,™›Qð ’m(3n¬ñ:4Jˆù ¦úÚÆ9º5ν`Ý#*(ÅÍh�z;«èàQÕ›",ǯ¡™ [S!½vÜ`