PNG  IHDR!@ PLTE>O`jqv DtEXtPage
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[]uC$(W'E y*Q G2h7@5\ϥ  EeHS~,P^J^,&fvVP3^Rv\ PE0)9+[\rnϹCw@Vwws?/ޟV$̊ZX>p`FX8(`n nQ9oĊ<B ˦Ve:߆%7d?5dxa 4kDS,3Afd:o7p Ry( kyZ p~>'@9yK:A.pNPx>,̸_6q.x*>~[aq }ŢceP%Ծ ~(3M*NJ`lY3q}8AwWC~}PqY^~Y@Aif89Mg+R-o e<E3g+ɏxX⬝. { f%j4,h~lc/u(e(7^mX ž?Z_{hFBܽ1!"?j.!+ )h6ҺnjNoS9XT䶮NX%m(Sܴb7Pna6:&q'. _4f$j3xh<-ECE[q?L+-Rbb|IDM,Jy|]k(uX]x@c2ZUR0,+ "h.%`aӫvVL6śs/#P DPs'{Fё(U 5AUQ"7×x%$z)/َ8v;aw+ڢI`RSs1@93,CMytWe#&, FR4| HGƫu:|\ؕD܊D[fׇd$@G-n+RHǀU!޷,!!`0'؂mǣ% pl/%!p삍'k(!U3.',-~js-n{F]b1~Z,誧ZA"dzT_kvrx?`2['EUl˴MoIf<͊"ߝ%zFah%GȌvTݳ]Յe]uD :)q'Oʬn~|O>~ K]D>oh~I$2WS;'dIJ{JYhDvomh޸0цO Nujm%$E5-I@t˄85aDf[! /6dI:G&px{ 8$F0>H+F5 Ƈ)D#~A1bMnv2Qm@'l} È)FInHє4x(&c!7趭NLc<!T&BgBn( ߃DptB60rCî̠˥+{a< ݲ ?Ӷ|[(3#N`hOH=nc`( ծ R HCBae@5`R"Vb]hsXR8 @͈|=ce!C AAZL`ir06O2~8(yuA@S0 U{Z8'鿗N[& qNuܐZU8¨ V͆"4.{x뽚 FNZ0o` %qoI_>*s\0JhhvDuKTۢǰ\Ə֍`N(R)PL>s7#`G?uS7 P)hQ+pP"  f@`bQLyHL &~un bU@5O](vmX['1=zշ_BD0dO_e} O;,_(!BRɞ kP;ݟCj,/7xhy0,n=fli.jtz6,v>6y塀J)Xsנ!Npah=Z4|<ʥRiuݐ9szˑf,-_b-\X6 C(' ݼA*,H+z>Bc^a(H#D>U+ ?h7ZT܀nUX6G2[Wv/Gـ2Y̖߰K.wcR%x<{FKWH6ͧQlޤxx 70UybmzÎCk)05gEFDy6eޕrit %!Br$ zOgwRwG-0EMtv*J^uӄ x܊)kvh~ yU`˅nJz??KCO%opZE>k MJ')3";1yXO%f{Zjı.I-UX$2 (ufտt i՞/\)GW4?_}D&0W[qLCŘ_Vm>_.˦2hn%TE4M [ QGfaݜ ~k*H;w|>lD1bdi2q?ᓱ /Gh@R(i‹^-ʪWHƎ,oi e4G6nS;_9tDyMbtw& Z1,z7f1:.ҺuJ/l )nfzћrYʠϹėjPZgc[Wu~fhz3Rm/h0y?T9~@b`ABԃޫϯNf +*}GCrwK5ޫ:mg}@ ?GS1KL2B,7c $henv-f[0 _!MM ոwCbm}c#=dIn7m_ HT6^!?f"L%PdCV7|N\H5@b4H $D⍏WoYF/f Cj8ěpZ!1c}-S\(-2@vOm ^ފ nAG~N͢%%~]1-;͌=ji>=&nC,m@lbۜ^3? ts0w1lbz U.Hxvq a$Y3+˦`Z@qdL?KglE;@W-rkcFI8SBޑ8{GqV/.<*Kᡂ"[&n8S@bEFC(#)8PСR SK:<݅ ۂTY9;%^7;w0=WTwXT*=E9sbxBg5b^|6&tC?#Gq%&4kQН5[MQBlJKfm!"xzӕ..Q IX,d ~LՊ C!F;/}qwCOg|Gf/̨F4 D=h.pڡB [ܻ^Q 6 :"U^B:"z6m*bdedP7ZkìeM{T~7Qgރ#X"I bβʗbQ]{L4\T̫nHŗ"-ZX>&sXQk=3 fڏfE9")ڰ6!IG[QvdjNK p[Ȗ:Lq j$+sTiQހkXSH: XCP˜bj;HC9 uʯ!hoD{J|H6 Lm -S17`x+ He*βrHHT;w՜} n|xEK}(l|۵IENDB`